<?xml version="1.0" ?><namespace name="System" platform="Win32">
  <type name="Boolean" type="Boolean" file="System.pas" line="12"/>
  <type name="AnsiChar" type="Char" file="System.pas" line="12"/>
  <type name="Char" type="WideChar" file="System.pas" line="12"/>
  <type name="WideChar" type="WideChar" file="System.pas" line="12"/>
  <type name="ShortInt" type="shortint" loBound="-128" hiBound="127" file="System.pas" line="12"/>
  <type name="SmallInt" type="shortint" loBound="-32768" hiBound="32767" file="System.pas" line="12"/>
  <type name="Integer" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="Byte" type="byte" loBound="0" hiBound="255" file="System.pas" line="12"/>
  <type name="Word" type="word" loBound="0" hiBound="65535" file="System.pas" line="12"/>
  <type name="Cardinal" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <pointer name="Pointer" type="Pointer" indircnt="1" file="System.pas" line="12"/>
  <type name="LongInt" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="LongWord" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="Int64" type="Int64" file="System.pas" line="12"/>
  <type name="UInt64" type="Int64" file="System.pas" line="12"/>
  <type name="NativeInt" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="NativeUInt" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="Single" type="Float" file="System.pas" line="12"/>
  <type name="Real48" type="Real48" file="System.pas" line="12"/>
  <type name="Extended80" type="Extended" file="System.pas" line="12"/>
  <type name="Extended" type="Extended" file="System.pas" line="12"/>
  <type name="Double" type="Double" file="System.pas" line="12"/>
  <type name="Real" type="Double" file="System.pas" line="12"/>
  <type name="Comp" type="Comp" file="System.pas" line="12"/>
  <type name="Currency" type="Currency" file="System.pas" line="12"/>
  <type name="ShortString" type="ShortString"/>
  <type name="Openstring" type="ShortString"/>
  <pointer name="PAnsiChar" type="AnsiChar" indircnt="1" file="System.pas" line="12"/>
  <pointer name="PWideChar" type="Char" indircnt="1" file="System.pas" line="12"/>
  <pointer name="PChar" alias="System.PWideChar" type="Char" indircnt="1" file="System.pas" line="12"/>
  <type name="ByteBool" type="ByteBool" file="System.pas" line="12"/>
  <type name="WordBool" type="WordBool" file="System.pas" line="12"/>
  <type name="LongBool" type="LongBool" file="System.pas" line="12"/>
  <type name="string" type="UnicodeString" file="System.pas" line="12"/>
  <type name="UnicodeString" type="UnicodeString" file="System.pas" line="12"/>
  <type name="WideString" type="WideString" file="System.pas" line="12"/>
  <type name="AnsiString" type="AnsiString" file="System.pas" line="12"/>
  <type name="Variant" type="Variant"/>
  <type name="OleVariant" type="OLEVariant"/>
  <const name="False" type="Boolean" file="System.pas" line="12">
    <value>
      False
    </value>
  </const>
  <const name="True" type="Boolean" file="System.pas" line="12">
    <value>
      True
    </value>
  </const>
  <const name="MaxInt" type="Integer" file="System.pas" line="12">
    <value>
      $7FFFFFFF
    </value>
  </const>
  <const name="MaxLongInt" type="Integer" file="System.pas" line="12">
    <value>
      $7FFFFFFF
    </value>
  </const>
  <const name="CompilerVersion" type="Extended" file="System.pas" line="12">
    <value>
      35
    </value>
  </const>
  <function name="Abs" stdprocHint="X: &lt;Real Int64 or Integer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Real"/>
      <retval type="Real"/>
    </parameters>
  </function>
  <function name="Abs" stdprocHint="X: &lt;Real Int64 or Integer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="Abs" stdprocHint="X: &lt;Real Int64 or Integer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Addr" stdprocHint="var X" visibility="public">
    <parameters>
      <parameter name="X" paramflags="var"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="Append" stdprocHint="var F: Text" visibility="public">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Assign" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Assign" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Assign" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <parameter name="CodePage" type="Word"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Assigned" stdprocHint="var P" visibility="public">
    <parameters>
      <parameter name="P" paramflags="var"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="BlockRead" stdprocHint="var F: File; var Buf; Count: Integer; [var Result: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="Buf" paramflags="var"/>
      <parameter name="Count" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="BlockRead" stdprocHint="var F: File; var Buf; Count: Integer; [var Result: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="Buf" paramflags="var"/>
      <parameter name="Count" type="Integer"/>
      <parameter name="Result" type="Integer" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="BlockWrite" stdprocHint="var F: File; const Buf; Count: Integer; [var Result: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="Buf" paramflags="const"/>
      <parameter name="Count" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="BlockWrite" stdprocHint="var F: File; const Buf; Count: Integer; [var Result: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="Buf" paramflags="const"/>
      <parameter name="Count" type="Integer"/>
      <parameter name="Result" type="Integer" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Break" visibility="public" file="System.pas" line="12">
  </procedure>
  <function name="Chr" stdprocHint="X: Byte" visibility="public">
    <parameters>
      <parameter name="X" type="Byte"/>
      <retval type="Char"/>
    </parameters>
  </function>
  <function name="Close" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Concat" stdprocHint="S1: &lt;string or dynamic array&gt;; S2: &lt;string or dynamic array&gt;; [ ..., SN: &lt;string or dynamic array&gt;]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="S1" type="string"/>
      <parameter name="S2" type="string"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="Continue" visibility="public" file="System.pas" line="12">
  </procedure>
  <function name="Dec" stdprocHint="var X: Ordinal; [ N: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Dec" stdprocHint="var X: Ordinal; [ N: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer" paramflags="var"/>
      <parameter name="N" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Dispose" stdprocHint="var P: Pointer" visibility="public">
    <parameters>
      <parameter name="P" type="Pointer" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Eof" stdprocHint="[var F: File]" visibility="public" procflags="overload">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Eof" stdprocHint="[var F: File]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Eoln" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Eoln" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="Erase" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Exclude" stdprocHint="var S: Set; I: Ordinal" visibility="public">
    <parameters>
      <parameter name="S" paramflags="var"/>
      <parameter name="I" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="Exit" visibility="public" file="System.pas" line="12">
  </procedure>
  <procedure name="Fail" visibility="public" file="System.pas" line="12">
  </procedure>
  <function name="FilePos" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="FileSize" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="FillChar" stdprocHint="var X; Count: Integer; Value: Ordinal" visibility="public">
    <parameters>
      <parameter name="X" paramflags="var"/>
      <parameter name="Count" type="NativeInt"/>
      <parameter name="Value" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="FreeMem" stdprocHint="var P: Pointer; [ Size: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="P" type="Pointer" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="FreeMem" stdprocHint="var P: Pointer; [ Size: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="P" type="Pointer" paramflags="var"/>
      <parameter name="Size" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="GetMem" stdprocHint="var P: Pointer; Size: Integer" visibility="public">
    <parameters>
      <parameter name="P" type="Pointer" paramflags="var"/>
      <parameter name="Size" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="Halt" stdprocHint="[ExitCode: Integer]" visibility="public" procflags="overload">
  </procedure>
  <procedure name="Halt" stdprocHint="[ExitCode: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="ExitCode" type="Integer"/>
    </parameters>
  </procedure>
  <function name="Hi" stdprocHint="X: Integer" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Byte"/>
    </parameters>
  </function>
  <function name="High" stdprocHint="var X" visibility="public">
    <parameters>
      <parameter name="X" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Inc" stdprocHint="var X: Ordinal; [ N: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Inc" stdprocHint="var X: Ordinal; [ N: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer" paramflags="var"/>
      <parameter name="N" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="Include" stdprocHint="var S: Set; I: Ordinal" visibility="public">
    <parameters>
      <parameter name="S" paramflags="var"/>
      <parameter name="I" type="Integer"/>
    </parameters>
  </procedure>
  <function name="Length" stdprocHint="S: &lt;string or dynamic array&gt;" visibility="public">
    <parameters>
      <parameter name="S" type="string"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Lo" stdprocHint="X: Integer" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Byte"/>
    </parameters>
  </function>
  <function name="Low" stdprocHint="var X" visibility="public">
    <parameters>
      <parameter name="X" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="New" stdprocHint="var X: Pointer" visibility="public">
    <parameters>
      <parameter name="X" type="Pointer" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Odd" stdprocHint="X: Integer" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="Ord" stdprocHint="X: Ordinal" visibility="public">
    <parameters>
      <parameter name="X" type="Char"/>
      <retval type="Byte"/>
    </parameters>
  </function>
  <function name="Pi" visibility="public" file="System.pas" line="12">
    <parameters>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Pred" stdprocHint="X: Ordinal" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Ptr" stdprocHint="Address: Integer" visibility="public">
    <parameters>
      <parameter name="Address" type="Integer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <procedure name="Read" stdprocHint="var F: File; V1; [ ..., VN]" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="V1" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="Readln" stdprocHint="var F: File; [ ..., VN]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Readln" stdprocHint="var F: File; [ ..., VN]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="V1" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="Rename" stdprocHint="var F: File; Newname: String" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="Newname" type="string"/>
    </parameters>
  </procedure>
  <procedure name="Reset" stdprocHint="var F: File; [ RecSize: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Reset" stdprocHint="var F: File; [ RecSize: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="RecSize" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="Rewrite" stdprocHint="var F: File; [ RecSize: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Rewrite" stdprocHint="var F: File; [ RecSize: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="RecSize" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="RunError" stdprocHint="[ErrorCode: Byte]" visibility="public" procflags="overload">
  </procedure>
  <procedure name="RunError" stdprocHint="[ErrorCode: Byte]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="ErrorCode" type="Byte"/>
    </parameters>
  </procedure>
  <procedure name="Seek" stdprocHint="var F: File; N: Integer" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="N" type="Integer"/>
    </parameters>
  </procedure>
  <function name="SeekEof" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="SeekEof" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="SeekEoln" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="SeekEoln" stdprocHint="[var F: Text]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="SetTextBuf" stdprocHint="var F: Text; var Buf; [ Size: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="Buf" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="SetTextBuf" stdprocHint="var F: Text; var Buf; [ Size: Integer]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="Buf" paramflags="var"/>
      <parameter name="Size" type="Integer"/>
    </parameters>
  </procedure>
  <function name="SizeOf" stdprocHint="var X" visibility="public">
    <parameters>
      <parameter name="X" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Sqr" stdprocHint="X: &lt;Real Int64 or Integer&gt; " visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Real"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Sqr" stdprocHint="X: &lt;Real Int64 or Integer&gt; " visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="Sqr" stdprocHint="X: &lt;Real Int64 or Integer&gt; " visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Succ" stdprocHint="X: Ordinal" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Str" stdprocHint="const X [: Width [:Decimals]]; var S: String" visibility="public">
    <parameters>
      <parameter name="X" paramflags="const"/>
      <parameter name="S" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Swap" stdprocHint="X: Integer" visibility="public">
    <parameters>
      <parameter name="X" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Truncate" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="TypeHandle" stdprocHint="T: TypeIdentifier" visibility="public">
    <parameters>
      <parameter name="T" paramflags="const"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="TypeInfo" stdprocHint="T: TypeIdentifier" visibility="public">
    <parameters>
      <parameter name="T" paramflags="const"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="TypeOf" stdprocHint="X: object" visibility="public">
    <parameters>
      <parameter name="T" paramflags="const"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <procedure name="Val" stdprocHint="S: String; var V; var Code: Integer" visibility="public">
    <parameters>
      <parameter name="S" type="string"/>
      <parameter name="V" paramflags="var"/>
      <parameter name="Code" type="Integer" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Write" stdprocHint="[var F: File]; P1; [ ..., PN]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="P1" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="Write" stdprocHint="[var F: File]; P1; [ ..., PN]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="P1" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="Writeln" stdprocHint="[var F: File]; [ P1; [ ..., PN] ]" visibility="public" procflags="overload">
  </procedure>
  <procedure name="Writeln" stdprocHint="[var F: File]; [ P1; [ ..., PN] ]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Writeln" stdprocHint="[var F: File]; [ P1; [ ..., PN] ]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="P1" type="Pointer"/>
    </parameters>
  </procedure>
  <function name="Round" stdprocHint="X: Real" visibility="public">
    <parameters>
      <parameter name="X" type="Real"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="Trunc" stdprocHint="X: Real" visibility="public">
    <parameters>
      <parameter name="X" type="Real"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="Copy" stdprocHint="S: &lt;string or dynamic array&gt;; Index: Integer; Count: Integer" visibility="public">
    <parameters>
      <parameter name="S" type="string"/>
      <parameter name="Index" type="Integer"/>
      <parameter name="Count" type="Integer"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="Delete" stdprocHint="var S: &lt;string or dynamic array&gt;; Index: Integer; Count: Integer" visibility="public">
    <parameters>
      <parameter name="S" type="string" paramflags="var"/>
      <parameter name="Index" type="Integer"/>
      <parameter name="Count" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="Insert" stdprocHint="Source: &lt;string or dynamic array&gt;; var Dest: &lt;string or dynamic array&gt;; Index: Integer" visibility="public">
    <parameters>
      <parameter name="Substr" type="string"/>
      <parameter name="Dest" type="string" paramflags="var"/>
      <parameter name="Index" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="SetLength" stdprocHint="var S: &lt;string or dynamic array&gt;; NewLength: Integer" visibility="public">
    <parameters>
      <parameter name="S" type="string" paramflags="var"/>
      <parameter name="NewLength" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="Initialize" stdprocHint="var V; [ Count: NativeUInt]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="V" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Initialize" stdprocHint="var V; [ Count: NativeUInt]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="V" paramflags="var"/>
      <parameter name="Count" type="NativeUInt"/>
    </parameters>
  </procedure>
  <procedure name="Finalize" stdprocHint="var V; [ Count: NativeUInt]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="V" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="Finalize" stdprocHint="var V; [ Count: NativeUInt]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="V" paramflags="var"/>
      <parameter name="Count" type="NativeUInt"/>
    </parameters>
  </procedure>
  <procedure name="ReallocMem" stdprocHint="var P: Pointer; Size: Integer" visibility="public">
    <parameters>
      <parameter name="P" type="Pointer" paramflags="var"/>
      <parameter name="Size" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="SetString" stdprocHint="var S: String; Buffer: PChar; Length: Integer" visibility="public">
    <parameters>
      <parameter name="S" type="string" paramflags="var"/>
      <parameter name="Buffer" type="PWideChar"/>
      <parameter name="Length" type="Integer"/>
    </parameters>
  </procedure>
  <function name="AssignFile" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AssignFile" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AssignFile" stdprocHint="var F: File; FileName: String; [CodePage: Word]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="F" type="Text" paramflags="var"/>
      <parameter name="FileName" type="string"/>
      <parameter name="CodePage" type="Word"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="CloseFile" stdprocHint="var F: File" visibility="public">
    <parameters>
      <parameter name="F" type="file" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="GetDir" stdprocHint="Drive: Byte; var S: String" visibility="public">
    <parameters>
      <parameter name="Drive" type="Byte"/>
      <parameter name="S" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Slice" stdprocHint="var A: array; Count: Integer" visibility="public">
    <parameters>
      <parameter name="A" paramflags="var"/>
      <parameter name="Count" type="Integer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <procedure name="Assert" stdprocHint="Condition: Boolean; [ Message: String ]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Condition" type="Boolean"/>
    </parameters>
  </procedure>
  <procedure name="Assert" stdprocHint="Condition: Boolean; [ Message: String ]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Condition" type="Boolean"/>
      <parameter name="Message" type="string"/>
    </parameters>
  </procedure>
  <procedure name="VarClear" stdprocHint="var V: Variant" visibility="public">
    <parameters>
      <parameter name="V" type="Variant" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="VarCopy" stdprocHint="var Dest: Variant; Source: Variant" visibility="public">
    <parameters>
      <parameter name="Dest" type="Variant" paramflags="var"/>
      <parameter name="Source" type="Variant"/>
    </parameters>
  </procedure>
  <procedure name="VarCast" stdprocHint="var Dest: Variant; Source: Variant; VarType: Integer" visibility="public">
    <parameters>
      <parameter name="Dest" type="Variant" paramflags="var"/>
      <parameter name="Source" type="Variant"/>
      <parameter name="VarType" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="VarArrayRedim" stdprocHint="var A: Variant; HighBound: Integer" visibility="public">
    <parameters>
      <parameter name="A" type="Variant" paramflags="var"/>
      <parameter name="HighBound" type="Integer"/>
    </parameters>
  </procedure>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Integer" paramflags="var"/>
      <parameter name="NewValue" type="Integer"/>
      <parameter name="Comparand" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Int64" paramflags="var"/>
      <parameter name="NewValue" type="Int64"/>
      <parameter name="Comparand" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Pointer" paramflags="var"/>
      <parameter name="NewValue" type="Pointer"/>
      <parameter name="Comparand" type="Pointer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="NativeInt" paramflags="var"/>
      <parameter name="NewValue" type="NativeInt"/>
      <parameter name="Comparand" type="NativeInt"/>
      <retval type="NativeInt"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Integer" paramflags="var"/>
      <parameter name="NewValue" type="Integer"/>
      <parameter name="Comparand" type="Integer"/>
      <parameter name="Succeeded" type="Boolean" paramflags="out"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Int64" paramflags="var"/>
      <parameter name="NewValue" type="Int64"/>
      <parameter name="Comparand" type="Int64"/>
      <parameter name="Succeeded" type="Boolean" paramflags="out"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Pointer" paramflags="var"/>
      <parameter name="NewValue" type="Pointer"/>
      <parameter name="Comparand" type="Pointer"/>
      <parameter name="Succeeded" type="Boolean" paramflags="out"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="AtomicCmpExchange" stdprocHint="var Target; NewValue: &lt;Integer or NativeInt or Pointer&gt;; Comparand: &lt;Integer or NativeInt or Pointer&gt;; [out Succeeded: Boolean]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="NativeInt" paramflags="var"/>
      <parameter name="NewValue" type="NativeInt"/>
      <parameter name="Comparand" type="NativeInt"/>
      <parameter name="Succeeded" type="Boolean" paramflags="out"/>
      <retval type="NativeInt"/>
    </parameters>
  </function>
  <function name="AtomicExchange" stdprocHint="var Target; Value: &lt;Integer or NativeInt or Pointer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Integer" paramflags="var"/>
      <parameter name="Value" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AtomicExchange" stdprocHint="var Target; Value: &lt;Integer or NativeInt or Pointer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Int64" paramflags="var"/>
      <parameter name="Value" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="AtomicExchange" stdprocHint="var Target; Value: &lt;Integer or NativeInt or Pointer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Pointer" paramflags="var"/>
      <parameter name="Value" type="Pointer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="AtomicExchange" stdprocHint="var Target; Value: &lt;Integer or NativeInt or Pointer&gt;" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="NativeInt" paramflags="var"/>
      <parameter name="Value" type="NativeInt"/>
      <retval type="NativeInt"/>
    </parameters>
  </function>
  <function name="AtomicIncrement" stdprocHint="var Target; [Increment]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Integer" paramflags="var"/>
      <parameter name="Increment" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AtomicIncrement" stdprocHint="var Target; [Increment]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Int64" paramflags="var"/>
      <parameter name="Increment" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="AtomicDecrement" stdprocHint="var Target; [Decrement]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Integer" paramflags="var"/>
      <parameter name="Decrement" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="AtomicDecrement" stdprocHint="var Target; [Decrement]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Target" type="Int64" paramflags="var"/>
      <parameter name="Decrement" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="MulDivInt64" stdprocHint="AValue, AMul, ADiv: Int64; [out Remainder: Int64]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="AValue" type="Int64"/>
      <parameter name="AMul" type="Int64"/>
      <parameter name="ADiv" type="Int64"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="MulDivInt64" stdprocHint="AValue, AMul, ADiv: Int64; [out Remainder: Int64]" visibility="public" procflags="overload">
    <parameters>
      <parameter name="AValue" type="Int64"/>
      <parameter name="AMul" type="Int64"/>
      <parameter name="ADiv" type="Int64"/>
      <parameter name="Remainder" type="Int64" paramflags="out"/>
      <retval type="Int64"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan2" stdprocHint="Y, X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Y" type="Extended"/>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan2" stdprocHint="Y, X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Y" type="Double"/>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInArcTan2" stdprocHint="Y, X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="Y" type="Single"/>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInCos" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInCos" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInCos" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInLn" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInLn" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInLn" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInLnXPlus1" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInLnXPlus1" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInLnXPlus1" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInLog10" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInLog10" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInLog10" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInLog2" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInLog2" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInLog2" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInSin" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInSin" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInSin" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInSqrt" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInSqrt" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInSqrt" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <function name="BuiltInTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Extended"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="BuiltInTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Double"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <function name="BuiltInTan" stdprocHint="X: Real" visibility="public" procflags="overload">
    <parameters>
      <parameter name="X" type="Single"/>
      <retval type="Single"/>
    </parameters>
  </function>
  <const name="RTLVersion" type="Comp" file="System.pas" line="185">
    <devnotes>
      EXTERNALLINKER
      PC_MAPPED_EXCEPTIONS
      ARITH_PUREPASCAL
      ASSEMBLER
      ARITH_PUREPASCAL
    </devnotes>
    <value>
      35
    </value>
  </const>
  <const name="RTLVersion111" type="Boolean" file="System.pas" line="186">
    <value>
      True
    </value>
  </const>
  <const name="RTLVersion112" type="Boolean" file="System.pas" line="187">
    <value>
      True
    </value>
  </const>
  <type name="CppLongInt" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="352"/>
  <type name="CppULongInt" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="353"/>
  <type name="FixedInt" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="FixedUInt" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <pointer name="PFixedInt" type="Integer" indircnt="1" file="System.pas" line="362"/>
  <pointer name="PFixedUInt" type="Cardinal" indircnt="1" file="System.pas" line="363"/>
  <type name="Int8" type="shortint" loBound="-128" hiBound="127" file="System.pas" line="12"/>
  <type name="Int16" type="shortint" loBound="-32768" hiBound="32767" file="System.pas" line="12"/>
  <type name="Int32" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="IntPtr" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <type name="UInt8" type="byte" loBound="0" hiBound="255" file="System.pas" line="12"/>
  <type name="UInt16" type="word" loBound="0" hiBound="65535" file="System.pas" line="12"/>
  <type name="UInt32" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="UIntPtr" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="Float32" type="Float" file="System.pas" line="12"/>
  <type name="Float64" type="Double" file="System.pas" line="12"/>
  <type name="UTF8Char" type="Char" file="System.pas" line="12"/>
  <pointer name="PUTF8Char" alias="System.PAnsiChar" type="AnsiChar" indircnt="1" file="System.pas" line="12"/>
  <pointer name="MarshaledString" alias="System.PWideChar" type="Char" indircnt="1" file="System.pas" line="12"/>
  <pointer name="MarshaledAString" alias="System.PAnsiChar" type="AnsiChar" indircnt="1" file="System.pas" line="12"/>
  <const name="varEmpty" type="Integer" file="System.pas" line="427">
    <value>
      $0
    </value>
  </const>
  <const name="varNull" type="Integer" file="System.pas" line="428">
    <value>
      $1
    </value>
  </const>
  <const name="varSmallint" type="Integer" file="System.pas" line="429">
    <value>
      $2
    </value>
  </const>
  <const name="varInteger" type="Integer" file="System.pas" line="430">
    <value>
      $3
    </value>
  </const>
  <const name="varSingle" type="Integer" file="System.pas" line="431">
    <value>
      $4
    </value>
  </const>
  <const name="varDouble" type="Integer" file="System.pas" line="432">
    <value>
      $5
    </value>
  </const>
  <const name="varCurrency" type="Integer" file="System.pas" line="433">
    <value>
      $6
    </value>
  </const>
  <const name="varDate" type="Integer" file="System.pas" line="434">
    <value>
      $7
    </value>
  </const>
  <const name="varOleStr" type="Integer" file="System.pas" line="435">
    <value>
      $8
    </value>
  </const>
  <const name="varDispatch" type="Integer" file="System.pas" line="436">
    <value>
      $9
    </value>
  </const>
  <const name="varError" type="Integer" file="System.pas" line="437">
    <value>
      $A
    </value>
  </const>
  <const name="varBoolean" type="Integer" file="System.pas" line="438">
    <value>
      $B
    </value>
  </const>
  <const name="varVariant" type="Integer" file="System.pas" line="439">
    <value>
      $C
    </value>
  </const>
  <const name="varUnknown" type="Integer" file="System.pas" line="440">
    <value>
      $D
    </value>
  </const>
  <const name="varShortInt" type="Integer" file="System.pas" line="443">
    <value>
      $10
    </value>
  </const>
  <const name="varByte" type="Integer" file="System.pas" line="444">
    <value>
      $11
    </value>
  </const>
  <const name="varWord" type="Integer" file="System.pas" line="445">
    <value>
      $12
    </value>
  </const>
  <const name="varLongWord" type="Integer" file="System.pas" line="446">
    <value>
      $13
    </value>
  </const>
  <const name="varUInt32" type="Integer" file="System.pas" line="447">
    <value>
      $13
    </value>
  </const>
  <const name="varInt64" type="Integer" file="System.pas" line="448">
    <value>
      $14
    </value>
  </const>
  <const name="varUInt64" type="Integer" file="System.pas" line="449">
    <value>
      $15
    </value>
  </const>
  <const name="varRecord" type="Integer" file="System.pas" line="450">
    <value>
      $24
    </value>
  </const>
  <const name="varStrArg" type="Integer" file="System.pas" line="453">
    <value>
      $48
    </value>
  </const>
  <const name="varObject" type="Integer" file="System.pas" line="454">
    <value>
      $49
    </value>
  </const>
  <const name="varUStrArg" type="Integer" file="System.pas" line="455">
    <value>
      $4A
    </value>
  </const>
  <const name="varString" type="Integer" file="System.pas" line="456">
    <value>
      $100
    </value>
  </const>
  <const name="varAny" type="Integer" file="System.pas" line="457">
    <value>
      $101
    </value>
  </const>
  <const name="varUString" type="Integer" file="System.pas" line="458">
    <value>
      $102
    </value>
  </const>
  <const name="varTypeMask" type="Integer" file="System.pas" line="461">
    <value>
      $FFF
    </value>
  </const>
  <const name="varArray" type="Integer" file="System.pas" line="462">
    <value>
      $2000
    </value>
  </const>
  <const name="varByRef" type="Integer" file="System.pas" line="463">
    <value>
      $4000
    </value>
  </const>
  <const name="vtInteger" type="Integer" file="System.pas" line="467">
    <value>
      $0
    </value>
  </const>
  <const name="vtBoolean" type="Integer" file="System.pas" line="468">
    <value>
      $1
    </value>
  </const>
  <const name="vtChar" type="Integer" file="System.pas" line="469">
    <value>
      $2
    </value>
  </const>
  <const name="vtExtended" type="Integer" file="System.pas" line="470">
    <value>
      $3
    </value>
  </const>
  <const name="vtString" type="Integer" file="System.pas" line="471">
    <value>
      $4
    </value>
  </const>
  <const name="vtPointer" type="Integer" file="System.pas" line="472">
    <value>
      $5
    </value>
  </const>
  <const name="vtPChar" type="Integer" file="System.pas" line="473">
    <value>
      $6
    </value>
  </const>
  <const name="vtObject" type="Integer" file="System.pas" line="474">
    <value>
      $7
    </value>
  </const>
  <const name="vtClass" type="Integer" file="System.pas" line="475">
    <value>
      $8
    </value>
  </const>
  <const name="vtWideChar" type="Integer" file="System.pas" line="476">
    <value>
      $9
    </value>
  </const>
  <const name="vtPWideChar" type="Integer" file="System.pas" line="477">
    <value>
      $A
    </value>
  </const>
  <const name="vtAnsiString" type="Integer" file="System.pas" line="478">
    <value>
      $B
    </value>
  </const>
  <const name="vtCurrency" type="Integer" file="System.pas" line="479">
    <value>
      $C
    </value>
  </const>
  <const name="vtVariant" type="Integer" file="System.pas" line="480">
    <value>
      $D
    </value>
  </const>
  <const name="vtInterface" type="Integer" file="System.pas" line="481">
    <value>
      $E
    </value>
  </const>
  <const name="vtWideString" type="Integer" file="System.pas" line="482">
    <value>
      $F
    </value>
  </const>
  <const name="vtInt64" type="Integer" file="System.pas" line="483">
    <value>
      $10
    </value>
  </const>
  <const name="vtUnicodeString" type="Integer" file="System.pas" line="484">
    <value>
      $11
    </value>
  </const>
  <const name="vmtArcOffset" type="Integer" file="System.pas" line="489">
    <value>
      $0
    </value>
  </const>
  <const name="CPP_ABI_ADJUST" type="Integer" file="System.pas" line="495">
    <devnotes>
      CPP_ABI_SUPPORT
    </devnotes>
    <value>
      $0
    </value>
  </const>
  <const name="vmtSelfPtr" type="ShortInt" file="System.pas" line="531">
    <devnotes>
      CPP_ABI_SUPPORT
      CPU64BITS
    </devnotes>
    <value>
      $FFFFFFA8
    </value>
  </const>
  <const name="vmtIntfTable" type="ShortInt" file="System.pas" line="532">
    <value>
      $FFFFFFAC
    </value>
  </const>
  <const name="vmtAutoTable" type="ShortInt" file="System.pas" line="533">
    <value>
      $FFFFFFB0
    </value>
  </const>
  <const name="vmtInitTable" type="ShortInt" file="System.pas" line="534">
    <value>
      $FFFFFFB4
    </value>
  </const>
  <const name="vmtTypeInfo" type="ShortInt" file="System.pas" line="535">
    <value>
      $FFFFFFB8
    </value>
  </const>
  <const name="vmtFieldTable" type="ShortInt" file="System.pas" line="536">
    <value>
      $FFFFFFBC
    </value>
  </const>
  <const name="vmtMethodTable" type="ShortInt" file="System.pas" line="537">
    <value>
      $FFFFFFC0
    </value>
  </const>
  <const name="vmtDynamicTable" type="ShortInt" file="System.pas" line="538">
    <value>
      $FFFFFFC4
    </value>
  </const>
  <const name="vmtClassName" type="ShortInt" file="System.pas" line="539">
    <value>
      $FFFFFFC8
    </value>
  </const>
  <const name="vmtInstanceSize" type="ShortInt" file="System.pas" line="540">
    <value>
      $FFFFFFCC
    </value>
  </const>
  <const name="vmtParent" type="ShortInt" file="System.pas" line="541">
    <value>
      $FFFFFFD0
    </value>
  </const>
  <const name="vmtEquals" type="ShortInt" file="System.pas" line="546" symflags="deprecated">
    <value>
      $FFFFFFD4
    </value>
  </const>
  <const name="vmtGetHashCode" type="ShortInt" file="System.pas" line="547" symflags="deprecated">
    <value>
      $FFFFFFD8
    </value>
  </const>
  <const name="vmtToString" type="ShortInt" file="System.pas" line="548" symflags="deprecated">
    <value>
      $FFFFFFDC
    </value>
  </const>
  <const name="vmtSafeCallException" type="ShortInt" file="System.pas" line="549" symflags="deprecated">
    <value>
      $FFFFFFE0
    </value>
  </const>
  <const name="vmtAfterConstruction" type="ShortInt" file="System.pas" line="550" symflags="deprecated">
    <value>
      $FFFFFFE4
    </value>
  </const>
  <const name="vmtBeforeDestruction" type="ShortInt" file="System.pas" line="551" symflags="deprecated">
    <value>
      $FFFFFFE8
    </value>
  </const>
  <const name="vmtDispatch" type="ShortInt" file="System.pas" line="552" symflags="deprecated">
    <value>
      $FFFFFFEC
    </value>
  </const>
  <const name="vmtDefaultHandler" type="ShortInt" file="System.pas" line="553" symflags="deprecated">
    <value>
      $FFFFFFF0
    </value>
  </const>
  <const name="vmtNewInstance" type="ShortInt" file="System.pas" line="554" symflags="deprecated">
    <value>
      $FFFFFFF4
    </value>
  </const>
  <const name="vmtFreeInstance" type="ShortInt" file="System.pas" line="555" symflags="deprecated">
    <value>
      $FFFFFFF8
    </value>
  </const>
  <const name="vmtDestroy" type="ShortInt" file="System.pas" line="556" symflags="deprecated">
    <value>
      $FFFFFFFC
    </value>
  </const>
  <const name="vmtQueryInterface" type="Integer" file="System.pas" line="558" symflags="deprecated">
    <value>
      $0
    </value>
  </const>
  <const name="vmtAddRef" type="Integer" file="System.pas" line="559" symflags="deprecated">
    <value>
      $4
    </value>
  </const>
  <const name="vmtRelease" type="Integer" file="System.pas" line="560" symflags="deprecated">
    <value>
      $8
    </value>
  </const>
  <const name="vmtCreateObject" type="Integer" file="System.pas" line="561" symflags="deprecated">
    <value>
      $C
    </value>
  </const>
  <const name="hfFieldSize" type="Integer" file="System.pas" line="565">
    <devnotes>
      CPU64BITS
    </devnotes>
    <value>
      $4
    </value>
  </const>
  <const name="hfMonitorOffset" type="Integer" file="System.pas" line="566">
    <value>
      $0
    </value>
  </const>
  <const name="vcPrivate" type=":1" file="System.pas" line="570">
    <value>
      vcPrivate
    </value>
  </const>
  <const name="vcProtected" type=":1" file="System.pas" line="570">
    <value>
      vcProtected
    </value>
  </const>
  <const name="vcPublic" type=":1" file="System.pas" line="570">
    <value>
      vcPublic
    </value>
  </const>
  <const name="vcPublished" type=":1" file="System.pas" line="570">
    <value>
      vcPublished
    </value>
  </const>
  <set name="TVisibilityClasses" file="System.pas" line="570">
    <element name="vcPrivate"/>
    <element name="vcProtected"/>
    <element name="vcPublic"/>
    <element name="vcPublished"/>
  </set>
  <const name="DefaultMethodRttiVisibility" type="Set" file="System.pas" line="575">
    <value>
      [vcPublic..vcPublished]
    </value>
  </const>
  <const name="DefaultFieldRttiVisibility" type="Set" file="System.pas" line="576">
    <value>
      [vcPrivate..vcPublished]
    </value>
  </const>
  <const name="DefaultPropertyRttiVisibility" type="Set" file="System.pas" line="577">
    <value>
      [vcPublic..vcPublished]
    </value>
  </const>
  <array name="TArray`1" file="System.pas" line="589">
    <element type="T"/>
  </array>
  <classref name="TClass" ref="TObject" file="System.pas" line="598"/>
  <type name="HRESULT" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="610"/>
  <pointer name="PGUID" type="TGUID" indircnt="1" file="System.pas" line="614"/>
  <struct name="TGUID" size="16" file="System.pas" line="615">
    <field name="D1" type="Cardinal" visibility="public" size="4" offset="0" file="System.pas" line="616"/>
    <field name="D2" type="Word" visibility="public" size="2" offset="4" file="System.pas" line="617"/>
    <field name="D3" type="Word" visibility="public" size="2" offset="6" file="System.pas" line="618"/>
    <field name="D4" visibility="public" size="8" offset="8" file="System.pas" line="619">
      <array name="D4" visibility="public" low="0" high="7" file="System.pas" line="619">
        <element type="Byte"/>
      </array>
    </field>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload" file="System.pas" line="620" generated="true">
      <parameters>
        <parameter name="Left" type="TGUID" paramflags="const"/>
        <parameter name="Right" type="TGUID" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="621" generated="true">
      <parameters>
        <parameter name="Left" type="TGUID" paramflags="const"/>
        <parameter name="Right" type="TGUID" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Empty" visibility="public" procflags="static" file="System.pas" line="622">
      <parameters>
        <retval type="TGUID"/>
      </parameters>
    </function>
    <function name="Create" visibility="public" procflags="static overload" file="System.pas" line="623">
      <devnotes>
        CPU64BITS
      </devnotes>
      <parameters>
        <parameter name="Data" paramflags="const"/>
        <parameter name="BigEndian" type="Boolean">
          <value>
            False
          </value>
        </parameter>
        <retval type="TGUID"/>
      </parameters>
    </function>
    <function name="Create" visibility="public" procflags="static overload" file="System.pas" line="624">
      <parameters>
        <parameter name="Data" paramflags="const">
          <array name="Data" file="System.pas" line="8627">
            <element type="Byte"/>
          </array>
        </parameter>
        <parameter name="AStartIndex" type="Cardinal"/>
        <parameter name="BigEndian" type="Boolean">
          <value>
            False
          </value>
        </parameter>
        <retval type="TGUID"/>
      </parameters>
    </function>
    <function name="IsEmpty" visibility="public" file="System.pas" line="625">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
  </struct>
  <pointer name="PInterfaceEntry" type="TInterfaceEntry" indircnt="1" file="System.pas" line="632"/>
  <struct name="TInterfaceEntry" size="28" packed="true" file="System.pas" line="633">
    <field name="IID" type="TGUID" visibility="public" size="16" offset="0" file="System.pas" line="634"/>
    <field name="VTable" type="Pointer" visibility="public" size="4" offset="16" file="System.pas" line="635"/>
    <field name="IOffset" type="Integer" visibility="public" size="4" offset="20" file="System.pas" line="636"/>
    <field name="ImplGetter" type="NativeUInt" visibility="public" size="4" offset="24" file="System.pas" line="640"/>
  </struct>
  <pointer name="PInterfaceTable" type="TInterfaceTable" indircnt="1" file="System.pas" line="643"/>
  <struct name="TInterfaceTable" size="280004" packed="true" file="System.pas" line="644">
    <field name="EntryCount" type="Integer" visibility="public" size="4" offset="0" file="System.pas" line="645"/>
    <field name="Entries" visibility="public" size="280000" offset="4" file="System.pas" line="649">
      <array name="Entries" visibility="public" low="0" high="9999" file="System.pas" line="649">
        <element type="TInterfaceEntry"/>
      </array>
    </field>
  </struct>
  <pointer name="PMethod" type="TMethod" indircnt="1" file="System.pas" line="653"/>
  <struct name="TMethod" size="8" file="System.pas" line="654">
    <field name="Code" type="Pointer" visibility="public" size="4" offset="0" file="System.pas" line="655"/>
    <field name="Data" type="Pointer" visibility="public" size="4" offset="4" file="System.pas" line="655"/>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="657" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="658" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator GreaterThan" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="659" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator GreaterThanOrEqual" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="660" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator LessThan" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="661" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator LessThanOrEqual" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="662" generated="true">
      <parameters>
        <parameter name="Left" type="TMethod" paramflags="const"/>
        <parameter name="Right" type="TMethod" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
  </struct>
  <struct name="TDispatchMessage" size="2" file="System.pas" line="670">
    <field name="MsgID" type="Word" visibility="public" size="2" offset="0" file="System.pas" line="671"/>
  </struct>
  <class name="TObject" file="System.pas" line="674">
    
  <devnotes><summary>
TObject is the ultimate ancestor of all objects and components.
TObject encapsulates fundamental behavior common to objects by introducing methods that:

Create, maintain, and destroy instances of the object by allocating, initializing, and freeing required memory.
Respond when object instances are created or destroyed.
Return class-type and instance information on an object and runtime type information (RTTI) about its published properties.
Support message handling.
Support interfaces implemented by the object.
Use TObject as an immediate base class when declaring simple objects that do not need to persist (are not saved and reloaded) and that do not need to be assigned to other objects. 
Much of the capability of objects is established by methods that TObject introduces. Many of these methods are used internally by IDEs and are not intended for users to call directly. Others are overridden in descendant objects that have more complex behavior. 
Although TObject is the based object of a component framework, not all objects are components. All component classes descend from TComponent. 

Note: TObject is never directly instantiated. Although it does not use programming language features that prevent instantiation, TObject is an abstract class.</summary></devnotes></class>
  <class name="TCustomAttribute" file="System.pas" line="747">
    
  </class>
  <classref name="TCustomAttributeClass" ref="TCustomAttribute" file="System.pas" line="749"/>
  <class name="WeakAttribute" file="System.pas" line="750">
    
  </class>
  <class name="UnsafeAttribute" file="System.pas" line="751">
    
  </class>
  <class name="RefAttribute" file="System.pas" line="752">
    
  </class>
  <class name="VolatileAttribute" file="System.pas" line="753">
    
  </class>
  <class name="StoredAttribute" file="System.pas" line="754">
    
    <members>
      <field name="FFlag" type="Boolean" visibility="class protected" size="1" offset="4" file="System.pas" line="756"/>
      <field name="_FName" type="string" visibility="class protected" size="4" offset="8" file="System.pas" line="757"/>
      <constructor name="Create" visibility="public" file="System.pas" line="759">
        <devnotes>
          CPU64BITS
        </devnotes>
        <parameters>
        </parameters>
      </constructor>
      <constructor name="Create" visibility="public" file="System.pas" line="760">
        <parameters>
          <parameter name="StorageHandlerFlag" type="Boolean" paramflags="const"/>
        </parameters>
      </constructor>
      <constructor name="Create" visibility="public" file="System.pas" line="761">
        <parameters>
          <parameter name="StorageHandlerName" type="string" paramflags="const"/>
        </parameters>
      </constructor>
      <property name="Flag" visibility="public" read="FFlag" type="Boolean" file="System.pas" line="762"/>
      <property name="Name" visibility="public" read="_FName" type="string" default="0" file="System.pas" line="763"/>
    </members>
  </class>
  <class name="HPPGENAttribute" file="System.pas" line="765">
    
    <members>
      <const name="mkNoDefine" visibility="public" type="Integer" file="System.pas" line="767">
        <value>
          $1
        </value>
      </const>
      <const name="mkAccessible" visibility="public" type="Integer" file="System.pas" line="768">
        <value>
          $2
        </value>
      </const>
      <const name="mkFriend" visibility="public" type="Integer" file="System.pas" line="769">
        <value>
          $4
        </value>
      </const>
      <const name="mkNonPackage" visibility="public" type="Integer" file="System.pas" line="770">
        <value>
          $8
        </value>
      </const>
      <const name="mkNoOperator" visibility="public" type="Integer" file="System.pas" line="771">
        <value>
          $10
        </value>
      </const>
      <constructor name="Create" visibility="public" file="System.pas" line="773">
        <parameters>
          <parameter name="AData" type="string" paramflags="const"/>
        </parameters>
      </constructor>
      <constructor name="Create" visibility="public" file="System.pas" line="774">
        <parameters>
          <parameter name="AFlag" type="Integer" paramflags="const"/>
          <parameter name="AData" type="string" paramflags="const">
            <value>
              
            </value>
          </parameter>
        </parameters>
      </constructor>
    </members>
  </class>
  <class name="HFAAttribute" file="System.pas" line="777">
    
    <ancestor name="TCustomAttribute" namespace="System">
      <ancestor name="TObject" namespace="System">
        <methodref name="Create" visibility="public" procflags="constructor"/>
        <methodref name="Free" visibility="public"/>
        <methodref name="DisposeOf" visibility="public" procflags="inline"/>
        <methodref name="InitInstance" visibility="public" procflags="class"/>
        <methodref name="CleanupInstance" visibility="public">
        </methodref>
        <methodref name="ClassType" visibility="public" procflags="inline"/>
        <methodref name="ClassName" visibility="public" procflags="class"/>
        <methodref name="ClassNameIs" visibility="public" procflags="class"/>
        <methodref name="ClassParent" visibility="public" procflags="class inline"/>
        <methodref name="ClassInfo" visibility="public" procflags="class inline"/>
        <methodref name="InstanceSize" visibility="public" procflags="class inline"/>
        <methodref name="InheritsFrom" visibility="public" procflags="class">
        </methodref>
        <methodref name="MethodAddress" visibility="public" procflags="class overload">
        </methodref>
        <methodref name="MethodAddress" visibility="public" procflags="class overload"/>
        <methodref name="MethodName" visibility="public" procflags="class"/>
        <methodref name="QualifiedClassName" visibility="public" procflags="class"/>
        <methodref name="FieldAddress" visibility="public" procflags="overload">
        </methodref>
        <methodref name="FieldAddress" visibility="public" procflags="overload"/>
        <methodref name="GetInterface" visibility="public">
        </methodref>
        <methodref name="GetInterfaceEntry" visibility="public" procflags="class"/>
        <methodref name="GetInterfaceTable" visibility="public" procflags="class inline"/>
        <methodref name="UnitName" visibility="public" procflags="class"/>
        <methodref name="UnitScope" visibility="public" procflags="class"/>
        <methodref name="Equals" visibility="public" procflags="virtual"/>
        <methodref name="GetHashCode" visibility="public" procflags="virtual"/>
        <methodref name="ToString" visibility="public" procflags="virtual"/>
        <methodref name="SafeCallException" visibility="public" procflags="virtual"/>
        <methodref name="AfterConstruction" visibility="public" procflags="virtual"/>
        <methodref name="BeforeDestruction" visibility="public" procflags="virtual"/>
        <methodref name="Dispatch" visibility="public" procflags="virtual"/>
        <methodref name="DefaultHandler" visibility="public" procflags="virtual"/>
        <methodref name="NewInstance" visibility="public" procflags="class virtual"/>
        <methodref name="FreeInstance" visibility="public" procflags="virtual"/>
        <methodref name="Destroy" visibility="public" procflags="destructor virtual"/>
        <methodref name="GetDisposed" visibility="protected" procflags="inline">
        </methodref>
        <methodref name="CheckDisposed" visibility="protected" procflags="inline"/>
        <propertyref name="Disposed" visibility="protected"/>
      </ancestor>
    </ancestor>
    <members>
      <field name="FElementType" type="Pointer" visibility="class protected" size="4" offset="4" file="System.pas" line="780">
        <devnotes>
           <summary>Internal use only</summary>
        </devnotes>
      </field>
      <field name="FElementCount" type="Integer" visibility="class protected" size="4" offset="8" file="System.pas" line="782">
        <devnotes>
           <summary>Internal use only</summary>
        </devnotes>
      </field>
      <constructor name="Create" visibility="public" file="System.pas" line="784">
        <parameters>
          <parameter name="ElementType" type="Pointer" paramflags="const"/>
          <parameter name="ElementCount" type="Integer" paramflags="const"/>
        </parameters>
      </constructor>
      <property name="ElementType" visibility="public" read="FElementType" type="Pointer" file="System.pas" line="786">
        <devnotes>
           <summary>TypeInfo of element type</summary>
        </devnotes>
      </property>
      <property name="ElementCount" visibility="public" read="FElementCount" type="Integer" file="System.pas" line="788">
        <devnotes>
           <summary>Number of element type </summary>
        </devnotes>
      </property>
    </members>
  </class>
  <class name="AlignAttribute" file="System.pas" line="791">
    
    <ancestor name="TCustomAttribute" namespace="System">
      <ancestor name="TObject" namespace="System">
        <methodref name="Create" visibility="public" procflags="constructor"/>
        <methodref name="Free" visibility="public"/>
        <methodref name="DisposeOf" visibility="public" procflags="inline"/>
        <methodref name="InitInstance" visibility="public" procflags="class"/>
        <methodref name="CleanupInstance" visibility="public">
        </methodref>
        <methodref name="ClassType" visibility="public" procflags="inline"/>
        <methodref name="ClassName" visibility="public" procflags="class"/>
        <methodref name="ClassNameIs" visibility="public" procflags="class"/>
        <methodref name="ClassParent" visibility="public" procflags="class inline"/>
        <methodref name="ClassInfo" visibility="public" procflags="class inline"/>
        <methodref name="InstanceSize" visibility="public" procflags="class inline"/>
        <methodref name="InheritsFrom" visibility="public" procflags="class">
        </methodref>
        <methodref name="MethodAddress" visibility="public" procflags="class overload">
        </methodref>
        <methodref name="MethodAddress" visibility="public" procflags="class overload"/>
        <methodref name="MethodName" visibility="public" procflags="class"/>
        <methodref name="QualifiedClassName" visibility="public" procflags="class"/>
        <methodref name="FieldAddress" visibility="public" procflags="overload">
        </methodref>
        <methodref name="FieldAddress" visibility="public" procflags="overload"/>
        <methodref name="GetInterface" visibility="public">
        </methodref>
        <methodref name="GetInterfaceEntry" visibility="public" procflags="class"/>
        <methodref name="GetInterfaceTable" visibility="public" procflags="class inline"/>
        <methodref name="UnitName" visibility="public" procflags="class"/>
        <methodref name="UnitScope" visibility="public" procflags="class"/>
        <methodref name="Equals" visibility="public" procflags="virtual"/>
        <methodref name="GetHashCode" visibility="public" procflags="virtual"/>
        <methodref name="ToString" visibility="public" procflags="virtual"/>
        <methodref name="SafeCallException" visibility="public" procflags="virtual"/>
        <methodref name="AfterConstruction" visibility="public" procflags="virtual"/>
        <methodref name="BeforeDestruction" visibility="public" procflags="virtual"/>
        <methodref name="Dispatch" visibility="public" procflags="virtual"/>
        <methodref name="DefaultHandler" visibility="public" procflags="virtual"/>
        <methodref name="NewInstance" visibility="public" procflags="class virtual"/>
        <methodref name="FreeInstance" visibility="public" procflags="virtual"/>
        <methodref name="Destroy" visibility="public" procflags="destructor virtual"/>
        <methodref name="GetDisposed" visibility="protected" procflags="inline">
        </methodref>
        <methodref name="CheckDisposed" visibility="protected" procflags="inline"/>
        <propertyref name="Disposed" visibility="protected"/>
      </ancestor>
    </ancestor>
    <members>
      <field name="FAlign" type="Integer" visibility="class protected" size="4" offset="4" file="System.pas" line="794">
        <devnotes>
           <summary>Internal use only</summary>
        </devnotes>
      </field>
      <constructor name="Create" visibility="public" file="System.pas" line="796">
        <parameters>
          <parameter name="Align" type="Integer"/>
        </parameters>
      </constructor>
      <property name="Align" visibility="public" read="FAlign" type="Integer" file="System.pas" line="798">
        <devnotes>
           <summary>Alignment in bytes</summary>
        </devnotes>
      </property>
    </members>
  </class>
  <type name="TThreadID" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <pointer name="PPMonitor" type="PMonitor" indircnt="1" file="System.pas" line="835"/>
  <pointer name="PMonitor" type="TMonitor" indircnt="1" file="System.pas" line="836"/>
  <struct name="TMonitor" size="28" file="System.pas" line="837">
    <pointer name="PWaitingThread" alias="System.PWaitingThread" type="TWaitingThread" indircnt="1" file="System.pas" line="840"/>
    <struct name="TWaitingThread" visibility="class private" alias="System.TWaitingThread" size="12" file="System.pas" line="841">
      <field name="Next" type="TMonitor.PWaitingThread" visibility="public" size="4" offset="0" file="System.pas" line="842"/>
      <field name="Thread" type="Cardinal" visibility="public" size="4" offset="4" file="System.pas" line="843"/>
      <field name="WaitEvent" type="Pointer" visibility="public" size="4" offset="8" file="System.pas" line="844"/>
    </struct>
    <struct name="TSpinWait" visibility="class private" alias="System.TSpinWait" size="4" file="System.pas" line="852">
      <const name="YieldThreshold" visibility="private" type="Integer" file="System.pas" line="854">
        <value>
          $A
        </value>
      </const>
      <const name="Sleep1Threshold" visibility="private" type="Integer" file="System.pas" line="855">
        <value>
          $14
        </value>
      </const>
      <const name="Sleep0Threshold" visibility="private" type="Integer" file="System.pas" line="856">
        <value>
          $5
        </value>
      </const>
      <field name="FCount" type="Integer" visibility="private" size="4" offset="0" file="System.pas" line="858"/>
      <procedure name="Reset" visibility="public" procflags="inline" file="System.pas" line="860">
      </procedure>
      <procedure name="SpinCycle" visibility="public" file="System.pas" line="861">
      </procedure>
    </struct>
    <struct name="TSpinLock" visibility="class private" alias="System.TSpinLock" size="4" file="System.pas" line="868">
      <field name="FLock" type="Integer" visibility="private" size="4" offset="0" file="System.pas" line="870"/>
      <procedure name="Enter" visibility="public" file="System.pas" line="872">
      </procedure>
      <procedure name="Exit" visibility="public" file="System.pas" line="873">
      </procedure>
    </struct>
    <field name="FLockCount" type="Integer" visibility="class private" size="4" offset="0" file="System.pas" line="876">
      <attributes>
        <attribute name="TObject"/>
      </attributes>
    </field>
    <field name="FRecursionCount" type="Integer" visibility="class private" size="4" offset="4" file="System.pas" line="877"/>
    <field name="FOwningThread" type="Cardinal" visibility="class private" size="4" offset="8" file="System.pas" line="878"/>
    <field name="FLockEvent" type="Pointer" visibility="class private" size="4" offset="12" file="System.pas" line="879"/>
    <field name="FSpinCount" type="Integer" visibility="class private" size="4" offset="16" file="System.pas" line="880"/>
    <field name="FWaitQueue" type="TMonitor.PWaitingThread" visibility="class private" size="4" offset="20" file="System.pas" line="881"/>
    <field name="FQueueLock" type="TMonitor.TSpinLock" visibility="class private" size="4" offset="24" file="System.pas" line="882"/>
    <field name="CacheLineSize" type="Integer" visibility="class private" varflags="class" file="System.pas" line="883"/>
    <field name="FDefaultSpinCount" type="Integer" visibility="class private" varflags="class" file="System.pas" line="884"/>
    <procedure name="Spin" visibility="class private" procflags="static" file="System.pas" line="885">
      <parameters>
        <parameter name="Iterations" type="Integer"/>
      </parameters>
    </procedure>
    <function name="GetCacheLineSize" visibility="class private" procflags="static" file="System.pas" line="886">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <procedure name="QueueWaiter" visibility="class private" file="System.pas" line="887">
      <parameters>
        <parameter name="WaitingThread" type="TMonitor.TWaitingThread" paramflags="var"/>
      </parameters>
    </procedure>
    <procedure name="RemoveWaiter" visibility="class private" file="System.pas" line="888">
      <parameters>
        <parameter name="WaitingThread" type="TMonitor.TWaitingThread" paramflags="var"/>
      </parameters>
    </procedure>
    <function name="DequeueWaiter" visibility="class private" file="System.pas" line="889">
      <parameters>
        <retval type="TMonitor.PWaitingThread"/>
      </parameters>
    </function>
    <function name="GetEvent" visibility="class private" file="System.pas" line="890">
      <parameters>
        <retval type="Pointer"/>
      </parameters>
    </function>
    <function name="CheckOwningThread" visibility="class private" file="System.pas" line="891">
      <parameters>
        <retval type="Cardinal"/>
      </parameters>
    </function>
    <procedure name="CheckMonitorSupport" visibility="class private" procflags="static inline" file="System.pas" line="892">
    </procedure>
    <function name="Create" visibility="private" procflags="static" file="System.pas" line="894">
      <parameters>
        <retval type="PMonitor"/>
      </parameters>
    </function>
    <procedure name="Destroy" visibility="private" procflags="static overload" file="System.pas" line="899">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Destroy" visibility="private" procflags="overload" file="System.pas" line="900">
    </procedure>
    <function name="GetFieldAddress" visibility="class private" procflags="static inline" file="System.pas" line="902">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <retval type="PPMonitor"/>
      </parameters>
    </function>
    <function name="GetMonitor" visibility="class private" procflags="static" file="System.pas" line="903">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <retval type="PMonitor"/>
      </parameters>
    </function>
    <procedure name="SetDefaultSpinCount" visibility="class private" procflags="static" file="System.pas" line="904">
      <parameters>
        <parameter name="AValue" type="Integer"/>
      </parameters>
    </procedure>
    <function name="TryEnter" visibility="class private" procflags="overload" file="System.pas" line="905">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Wait" visibility="class private" procflags="overload" file="System.pas" line="906">
      <parameters>
        <parameter name="ALock" type="PMonitor"/>
        <parameter name="Timeout" type="Cardinal"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="Pulse" visibility="class private" procflags="overload" file="System.pas" line="907">
    </procedure>
    <procedure name="PulseAll" visibility="class private" procflags="overload" file="System.pas" line="908">
    </procedure>
    <function name="Enter" visibility="private" procflags="overload" file="System.pas" line="910">
      <parameters>
        <parameter name="Timeout" type="Cardinal"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="Exit" visibility="private" procflags="overload" file="System.pas" line="911">
    </procedure>
    <procedure name="SetSpinCount" visibility="public" procflags="static" file="System.pas" line="917">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <parameter name="ASpinCount" type="Integer"/>
      </parameters>
    </procedure>
    <procedure name="Enter" visibility="public" procflags="static overload inline" file="System.pas" line="929">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="Enter" visibility="public" procflags="static overload" file="System.pas" line="930">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <parameter name="Timeout" type="Cardinal"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="Exit" visibility="public" procflags="static overload" file="System.pas" line="931">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="TryEnter" visibility="public" procflags="static overload" file="System.pas" line="932">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Wait" visibility="public" procflags="static overload" file="System.pas" line="945">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <parameter name="Timeout" type="Cardinal"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="Wait" visibility="public" procflags="static overload" file="System.pas" line="946">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
        <parameter name="ALock" type="TObject" paramflags="const"/>
        <parameter name="Timeout" type="Cardinal"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="Pulse" visibility="public" procflags="static overload" file="System.pas" line="947">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="PulseAll" visibility="public" procflags="static overload" file="System.pas" line="948">
      <parameters>
        <parameter name="AObject" type="TObject" paramflags="const"/>
      </parameters>
    </procedure>
    <property name="DefaultSpinCount" visibility="public" read="FDefaultSpinCount" write="SetDefaultSpinCount" type="Integer" file="System.pas" line="949"/>
  </struct>
  <const name="INFINITE" type="Cardinal" file="System.pas" line="953">
    <value>
      $FFFFFFFF
    </value>
  </const>
  <const name="S_OK" type="Integer" file="System.pas" line="968">
    <value>
      $0
    </value>
  </const>
  <const name="S_FALSE" type="Integer" file="System.pas" line="970">
    <value>
      $1
    </value>
  </const>
  <const name="E_NOINTERFACE" type="HRESULT" file="System.pas" line="972">
    <value>
      $80004002
    </value>
  </const>
  <const name="E_UNEXPECTED" type="HRESULT" file="System.pas" line="976">
    <value>
      $8000FFFF
    </value>
  </const>
  <const name="E_NOTIMPL" type="HRESULT" file="System.pas" line="980">
    <value>
      $80004001
    </value>
  </const>
  <const name="tkUnknown" type="TTypeKind" file="System.pas" line="1455">
    <value>
      tkUnknown
    </value>
  </const>
  <const name="tkInteger" type="TTypeKind" file="System.pas" line="1455">
    <value>
      tkInteger
    </value>
  </const>
  <const name="tkChar" type="TTypeKind" file="System.pas" line="1455">
    <value>
      tkChar
    </value>
  </const>
  <const name="tkEnumeration" type="TTypeKind" file="System.pas" line="1455">
    <value>
      tkEnumeration
    </value>
  </const>
  <const name="tkFloat" type="TTypeKind" file="System.pas" line="1455">
    <value>
      tkFloat
    </value>
  </const>
  <const name="tkString" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkString
    </value>
  </const>
  <const name="tkSet" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkSet
    </value>
  </const>
  <const name="tkClass" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkClass
    </value>
  </const>
  <const name="tkMethod" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkMethod
    </value>
  </const>
  <const name="tkWChar" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkWChar
    </value>
  </const>
  <const name="tkLString" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkLString
    </value>
  </const>
  <const name="tkWString" type="TTypeKind" file="System.pas" line="1456">
    <value>
      tkWString
    </value>
  </const>
  <const name="tkVariant" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkVariant
    </value>
  </const>
  <const name="tkArray" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkArray
    </value>
  </const>
  <const name="tkRecord" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkRecord
    </value>
  </const>
  <const name="tkInterface" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkInterface
    </value>
  </const>
  <const name="tkInt64" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkInt64
    </value>
  </const>
  <const name="tkDynArray" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkDynArray
    </value>
  </const>
  <const name="tkUString" type="TTypeKind" file="System.pas" line="1457">
    <value>
      tkUString
    </value>
  </const>
  <const name="tkClassRef" type="TTypeKind" file="System.pas" line="1458">
    <value>
      tkClassRef
    </value>
  </const>
  <const name="tkPointer" type="TTypeKind" file="System.pas" line="1458">
    <value>
      tkPointer
    </value>
  </const>
  <const name="tkProcedure" type="TTypeKind" file="System.pas" line="1458">
    <value>
      tkProcedure
    </value>
  </const>
  <const name="tkMRecord" type="TTypeKind" file="System.pas" line="1458">
    <value>
      tkMRecord
    </value>
  </const>
  <interface name="IInterface" GUID="{00000000-0000-0000-C000-000000000046}" file="System.pas" line="986">
    <function name="QueryInterface" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="988">
      <parameters>
        <parameter name="IID" type="TGUID" paramflags="const"/>
        <parameter name="Obj" paramflags="out"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
    <function name="_AddRef" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="989">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="_Release" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="990">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
  </interface>
  <interface name="IUnknown" alias="System.IInterface" GUID="{00000000-0000-0000-C000-000000000046}" file="System.pas" line="986">
    <function name="QueryInterface" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="988">
      <parameters>
        <parameter name="IID" type="TGUID" paramflags="const"/>
        <parameter name="Obj" paramflags="out"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
    <function name="_AddRef" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="989">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="_Release" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="990">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
  </interface>
  <interface name="IInvokable" ancestor="IInterface" file="System.pas" line="999">
  </interface>
  <interface name="IEnumerator" ancestor="IInterface" file="System.pas" line="1004">
    <function name="GetCurrent" visibility="public" procflags="abstract virtual" file="System.pas" line="1005">
      <parameters>
        <retval type="TObject"/>
      </parameters>
    </function>
    <function name="MoveNext" visibility="public" procflags="abstract virtual" file="System.pas" line="1006">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="Reset" visibility="public" procflags="abstract virtual" file="System.pas" line="1007">
    </procedure>
    <property name="Current" visibility="public" read="GetCurrent" type="TObject" file="System.pas" line="1008"/>
  </interface>
  <interface name="IEnumerable" ancestor="IInterface" file="System.pas" line="1011">
    <function name="GetEnumerator" visibility="public" procflags="abstract virtual" file="System.pas" line="1012">
      <parameters>
        <retval type="IEnumerator"/>
      </parameters>
    </function>
  </interface>
  <interface name="IEnumerator`1" ancestor="IEnumerator" file="System.pas" line="1015">
    <function name="GetCurrent" visibility="public" procflags="abstract virtual" file="System.pas" line="1017">
      <attributes>
        <attribute name="HPPGENAttribute"/>
      </attributes>
      <parameters>
        <retval type="T"/>
      </parameters>
    </function>
    <property name="Current" visibility="public" read="GetCurrent" type="T" file="System.pas" line="1019">
      <attributes>
        <attribute name="HPPGENAttribute"/>
      </attributes>
    </property>
  </interface>
  <interface name="IEnumerable`1" ancestor="IEnumerable" file="System.pas" line="1022">
    <function name="GetEnumerator" visibility="public" procflags="abstract virtual" file="System.pas" line="1024">
      <attributes>
        <attribute name="HPPGENAttribute"/>
      </attributes>
      <parameters>
        <retval>
        </retval>
      </parameters>
    </function>
  </interface>
  <interface name="IComparable" ancestor="IInterface" file="System.pas" line="1027">
    <function name="CompareTo" visibility="public" procflags="abstract virtual" file="System.pas" line="1028">
      <parameters>
        <parameter name="Obj" type="TObject"/>
        <retval type="Integer"/>
      </parameters>
    </function>
  </interface>
  <interface name="IComparable`1" ancestor="IComparable" file="System.pas" line="1031">
    <function name="CompareTo" visibility="public" procflags="abstract virtual" file="System.pas" line="1032">
      <parameters>
        <parameter name="Value" type="T"/>
        <retval type="Integer"/>
      </parameters>
    </function>
  </interface>
  <interface name="IEquatable`1" ancestor="IInterface" file="System.pas" line="1035">
    <function name="Equals" visibility="public" procflags="abstract virtual" file="System.pas" line="1036">
      <parameters>
        <parameter name="Value" type="T"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
  </interface>
  <interface name="IDispatch" GUID="{00020400-0000-0000-C000-000000000046}" ancestor="IInterface" file="System.pas" line="1039">
    <function name="GetTypeInfoCount" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="1041">
      <parameters>
        <parameter name="Count" type="Integer" paramflags="out"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
    <function name="GetTypeInfo" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="1042">
      <parameters>
        <parameter name="Index" type="Integer"/>
        <parameter name="LocaleID" type="Integer"/>
        <parameter name="TypeInfo" paramflags="out"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
    <function name="GetIDsOfNames" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="1043">
      <parameters>
        <parameter name="IID" type="TGUID" paramflags="const"/>
        <parameter name="Names" type="Pointer"/>
        <parameter name="NameCount" type="Integer"/>
        <parameter name="LocaleID" type="Integer"/>
        <parameter name="DispIDs" type="Pointer"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
    <function name="Invoke" visibility="public" procflags="abstract virtual" callconv="stdcall" file="System.pas" line="1045">
      <parameters>
        <parameter name="DispID" type="Integer"/>
        <parameter name="IID" type="TGUID" paramflags="const"/>
        <parameter name="LocaleID" type="Integer"/>
        <parameter name="Flags" type="Word"/>
        <parameter name="Params" paramflags="var"/>
        <parameter name="VarResult" type="Pointer"/>
        <parameter name="ExcepInfo" type="Pointer"/>
        <parameter name="ArgErr" type="Pointer"/>
        <retval type="HRESULT"/>
      </parameters>
    </function>
  </interface>
  <class name="TInterfacedObject" file="System.pas" line="1056">
    
    <interfaces>
      <implements name="IInterface"/>
    </interfaces>
    <members>
      <const name="objDestroyingFlag" visibility="private" type="Integer" file="System.pas" line="1056">
        <value>
          $80000000
        </value>
      </const>
      <function name="GetRefCount" visibility="private" procflags="inline" file="System.pas" line="1060">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <field name="FRefCount" type="Integer" visibility="protected" size="4" offset="4" file="System.pas" line="1064">
        <attributes>
          <attribute name="TObject"/>
        </attributes>
      </field>
      <procedure name="__MarkDestroying" visibility="protected" procflags="static inline" file="System.pas" line="1065">
        <parameters>
          <parameter name="Obj" paramflags="const"/>
        </parameters>
      </procedure>
      <function name="QueryInterface" visibility="protected" callconv="stdcall" file="System.pas" line="1067">
        <parameters>
          <parameter name="IID" type="TGUID" paramflags="const"/>
          <parameter name="Obj" paramflags="out"/>
          <retval type="HRESULT"/>
        </parameters>
      </function>
      <function name="_AddRef" visibility="protected" callconv="stdcall" file="System.pas" line="1068">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <function name="_Release" visibility="protected" callconv="stdcall" file="System.pas" line="1069">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <procedure name="AfterConstruction" visibility="public" procflags="override" file="System.pas" line="1072">
      </procedure>
      <procedure name="BeforeDestruction" visibility="public" procflags="override" file="System.pas" line="1073">
      </procedure>
      <function name="NewInstance" visibility="public" procflags="class override" file="System.pas" line="1074">
        <parameters>
          <retval type="TObject"/>
        </parameters>
      </function>
      <property name="RefCount" visibility="public" read="GetRefCount" type="Integer" file="System.pas" line="1075"/>
    </members>
  </class>
  <classref name="TInterfacedClass" ref="TInterfacedObject" file="System.pas" line="1082"/>
  <class name="TAggregatedObject" file="System.pas" line="1112">
    
    <members>
      <field name="FController" type="IInterface" visibility="private" size="4" offset="4" file="System.pas" line="1114">
        <attributes>
          <attribute name="TObject"/>
        </attributes>
      </field>
      <function name="QueryInterface" visibility="protected" callconv="stdcall" file="System.pas" line="1117">
        <parameters>
          <parameter name="IID" type="TGUID" paramflags="const"/>
          <parameter name="Obj" paramflags="out"/>
          <retval type="HRESULT"/>
        </parameters>
      </function>
      <function name="_AddRef" visibility="protected" callconv="stdcall" file="System.pas" line="1118">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <function name="_Release" visibility="protected" callconv="stdcall" file="System.pas" line="1119">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <constructor name="Create" visibility="public" file="System.pas" line="1121">
        <parameters>
          <parameter name="Controller" type="IInterface" paramflags="const"/>
        </parameters>
      </constructor>
      <property name="Controller" visibility="public" read="FController" type="IInterface" file="System.pas" line="1122"/>
    </members>
  </class>
  <class name="TContainedObject" file="System.pas" line="1141">
    
    <interfaces>
      <implements name="IInterface"/>
    </interfaces>
    <members>
      <function name="QueryInterface" visibility="protected" procflags="virtual" callconv="stdcall" file="System.pas" line="1144">
        <parameters>
          <parameter name="IID" type="TGUID" paramflags="const"/>
          <parameter name="Obj" paramflags="out"/>
          <retval type="HRESULT"/>
        </parameters>
      </function>
    </members>
  </class>
  <class name="TClassHelperBase" file="System.pas" line="1150">
    
    <interfaces>
      <implements name="IInterface"/>
    </interfaces>
    <members>
      <field name="FInstance" type="TObject" visibility="protected" size="4" offset="12" file="System.pas" line="1152"/>
      <constructor name="_Create" visibility="protected" file="System.pas" line="1153">
        <parameters>
          <parameter name="Instance" type="TObject"/>
        </parameters>
      </constructor>
    </members>
  </class>
  <classref name="TClassHelperBaseClass" ref="TClassHelperBase" file="System.pas" line="1156"/>
  <class name="TNoRefCountObject" file="System.pas" line="1161">
    
    <interfaces>
      <implements name="IInterface"/>
    </interfaces>
    <members>
      <function name="QueryInterface" visibility="protected" callconv="stdcall" file="System.pas" line="1163">
        <parameters>
          <parameter name="IID" type="TGUID" paramflags="const"/>
          <parameter name="Obj" paramflags="out"/>
          <retval type="HRESULT"/>
        </parameters>
      </function>
      <function name="_AddRef" visibility="protected" callconv="stdcall" file="System.pas" line="1164">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
      <function name="_Release" visibility="protected" callconv="stdcall" file="System.pas" line="1165">
        <parameters>
          <retval type="Integer"/>
        </parameters>
      </function>
    </members>
  </class>
  <pointer name="PShortString" type="ShortString" indircnt="1" file="System.pas" line="1189"/>
  <pointer name="PAnsiString" type="AnsiString" indircnt="1" file="System.pas" line="1190"/>
  <pointer name="PWideString" type="WideString" indircnt="1" file="System.pas" line="1191"/>
  <pointer name="PUnicodeString" type="string" indircnt="1" file="System.pas" line="1192"/>
  <pointer name="PString" alias="System.PUnicodeString" type="string" indircnt="1" file="System.pas" line="1192"/>
  <type name="UCS2Char" type="WideChar" file="System.pas" line="12"/>
  <pointer name="PUCS2Char" alias="System.PWideChar" type="Char" indircnt="1" file="System.pas" line="12"/>
  <type name="UCS4Char" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <pointer name="PUCS4Char" type="Cardinal" indircnt="1" file="System.pas" line="1211"/>
  <array name="TUCS4CharArray" low="0" high="251658239" file="System.pas" line="1214">
    <element type="Cardinal"/>
  </array>
  <pointer name="PUCS4CharArray" type="TUCS4CharArray" indircnt="1" file="System.pas" line="1215"/>
  <array name="UCS4String" file="System.pas" line="1222">
    <element type="Cardinal"/>
  </array>
  <type name="UTF8String" type="AnsiString" file="System.pas" line="1229"/>
  <type name="RawByteString" type="AnsiString" file="System.pas" line="1230"/>
  <pointer name="PUTF8String" type="UTF8String" indircnt="1" file="System.pas" line="1232"/>
  <pointer name="PRawByteString" type="RawByteString" indircnt="1" file="System.pas" line="1233"/>
  <array name="IntegerArray" low="0" high="251658239" file="System.pas" line="1249">
    <element type="Integer"/>
  </array>
  <pointer name="PIntegerArray" type="IntegerArray" indircnt="1" file="System.pas" line="1250"/>
  <array name="Int64Array" low="0" high="268435454" file="System.pas" line="1257">
    <element type="Int64"/>
  </array>
  <pointer name="PInt64Array" type="Int64Array" indircnt="1" file="System.pas" line="1258"/>
  <array name="PointerArray" low="0" high="536870910" file="System.pas" line="1268">
    <devnotes>
      CPU64BITS
    </devnotes>
    <element type="Pointer">
      <devnotes>
        CPU64BITS
      </devnotes>
    </element>
  </array>
  <pointer name="PPointerArray" type="PointerArray" indircnt="1" file="System.pas" line="1270">
    <devnotes>
      CPU64BITS
    </devnotes>
  </pointer>
  <array name="TBoundArray" file="System.pas" line="1277">
    <element type="NativeInt"/>
  </array>
  <array name="TPCharArray" low="0" high="536870910" file="System.pas" line="1279">
    <element type="PWideChar"/>
  </array>
  <pointer name="PPCharArray" type="TPCharArray" indircnt="1" file="System.pas" line="1281"/>
  <pointer name="PLongInt" type="Integer" indircnt="1" file="System.pas" line="1288"/>
  <pointer name="PInteger" type="Integer" indircnt="1" file="System.pas" line="1300"/>
  <pointer name="PCardinal" type="Cardinal" indircnt="1" file="System.pas" line="1301"/>
  <pointer name="PWord" type="Word" indircnt="1" file="System.pas" line="1302"/>
  <pointer name="PSmallInt" type="SmallInt" indircnt="1" file="System.pas" line="1303"/>
  <pointer name="PByte" type="Byte" indircnt="1" file="System.pas" line="1305"/>
  <pointer name="PShortInt" type="ShortInt" indircnt="1" file="System.pas" line="1307"/>
  <pointer name="PUint32" type="Cardinal" indircnt="1" file="System.pas" line="1308"/>
  <pointer name="PInt64" type="Int64" indircnt="1" file="System.pas" line="1309"/>
  <pointer name="PUInt64" type="UInt64" indircnt="1" file="System.pas" line="1310"/>
  <pointer name="PLongWord" type="Cardinal" indircnt="1" file="System.pas" line="1311"/>
  <pointer name="PSingle" type="Single" indircnt="1" file="System.pas" line="1312"/>
  <pointer name="PDouble" type="Double" indircnt="1" file="System.pas" line="1313"/>
  <pointer name="PDate" type="Double" indircnt="1" file="System.pas" line="1314"/>
  <pointer name="PDispatch" type="IDispatch" indircnt="1" file="System.pas" line="1315"/>
  <pointer name="PPDispatch" type="PDispatch" indircnt="1" file="System.pas" line="1316"/>
  <pointer name="PError" type="Cardinal" indircnt="1" file="System.pas" line="1319"/>
  <pointer name="PWordBool" type="WordBool" indircnt="1" file="System.pas" line="1320"/>
  <pointer name="PUnknown" type="IInterface" indircnt="1" file="System.pas" line="1321"/>
  <pointer name="PPUnknown" type="PUnknown" indircnt="1" file="System.pas" line="1322"/>
  <pointer name="PPWideChar" type="PWideChar" indircnt="1" file="System.pas" line="1323"/>
  <pointer name="PPAnsiChar" type="PAnsiChar" indircnt="1" file="System.pas" line="1329"/>
  <pointer name="PPChar" alias="System.PPWideChar" type="PWideChar" indircnt="1" file="System.pas" line="1323"/>
  <pointer name="PExtended" type="Extended" indircnt="1" file="System.pas" line="1334"/>
  <pointer name="PComp" type="Comp" indircnt="1" file="System.pas" line="1335"/>
  <pointer name="PCurrency" type="Currency" indircnt="1" file="System.pas" line="1336"/>
  <pointer name="PVariant" type="Variant" indircnt="1" file="System.pas" line="1337"/>
  <pointer name="POleVariant" type="OleVariant" indircnt="1" file="System.pas" line="1338"/>
  <pointer name="PPointer" type="Pointer" indircnt="1" file="System.pas" line="1339"/>
  <pointer name="PBoolean" type="Boolean" indircnt="1" file="System.pas" line="1340"/>
  <pointer name="PNativeInt" type="NativeInt" indircnt="1" file="System.pas" line="1341"/>
  <pointer name="PNativeUInt" type="NativeUInt" indircnt="1" file="System.pas" line="1342"/>
  <pointer name="PMarshaledString" alias="System.PPWideChar" type="PWideChar" indircnt="1" file="System.pas" line="1323"/>
  <pointer name="PMarshaledAString" alias="System.PPAnsiChar" type="PAnsiChar" indircnt="1" file="System.pas" line="1329"/>
  <type name="TDateTime" type="TDateTime" file="System.pas" line="1346"/>
  <pointer name="PDateTime" type="TDateTime" indircnt="1" file="System.pas" line="1347"/>
  <type name="TDate" type="Double" file="System.pas" line="1351"/>
  <type name="TTime" type="Double" file="System.pas" line="1352"/>
  <type name="THandle" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <pointer name="PVarArrayBound" type="TVarArrayBound" indircnt="1" file="System.pas" line="1377"/>
  <struct name="TVarArrayBound" size="8" file="System.pas" line="1378">
    <field name="ElementCount" type="Integer" visibility="public" size="4" offset="0" file="System.pas" line="1379"/>
    <field name="LowBound" type="Integer" visibility="public" size="4" offset="4" file="System.pas" line="1380"/>
  </struct>
  <array name="TVarArrayBoundArray" low="0" high="0" file="System.pas" line="1382">
    <element type="TVarArrayBound"/>
  </array>
  <pointer name="PVarArrayBoundArray" type="TVarArrayBoundArray" indircnt="1" file="System.pas" line="1383"/>
  <array name="TVarArrayCoorArray" low="0" high="0" file="System.pas" line="1384">
    <element type="Integer"/>
  </array>
  <pointer name="PVarArrayCoorArray" type="TVarArrayCoorArray" indircnt="1" file="System.pas" line="1385"/>
  <pointer name="PVarArray" type="TVarArray" indircnt="1" file="System.pas" line="1387"/>
  <struct name="TVarArray" size="24" file="System.pas" line="1388">
    <field name="DimCount" type="Word" visibility="public" size="2" offset="0" file="System.pas" line="1389"/>
    <field name="Flags" type="Word" visibility="public" size="2" offset="2" file="System.pas" line="1390"/>
    <field name="ElementSize" type="Integer" visibility="public" size="4" offset="4" file="System.pas" line="1391"/>
    <field name="LockCount" type="Integer" visibility="public" size="4" offset="8" file="System.pas" line="1392"/>
    <field name="Data" type="Pointer" visibility="public" size="4" offset="12" file="System.pas" line="1393"/>
    <field name="Bounds" type="TVarArrayBoundArray" visibility="public" size="8" offset="16" file="System.pas" line="1394"/>
  </struct>
  <pointer name="PVarRecord" type="TVarRecord" indircnt="1" file="System.pas" line="1397"/>
  <struct name="TVarRecord" size="8" file="System.pas" line="1398">
    <field name="PRecord" type="Pointer" visibility="public" size="4" offset="0" file="System.pas" line="1399"/>
    <field name="RecInfo" type="Pointer" visibility="public" size="4" offset="4" file="System.pas" line="1400"/>
  </struct>
  <struct name="TLargestVarData" size="8" file="System.pas" line="1403">
    <field name="_Reserved1" type="Pointer" visibility="public" size="4" offset="0" file="System.pas" line="1404"/>
    <field name="_Reserved2" type="Pointer" visibility="public" size="4" offset="4" file="System.pas" line="1405"/>
  </struct>
  <type name="TVarType" type="word" loBound="0" hiBound="65535" file="System.pas" line="12"/>
  <pointer name="PVarData" type="TVarData" indircnt="1" file="System.pas" line="1409"/>
  <struct name="TVarData" size="16" packed="true" file="System.pas" line="1410">
    <field name="VType" type="Word" visibility="public" variant="true" size="2" offset="0" file="System.pas" line="1412"/>
    <field name="Reserved1" type="Word" visibility="public" variant="true" size="2" offset="2" file="System.pas" line="1414"/>
    <field name="Reserved2" type="Word" visibility="public" variant="true" size="2" offset="4" file="System.pas" line="1416"/>
    <field name="Reserved3" type="Word" visibility="public" variant="true" size="2" offset="6" file="System.pas" line="1416"/>
    <field name="VSmallInt" type="SmallInt" visibility="public" variant="true" size="2" offset="8" file="System.pas" line="1418"/>
    <field name="VInteger" type="Integer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1419"/>
    <field name="VSingle" type="Single" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1420"/>
    <field name="VDouble" type="Double" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1421"/>
    <field name="VCurrency" type="Currency" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1422"/>
    <field name="VDate" type="TDateTime" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1423"/>
    <field name="VOleStr" type="PWideChar" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1424"/>
    <field name="VDispatch" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1425"/>
    <field name="VError" type="HRESULT" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1426"/>
    <field name="VBoolean" type="WordBool" visibility="public" variant="true" size="2" offset="8" file="System.pas" line="1427"/>
    <field name="VUnknown" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1428"/>
    <field name="VShortInt" type="ShortInt" visibility="public" variant="true" size="1" offset="8" file="System.pas" line="1429"/>
    <field name="VByte" type="Byte" visibility="public" variant="true" size="1" offset="8" file="System.pas" line="1430"/>
    <field name="VWord" type="Word" visibility="public" variant="true" size="2" offset="8" file="System.pas" line="1431"/>
    <field name="VLongWord" type="Cardinal" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1432"/>
    <field name="VUInt32" type="Cardinal" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1433"/>
    <field name="VInt64" type="Int64" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1434"/>
    <field name="VUInt64" type="UInt64" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1435"/>
    <field name="VString" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1436"/>
    <field name="VAny" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1437"/>
    <field name="VArray" type="PVarArray" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1438"/>
    <field name="VPointer" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1439"/>
    <field name="VUString" type="Pointer" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="1440"/>
    <field name="VRecord" type="TVarRecord" visibility="public" variant="true" size="8" offset="8" file="System.pas" line="1441"/>
    <field name="VLongs" visibility="public" variant="true" size="12" offset="4" file="System.pas" line="1444">
      <array name="VLongs" visibility="public" low="0" high="2" file="System.pas" line="1444">
        <element type="Integer"/>
      </array>
    </field>
    <field name="VWords" visibility="public" variant="true" size="14" offset="2" file="System.pas" line="1446">
      <array name="VWords" visibility="public" low="0" high="6" file="System.pas" line="1446">
        <element type="Word"/>
      </array>
    </field>
    <field name="VBytes" visibility="public" variant="true" size="14" offset="2" file="System.pas" line="1447">
      <array name="VBytes" visibility="public" low="0" high="13" file="System.pas" line="1447">
        <element type="Byte"/>
      </array>
    </field>
    <field name="RawData" visibility="public" variant="true" size="16" offset="0" file="System.pas" line="1449">
      <array name="RawData" visibility="public" low="0" high="3" file="System.pas" line="1449">
        <element type="Integer"/>
      </array>
    </field>
  </struct>
  <enum name="TTypeKind" file="System.pas" line="1455">
    <element value="0" name="tkUnknown" file="System.pas" line="1455"/>
    <element value="1" name="tkInteger" file="System.pas" line="1455"/>
    <element value="2" name="tkChar" file="System.pas" line="1455"/>
    <element value="3" name="tkEnumeration" file="System.pas" line="1455"/>
    <element value="4" name="tkFloat" file="System.pas" line="1455"/>
    <element value="5" name="tkString" file="System.pas" line="1456"/>
    <element value="6" name="tkSet" file="System.pas" line="1456"/>
    <element value="7" name="tkClass" file="System.pas" line="1456"/>
    <element value="8" name="tkMethod" file="System.pas" line="1456"/>
    <element value="9" name="tkWChar" file="System.pas" line="1456"/>
    <element value="10" name="tkLString" file="System.pas" line="1456"/>
    <element value="11" name="tkWString" file="System.pas" line="1456"/>
    <element value="12" name="tkVariant" file="System.pas" line="1457"/>
    <element value="13" name="tkArray" file="System.pas" line="1457"/>
    <element value="14" name="tkRecord" file="System.pas" line="1457"/>
    <element value="15" name="tkInterface" file="System.pas" line="1457"/>
    <element value="16" name="tkInt64" file="System.pas" line="1457"/>
    <element value="17" name="tkDynArray" file="System.pas" line="1457"/>
    <element value="18" name="tkUString" file="System.pas" line="1457"/>
    <element value="19" name="tkClassRef" file="System.pas" line="1458"/>
    <element value="20" name="tkPointer" file="System.pas" line="1458"/>
    <element value="21" name="tkProcedure" file="System.pas" line="1458"/>
    <element value="22" name="tkMRecord" file="System.pas" line="1458"/>
  </enum>
  <type name="TVarOp" type="integer" loBound="-2147483648" hiBound="2147483647" file="System.pas" line="12"/>
  <const name="opAdd" type="Integer" file="System.pas" line="1464">
    <value>
      $0
    </value>
  </const>
  <const name="opSubtract" type="Integer" file="System.pas" line="1465">
    <value>
      $1
    </value>
  </const>
  <const name="opMultiply" type="Integer" file="System.pas" line="1466">
    <value>
      $2
    </value>
  </const>
  <const name="opDivide" type="Integer" file="System.pas" line="1467">
    <value>
      $3
    </value>
  </const>
  <const name="opIntDivide" type="Integer" file="System.pas" line="1468">
    <value>
      $4
    </value>
  </const>
  <const name="opModulus" type="Integer" file="System.pas" line="1469">
    <value>
      $5
    </value>
  </const>
  <const name="opShiftLeft" type="Integer" file="System.pas" line="1470">
    <value>
      $6
    </value>
  </const>
  <const name="opShiftRight" type="Integer" file="System.pas" line="1471">
    <value>
      $7
    </value>
  </const>
  <const name="opAnd" type="Integer" file="System.pas" line="1472">
    <value>
      $8
    </value>
  </const>
  <const name="opOr" type="Integer" file="System.pas" line="1473">
    <value>
      $9
    </value>
  </const>
  <const name="opXor" type="Integer" file="System.pas" line="1474">
    <value>
      $A
    </value>
  </const>
  <const name="opCompare" type="Integer" file="System.pas" line="1475">
    <value>
      $B
    </value>
  </const>
  <const name="opNegate" type="Integer" file="System.pas" line="1476">
    <value>
      $C
    </value>
  </const>
  <const name="opNot" type="Integer" file="System.pas" line="1477">
    <value>
      $D
    </value>
  </const>
  <const name="opCmpEQ" type="Integer" file="System.pas" line="1479">
    <value>
      $E
    </value>
  </const>
  <const name="opCmpNE" type="Integer" file="System.pas" line="1480">
    <value>
      $F
    </value>
  </const>
  <const name="opCmpLT" type="Integer" file="System.pas" line="1481">
    <value>
      $10
    </value>
  </const>
  <const name="opCmpLE" type="Integer" file="System.pas" line="1482">
    <value>
      $11
    </value>
  </const>
  <const name="opCmpGT" type="Integer" file="System.pas" line="1483">
    <value>
      $12
    </value>
  </const>
  <const name="opCmpGE" type="Integer" file="System.pas" line="1484">
    <value>
      $13
    </value>
  </const>
  <const name="tkAnsiChar" type="TTypeKind" file="System.pas" line="1486">
    <value>
      tkChar
    </value>
  </const>
  <const name="tkWideChar" type="TTypeKind" file="System.pas" line="1487">
    <value>
      tkWChar
    </value>
  </const>
  <const name="tkUnicodeString" type="TTypeKind" file="System.pas" line="1488">
    <value>
      tkUString
    </value>
  </const>
  <const name="tkAnsiString" type="TTypeKind" file="System.pas" line="1489">
    <value>
      tkLString
    </value>
  </const>
  <const name="tkWideString" type="TTypeKind" file="System.pas" line="1490">
    <value>
      tkWString
    </value>
  </const>
  <const name="tkShortString" type="TTypeKind" file="System.pas" line="1491">
    <value>
      tkString
    </value>
  </const>
  <const name="NumSmallBlockTypes" type="Integer" file="System.pas" line="1495">
    <value>
      $37
    </value>
  </const>
  <const name="csUnallocated" type="TChunkStatus" file="System.pas" line="1859">
    <value>
      csUnallocated
    </value>
  </const>
  <const name="csAllocated" type="TChunkStatus" file="System.pas" line="1859">
    <value>
      csAllocated
    </value>
  </const>
  <const name="csReserved" type="TChunkStatus" file="System.pas" line="1859">
    <value>
      csReserved
    </value>
  </const>
  <const name="csSysAllocated" type="TChunkStatus" file="System.pas" line="1860">
    <value>
      csSysAllocated
    </value>
  </const>
  <const name="csSysReserved" type="TChunkStatus" file="System.pas" line="1860">
    <value>
      csSysReserved
    </value>
  </const>
  <const name="mba8Byte" type="TMinimumBlockAlignment" file="System.pas" line="1864">
    <value>
      mba8Byte
    </value>
  </const>
  <const name="mba16Byte" type="TMinimumBlockAlignment" file="System.pas" line="1864">
    <value>
      mba16Byte
    </value>
  </const>
  <pointer name="PCallDesc" type="TCallDesc" indircnt="1" file="System.pas" line="1502"/>
  <struct name="TCallDesc" size="259" packed="true" file="System.pas" line="1503">
    <field name="CallType" type="Byte" visibility="public" size="1" offset="0" file="System.pas" line="1504"/>
    <field name="ArgCount" type="Byte" visibility="public" size="1" offset="1" file="System.pas" line="1505"/>
    <field name="NamedArgCount" type="Byte" visibility="public" size="1" offset="2" file="System.pas" line="1506"/>
    <field name="ArgTypes" visibility="public" size="256" offset="3" file="System.pas" line="1507">
      <array name="ArgTypes" visibility="public" low="0" high="255" file="System.pas" line="1507">
        <element type="Byte"/>
      </array>
    </field>
  </struct>
  <pointer name="PDispDesc" type="TDispDesc" indircnt="1" file="System.pas" line="1510"/>
  <struct name="TDispDesc" size="264" packed="true" file="System.pas" line="1511">
    <field name="DispID" type="Integer" visibility="public" size="4" offset="0" file="System.pas" line="1512"/>
    <field name="ResType" type="Byte" visibility="public" size="1" offset="4" file="System.pas" line="1513"/>
    <field name="CallDesc" type="TCallDesc" visibility="public" size="259" offset="5" file="System.pas" line="1514"/>
  </struct>
  <pointer name="PVariantManager" type="TVariantManager" indircnt="1" file="System.pas" line="1517"/>
  <struct name="TVariantManager" size="176" file="System.pas" line="1518" symflags="deprecated">
    <field name="VarClear" visibility="public" size="4" offset="0" file="System.pas" line="1519">
    </field>
    <field name="VarCopy" visibility="public" size="4" offset="4" file="System.pas" line="1520">
    </field>
    <field name="VarCopyNoInd" visibility="public" size="4" offset="8" file="System.pas" line="1521">
    </field>
    <field name="VarCast" visibility="public" size="4" offset="12" file="System.pas" line="1522">
    </field>
    <field name="VarCastOle" visibility="public" size="4" offset="16" file="System.pas" line="1523">
    </field>
    <field name="VarToInt" visibility="public" size="4" offset="20" file="System.pas" line="1525">
    </field>
    <field name="VarToInt64" visibility="public" size="4" offset="24" file="System.pas" line="1526">
    </field>
    <field name="VarToBool" visibility="public" size="4" offset="28" file="System.pas" line="1527">
    </field>
    <field name="VarToReal" visibility="public" size="4" offset="32" file="System.pas" line="1528">
    </field>
    <field name="VarToCurr" visibility="public" size="4" offset="36" file="System.pas" line="1529">
    </field>
    <field name="VarToPStr" visibility="public" size="4" offset="40" file="System.pas" line="1530">
    </field>
    <field name="VarToLStr" visibility="public" size="4" offset="44" file="System.pas" line="1531">
    </field>
    <field name="VarToWStr" visibility="public" size="4" offset="48" file="System.pas" line="1532">
    </field>
    <field name="VarToIntf" visibility="public" size="4" offset="52" file="System.pas" line="1533">
    </field>
    <field name="VarToDisp" visibility="public" size="4" offset="56" file="System.pas" line="1534">
    </field>
    <field name="VarToDynArray" visibility="public" size="4" offset="60" file="System.pas" line="1535">
    </field>
    <field name="VarFromInt" visibility="public" size="4" offset="64" file="System.pas" line="1537">
    </field>
    <field name="VarFromInt64" visibility="public" size="4" offset="68" file="System.pas" line="1538">
    </field>
    <field name="VarFromBool" visibility="public" size="4" offset="72" file="System.pas" line="1539">
    </field>
    <field name="VarFromReal" visibility="public" size="4" offset="76" file="System.pas" line="1540">
    </field>
    <field name="VarFromTDateTime" visibility="public" size="4" offset="80" file="System.pas" line="1541">
    </field>
    <field name="VarFromCurr" visibility="public" size="4" offset="84" file="System.pas" line="1542">
    </field>
    <field name="VarFromPStr" visibility="public" size="4" offset="88" file="System.pas" line="1543">
    </field>
    <field name="VarFromLStr" visibility="public" size="4" offset="92" file="System.pas" line="1544">
    </field>
    <field name="VarFromWStr" visibility="public" size="4" offset="96" file="System.pas" line="1545">
    </field>
    <field name="VarFromIntf" visibility="public" size="4" offset="100" file="System.pas" line="1546">
    </field>
    <field name="VarFromDisp" visibility="public" size="4" offset="104" file="System.pas" line="1547">
    </field>
    <field name="VarFromDynArray" visibility="public" size="4" offset="108" file="System.pas" line="1548">
    </field>
    <field name="OleVarFromPStr" visibility="public" size="4" offset="112" file="System.pas" line="1549">
    </field>
    <field name="OleVarFromLStr" visibility="public" size="4" offset="116" file="System.pas" line="1550">
    </field>
    <field name="OleVarFromVar" visibility="public" size="4" offset="120" file="System.pas" line="1551">
    </field>
    <field name="OleVarFromInt" visibility="public" size="4" offset="124" file="System.pas" line="1552">
    </field>
    <field name="OleVarFromInt64" visibility="public" size="4" offset="128" file="System.pas" line="1553">
    </field>
    <field name="VarOp" visibility="public" size="4" offset="132" file="System.pas" line="1555">
    </field>
    <field name="VarCmp" visibility="public" size="4" offset="136" file="System.pas" line="1556">
    </field>
    <field name="VarNeg" visibility="public" size="4" offset="140" file="System.pas" line="1557">
    </field>
    <field name="VarNot" visibility="public" size="4" offset="144" file="System.pas" line="1558">
    </field>
    <field name="DispInvoke" visibility="public" size="4" offset="148" file="System.pas" line="1560">
    </field>
    <field name="VarAddRef" visibility="public" size="4" offset="152" file="System.pas" line="1562">
    </field>
    <field name="VarArrayRedim" visibility="public" size="4" offset="156" file="System.pas" line="1564">
    </field>
    <field name="VarArrayGet" visibility="public" size="4" offset="160" file="System.pas" line="1565">
    </field>
    <field name="VarArrayPut" visibility="public" size="4" offset="164" file="System.pas" line="1567">
    </field>
    <field name="WriteVariant" visibility="public" size="4" offset="168" file="System.pas" line="1570">
    </field>
    <field name="Write0Variant" visibility="public" size="4" offset="172" file="System.pas" line="1571">
    </field>
  </struct>
  <pointer name="PDynArrayTypeInfo" type="TDynArrayTypeInfo" indircnt="1" file="System.pas" line="1575"/>
  <struct name="TDynArrayTypeInfo" size="14" packed="true" file="System.pas" line="1577">
    <field name="kind" type="TTypeKind" visibility="public" size="1" offset="0" file="System.pas" line="1578"/>
    <field name="name" type="Byte" visibility="public" size="1" offset="1" file="System.pas" line="1579"/>
    <field name="elSize" type="Integer" visibility="public" size="4" offset="2" file="System.pas" line="1580"/>
    <field name="elType" visibility="public" size="4" offset="6" file="System.pas" line="1581">
      <pointer name="elType" type="PDynArrayTypeInfo" indircnt="1"/>
    </field>
    <field name="varType" type="Integer" visibility="public" size="4" offset="10" file="System.pas" line="1582"/>
  </struct>
  <pointer name="PVarRec" type="TVarRec" indircnt="1" file="System.pas" line="1586"/>
  <struct name="TVarRec" size="8" file="System.pas" line="1587">
    <field name="VInteger" type="Integer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1590"/>
    <field name="VBoolean" type="Boolean" visibility="public" variant="true" size="1" offset="0" file="System.pas" line="1591"/>
    <field name="VChar" type="AnsiChar" visibility="public" variant="true" size="1" offset="0" file="System.pas" line="1592"/>
    <field name="VExtended" type="PExtended" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1593"/>
    <field name="VString" type="PShortString" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1595"/>
    <field name="VPointer" type="Pointer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1597">
      <devnotes>
        NEXTGEN
      </devnotes>
    </field>
    <field name="VPChar" type="PAnsiChar" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1598"/>
    <field name="VObject" type="TObject" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1602"/>
    <field name="VClass" type="TClass" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1604"/>
    <field name="VWideChar" type="Char" visibility="public" variant="true" size="2" offset="0" file="System.pas" line="1605"/>
    <field name="VPWideChar" type="PWideChar" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1606"/>
    <field name="VAnsiString" type="Pointer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1607"/>
    <field name="VCurrency" type="PCurrency" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1608"/>
    <field name="VVariant" type="PVariant" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1609"/>
    <field name="VInterface" type="Pointer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1610"/>
    <field name="VWideString" type="Pointer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1611"/>
    <field name="VInt64" type="PInt64" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1612"/>
    <field name="VUnicodeString" type="Pointer" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1613"/>
    <field name="_Reserved1" type="NativeInt" visibility="public" variant="true" size="4" offset="0" file="System.pas" line="1615"/>
    <field name="VType" type="Byte" visibility="public" variant="true" size="1" offset="4" file="System.pas" line="1616"/>
  </struct>
  <pointer name="PMemoryManager" type="TMemoryManager" indircnt="1" file="System.pas" line="1663"/>
  <struct name="TMemoryManager" size="12" file="System.pas" line="1664" symflags="deprecated">
    <field name="GetMem" visibility="public" size="4" offset="0" file="System.pas" line="1665">
    </field>
    <field name="FreeMem" visibility="public" size="4" offset="4" file="System.pas" line="1666">
    </field>
    <field name="ReallocMem" visibility="public" size="4" offset="8" file="System.pas" line="1667">
    </field>
  </struct>
  <pointer name="PMemoryManagerEx" type="TMemoryManagerEx" indircnt="1" file="System.pas" line="1671"/>
  <struct name="TMemoryManagerEx" size="24" file="System.pas" line="1672">
    <field name="GetMem" visibility="public" size="4" offset="0" file="System.pas" line="1674">
    </field>
    <field name="FreeMem" visibility="public" size="4" offset="4" file="System.pas" line="1675">
    </field>
    <field name="ReallocMem" visibility="public" size="4" offset="8" file="System.pas" line="1676">
    </field>
    <field name="AllocMem" visibility="public" size="4" offset="12" file="System.pas" line="1678">
    </field>
    <field name="RegisterExpectedMemoryLeak" visibility="public" size="4" offset="16" file="System.pas" line="1679">
    </field>
    <field name="UnregisterExpectedMemoryLeak" visibility="public" size="4" offset="20" file="System.pas" line="1680">
    </field>
  </struct>
  <struct name="THeapStatus" size="40" file="System.pas" line="1683" symflags="deprecated">
    <field name="TotalAddrSpace" type="NativeUInt" visibility="public" size="4" offset="0" file="System.pas" line="1684"/>
    <field name="TotalUncommitted" type="NativeUInt" visibility="public" size="4" offset="4" file="System.pas" line="1685"/>
    <field name="TotalCommitted" type="NativeUInt" visibility="public" size="4" offset="8" file="System.pas" line="1686"/>
    <field name="TotalAllocated" type="NativeUInt" visibility="public" size="4" offset="12" file="System.pas" line="1687"/>
    <field name="TotalFree" type="NativeUInt" visibility="public" size="4" offset="16" file="System.pas" line="1688"/>
    <field name="FreeSmall" type="NativeUInt" visibility="public" size="4" offset="20" file="System.pas" line="1689"/>
    <field name="FreeBig" type="NativeUInt" visibility="public" size="4" offset="24" file="System.pas" line="1690"/>
    <field name="Unused" type="NativeUInt" visibility="public" size="4" offset="28" file="System.pas" line="1691"/>
    <field name="Overhead" type="NativeUInt" visibility="public" size="4" offset="32" file="System.pas" line="1692"/>
    <field name="HeapErrorCode" type="Cardinal" visibility="public" size="4" offset="36" file="System.pas" line="1693"/>
  </struct>
  <struct name="TSmallBlockTypeState" size="16" packed="true" file="System.pas" line="1696">
    <field name="InternalBlockSize" type="Cardinal" visibility="public" size="4" offset="0" file="System.pas" line="1698"/>
    <field name="UseableBlockSize" type="Cardinal" visibility="public" size="4" offset="4" file="System.pas" line="1700"/>
    <field name="AllocatedBlockCount" type="NativeUInt" visibility="public" size="4" offset="8" file="System.pas" line="1702"/>
    <field name="ReservedAddressSpace" type="NativeUInt" visibility="public" size="4" offset="12" file="System.pas" line="1705"/>
  </struct>
  <array name="TSmallBlockTypeStates" low="0" high="54" file="System.pas" line="1707">
    <element type="TSmallBlockTypeState"/>
  </array>
  <struct name="TMemoryManagerState" size="904" packed="true" file="System.pas" line="1709">
    <field name="SmallBlockTypeStates" type="TSmallBlockTypeStates" visibility="public" size="880" offset="0" file="System.pas" line="1711"/>
    <field name="AllocatedMediumBlockCount" type="Cardinal" visibility="public" size="4" offset="880" file="System.pas" line="1713"/>
    <field name="TotalAllocatedMediumBlockSize" type="NativeUInt" visibility="public" size="4" offset="884" file="System.pas" line="1714"/>
    <field name="ReservedMediumBlockAddressSpace" type="NativeUInt" visibility="public" size="4" offset="888" file="System.pas" line="1715"/>
    <field name="AllocatedLargeBlockCount" type="Cardinal" visibility="public" size="4" offset="892" file="System.pas" line="1717"/>
    <field name="TotalAllocatedLargeBlockSize" type="NativeUInt" visibility="public" size="4" offset="896" file="System.pas" line="1718"/>
    <field name="ReservedLargeBlockAddressSpace" type="NativeUInt" visibility="public" size="4" offset="900" file="System.pas" line="1719"/>
  </struct>
  <pointer name="PMonitorSupport" type="TMonitorSupport" indircnt="1" file="System.pas" line="1722"/>
  <struct name="TMonitorSupport" size="20" file="System.pas" line="1723">
    <field name="NewSyncObject" visibility="public" size="4" offset="0" file="System.pas" line="1725">
    </field>
    <field name="FreeSyncObject" visibility="public" size="4" offset="4" file="System.pas" line="1727">
    </field>
    <field name="NewWaitObject" visibility="public" size="4" offset="8" file="System.pas" line="1729">
    </field>
    <field name="FreeWaitObject" visibility="public" size="4" offset="12" file="System.pas" line="1731">
    </field>
    <field name="WaitOrSignalObject" visibility="public" size="4" offset="16" file="System.pas" line="1735">
    </field>
  </struct>
  <struct name="TPtrWrapper" size="4" file="System.pas" line="1739">
    <field name="Value" type="PByte" visibility="private" size="4" offset="0" file="System.pas" line="1741"/>
    <function name="GetNilValue" visibility="private" procflags="static inline" file="System.pas" line="1742">
      <parameters>
        <retval type="TPtrWrapper"/>
      </parameters>
    </function>
    <constructor name="Create" visibility="public" file="System.pas" line="1744">
      <parameters>
        <parameter name="AValue" type="NativeInt"/>
      </parameters>
    </constructor>
    <constructor name="Create" visibility="public" file="System.pas" line="1745">
      <parameters>
        <parameter name="AValue" type="Pointer"/>
      </parameters>
    </constructor>
    <function name="ToPointer" visibility="public" procflags="inline" file="System.pas" line="1747">
      <parameters>
        <retval type="Pointer"/>
      </parameters>
    </function>
    <function name="ToInteger" visibility="public" procflags="inline" file="System.pas" line="1748">
      <parameters>
        <retval type="NativeInt"/>
      </parameters>
    </function>
    <property name="NilValue" visibility="public" read="GetNilValue" type="TPtrWrapper" file="System.pas" line="1750"/>
    <function name="operator Equality" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="1752" generated="true">
      <parameters>
        <parameter name="Left" type="TPtrWrapper"/>
        <parameter name="Right" type="TPtrWrapper"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <function name="operator Inequality" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="1753" generated="true">
      <parameters>
        <parameter name="Left" type="TPtrWrapper"/>
        <parameter name="Right" type="TPtrWrapper"/>
        <retval type="Boolean"/>
      </parameters>
    </function>
  </struct>
  <class name="TMarshal" file="System.pas" line="1757">
    
    <members>
      <constructor name="Create" visibility="public" file="System.pas" line="1758">
        <parameters>
        </parameters>
      </constructor>
      <function name="InString" visibility="public" procflags="static overload inline" file="System.pas" line="1761">
        <parameters>
          <parameter name="S" type="string" paramflags="const"/>
          <retval type="PWideChar"/>
        </parameters>
      </function>
      <function name="OutString" visibility="public" procflags="static overload inline" file="System.pas" line="1762">
        <parameters>
          <parameter name="S" type="string" paramflags="const"/>
          <retval type="PWideChar"/>
        </parameters>
      </function>
      <function name="InOutString" visibility="public" procflags="static overload inline" file="System.pas" line="1763">
        <parameters>
          <parameter name="S" type="string" paramflags="const"/>
          <retval type="PWideChar"/>
        </parameters>
      </function>
      <function name="AsAnsi" visibility="public" procflags="static overload inline" file="System.pas" line="1764">
        <parameters>
          <parameter name="S" type="string" paramflags="const"/>
          <retval type="AnsiString"/>
        </parameters>
      </function>
      <function name="AsAnsi" visibility="public" procflags="static overload inline" file="System.pas" line="1765">
        <parameters>
          <parameter name="S" type="PWideChar"/>
          <retval type="AnsiString"/>
        </parameters>
      </function>
      <function name="AllocMem" visibility="public" procflags="class" file="System.pas" line="1768">
        <parameters>
          <parameter name="Size" type="NativeInt"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="ReallocMem" visibility="public" procflags="class" file="System.pas" line="1769">
        <parameters>
          <parameter name="OldPtr" type="TPtrWrapper"/>
          <parameter name="NewSize" type="NativeInt"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <procedure name="FreeMem" visibility="public" procflags="class" file="System.pas" line="1770">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1773">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.Byte&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1774">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.Byte&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1775">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.Char&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1776">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.Char&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1777">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.Word&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1778">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.Word&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1779">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.ShortInt&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1780">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.ShortInt&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1781">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.SmallInt&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1782">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.SmallInt&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1783">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.Integer&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1784">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.Integer&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1785">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.Int64&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1786">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.Int64&gt;" paramflags="var"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1787">
        <parameters>
          <parameter name="Src" type="TArray&lt;System.TPtrWrapper&gt;" paramflags="const"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Dest" type="TPtrWrapper"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="Copy" visibility="public" procflags="class overload" file="System.pas" line="1788">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TArray&lt;System.TPtrWrapper&gt;"/>
          <parameter name="StartIndex" type="Integer"/>
          <parameter name="Count" type="Integer"/>
        </parameters>
      </procedure>
      <function name="ReadByte" visibility="public" procflags="class" file="System.pas" line="1791">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt">
            <value>
              $0
            </value>
          </parameter>
          <retval type="Byte"/>
        </parameters>
      </function>
      <function name="ReadInt16" visibility="public" procflags="class" file="System.pas" line="1792">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt">
            <value>
              $0
            </value>
          </parameter>
          <retval type="SmallInt"/>
        </parameters>
      </function>
      <function name="ReadInt32" visibility="public" procflags="class" file="System.pas" line="1793">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt">
            <value>
              $0
            </value>
          </parameter>
          <retval type="Integer"/>
        </parameters>
      </function>
      <function name="ReadInt64" visibility="public" procflags="class" file="System.pas" line="1794">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt">
            <value>
              $0
            </value>
          </parameter>
          <retval type="Int64"/>
        </parameters>
      </function>
      <function name="ReadPtr" visibility="public" procflags="class" file="System.pas" line="1795">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt">
            <value>
              $0
            </value>
          </parameter>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <procedure name="WriteByte" visibility="public" procflags="class overload" file="System.pas" line="1797">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="Byte"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt16" visibility="public" procflags="class overload" file="System.pas" line="1798">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="SmallInt"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt32" visibility="public" procflags="class overload" file="System.pas" line="1799">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt64" visibility="public" procflags="class overload" file="System.pas" line="1800">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="Int64"/>
        </parameters>
      </procedure>
      <procedure name="WritePtr" visibility="public" procflags="class overload" file="System.pas" line="1801">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="TPtrWrapper" paramflags="const"/>
        </parameters>
      </procedure>
      <procedure name="WriteByte" visibility="public" procflags="class overload" file="System.pas" line="1803">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Value" type="Byte"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt16" visibility="public" procflags="class overload" file="System.pas" line="1804">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Value" type="SmallInt"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt32" visibility="public" procflags="class overload" file="System.pas" line="1805">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Value" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteInt64" visibility="public" procflags="class overload" file="System.pas" line="1806">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Value" type="Int64"/>
        </parameters>
      </procedure>
      <procedure name="WritePtr" visibility="public" procflags="class overload" file="System.pas" line="1807">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Value" type="TPtrWrapper" paramflags="const"/>
        </parameters>
      </procedure>
      <procedure name="Move" visibility="public" procflags="class inline" file="System.pas" line="1810">
        <parameters>
          <parameter name="Src" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Dest" type="TPtrWrapper" paramflags="const"/>
          <parameter name="Count" type="NativeInt"/>
        </parameters>
      </procedure>
      <function name="FixArray" visibility="public" procflags="class overload" file="System.pas" line="1813">
        <parameters>
          <parameter name="Arr" type="TArray&lt;System.TMarshal.FixArray.T&gt;" paramflags="const"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <procedure name="UnfixArray" visibility="public" procflags="class overload" file="System.pas" line="1814">
        <parameters>
          <parameter name="ArrPtr" type="TPtrWrapper"/>
        </parameters>
      </procedure>
      <function name="FixString" visibility="public" procflags="class overload" file="System.pas" line="1817">
        <parameters>
          <parameter name="Str" type="string" paramflags="var"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <procedure name="UnfixString" visibility="public" procflags="class overload" file="System.pas" line="1818">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
        </parameters>
      </procedure>
      <function name="UnsafeFixString" visibility="public" procflags="class overload" file="System.pas" line="1820">
        <parameters>
          <parameter name="Str" type="string" paramflags="const"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="UnsafeAddrOf" visibility="public" procflags="class inline" file="System.pas" line="1823">
        <parameters>
          <parameter name="Value" paramflags="var"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1826">
        <parameters>
          <parameter name="Str" type="string" paramflags="const"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1827">
        <parameters>
          <parameter name="Str" type="string" paramflags="const"/>
          <parameter name="CodePage" type="Word"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsUnicode" visibility="public" procflags="class" file="System.pas" line="1828">
        <parameters>
          <parameter name="Str" type="string" paramflags="const"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1829">
        <parameters>
          <parameter name="S" type="PWideChar"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1830">
        <parameters>
          <parameter name="S" type="PWideChar"/>
          <parameter name="CodePage" type="Word"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsUtf8" visibility="public" procflags="class overload" file="System.pas" line="1831">
        <parameters>
          <parameter name="Str" type="string" paramflags="const"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="AllocStringAsUtf8" visibility="public" procflags="class overload" file="System.pas" line="1832">
        <parameters>
          <parameter name="S" type="PWideChar"/>
          <retval type="TPtrWrapper"/>
        </parameters>
      </function>
      <function name="ReadStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1835">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Len" type="Integer">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1836">
        <parameters>
          <parameter name="CodePage" type="Word"/>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Len" type="Integer">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsUnicode" visibility="public" procflags="class" file="System.pas" line="1837">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Len" type="Integer">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsUtf8" visibility="public" procflags="class" file="System.pas" line="1838">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Len" type="Integer">
            <value>
              $FFFFFFFF
            </value>
          </parameter>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsAnsiUpTo" visibility="public" procflags="class" file="System.pas" line="1841">
        <parameters>
          <parameter name="CodePage" type="Word"/>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="MaxLen" type="Integer"/>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsUnicodeUpTo" visibility="public" procflags="class" file="System.pas" line="1842">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="MaxLen" type="Integer"/>
          <retval type="string"/>
        </parameters>
      </function>
      <function name="ReadStringAsUtf8UpTo" visibility="public" procflags="class" file="System.pas" line="1843">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="MaxLen" type="Integer"/>
          <retval type="string"/>
        </parameters>
      </function>
      <procedure name="WriteStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1847">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1848">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
          <parameter name="CodePage" type="Word"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1849">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsAnsi" visibility="public" procflags="class overload" file="System.pas" line="1850">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
          <parameter name="CodePage" type="Word"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsUnicode" visibility="public" procflags="class overload" file="System.pas" line="1851">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsUnicode" visibility="public" procflags="class overload" file="System.pas" line="1852">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsUtf8" visibility="public" procflags="class overload" file="System.pas" line="1853">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
      <procedure name="WriteStringAsUtf8" visibility="public" procflags="class overload" file="System.pas" line="1854">
        <parameters>
          <parameter name="Ptr" type="TPtrWrapper"/>
          <parameter name="Ofs" type="NativeInt"/>
          <parameter name="Value" type="string" paramflags="const"/>
          <parameter name="MaxCharsIncNull" type="Integer"/>
        </parameters>
      </procedure>
    </members>
  </class>
  <enum name="TChunkStatus" file="System.pas" line="1859">
    <element value="0" name="csUnallocated" file="System.pas" line="1859"/>
    <element value="1" name="csAllocated" file="System.pas" line="1859"/>
    <element value="2" name="csReserved" file="System.pas" line="1859"/>
    <element value="3" name="csSysAllocated" file="System.pas" line="1860"/>
    <element value="4" name="csSysReserved" file="System.pas" line="1860"/>
  </enum>
  <array name="TMemoryMap" low="0" high="65535" file="System.pas" line="1861">
    <element type="TChunkStatus"/>
  </array>
  <enum name="TMinimumBlockAlignment" file="System.pas" line="1864">
    <element value="0" name="mba8Byte" file="System.pas" line="1864"/>
    <element value="1" name="mba16Byte" file="System.pas" line="1864"/>
  </enum>
  <struct name="PackageUnitEntry" size="8" packed="true" file="System.pas" line="1881">
    <field name="Init" type="Pointer" visibility="public" size="4" offset="0" file="System.pas" line="1882"/>
    <field name="FInit" type="Pointer" visibility="public" size="4" offset="4" file="System.pas" line="1882"/>
  </struct>
  <array name="UnitEntryTable" low="0" high="9999999" file="System.pas" line="1887">
    <element type="PackageUnitEntry"/>
  </array>
  <pointer name="PUnitEntryTable" type="UnitEntryTable" indircnt="1" file="System.pas" line="1888"/>
  <array name="TTypeTable" low="0" high="536870910" file="System.pas" line="1892">
    <element type="Pointer"/>
  </array>
  <pointer name="PTypeTable" type="TTypeTable" indircnt="1" file="System.pas" line="1893"/>
  <pointer name="PPackageTypeInfo" type="TPackageTypeInfo" indircnt="1" file="System.pas" line="1901"/>
  <struct name="TPackageTypeInfo" size="16" file="System.pas" line="1902">
    <field name="TypeCount" type="Integer" visibility="public" size="4" offset="0" file="System.pas" line="1903"/>
    <field name="TypeTable" type="PTypeTable" visibility="public" size="4" offset="4" file="System.pas" line="1904"/>
    <field name="UnitCount" type="Integer" visibility="public" size="4" offset="8" file="System.pas" line="1905"/>
    <field name="UnitNames" type="PShortString" visibility="public" size="4" offset="12" file="System.pas" line="1906"/>
  </struct>
  <struct name="PackageInfoTable" size="24" file="System.pas" line="1909">
    <field name="UnitCount" type="Integer" visibility="public" size="4" offset="0" file="System.pas" line="1910"/>
    <field name="UnitInfo" type="PUnitEntryTable" visibility="public" size="4" offset="4" file="System.pas" line="1911"/>
    <field name="TypeInfo" type="TPackageTypeInfo" visibility="public" size="16" offset="8" file="System.pas" line="1912"/>
  </struct>
  <pointer name="PackageInfo" type="PackageInfoTable" indircnt="1" file="System.pas" line="1915"/>
  <type name="GetPackageInfoTable" file="System.pas" line="1919" procflags="">
  </type>
  <struct name="TCVModInfo" size="12" packed="true" file="System.pas" line="1994">
    <field name="ModName" type="PAnsiChar" visibility="public" size="4" offset="0" file="System.pas" line="1995"/>
    <field name="LibName" type="PAnsiChar" visibility="public" size="4" offset="4" file="System.pas" line="1996"/>
    <field name="UserData" type="Pointer" visibility="public" size="4" offset="8" file="System.pas" line="1997"/>
  </struct>
  <pointer name="PCVModInfo" type="TCVModInfo" indircnt="1" file="System.pas" line="1999"/>
  <type name="TAssertErrorProc" file="System.pas" line="2008" procflags="">
  </type>
  <type name="TSafeCallErrorProc" file="System.pas" line="2010" procflags="">
  </type>
  <type name="TRaiseExceptionProc" file="System.pas" line="2011" procflags="">
  </type>
  <variable name="DispCallByIDProc" type="Pointer" file="System.pas" line="2028"/>
  <variable name="ExceptProc" type="Pointer" file="System.pas" line="2029"/>
  <variable name="ErrorProc" type="procedure(ErrorCode: Byte; ErrorAddr: Pointer)" file="System.pas" line="2030"/>
  <variable name="ExceptClsProc" type="Pointer" file="System.pas" line="2032"/>
  <variable name="ExceptObjProc" type="Pointer" file="System.pas" line="2033"/>
  <variable name="RaiseExceptionProc" type="Pointer" file="System.pas" line="2035"/>
  <variable name="RTLUnwindProc" type="Pointer" file="System.pas" line="2039"/>
  <variable name="RaiseExceptObjProc" type="Pointer" file="System.pas" line="2041"/>
  <variable name="ExceptionAcquired" type="Pointer" file="System.pas" line="2042"/>
  <variable name="ExceptionClass" type="TClass" file="System.pas" line="2043"/>
  <variable name="SafeCallErrorProc" type="TSafeCallErrorProc" file="System.pas" line="2044"/>
  <variable name="AssertErrorProc" type="TAssertErrorProc" file="System.pas" line="2045"/>
  <variable name="ExitProcessProc" type="procedure" file="System.pas" line="2046"/>
  <variable name="AbstractErrorProc" type="procedure" file="System.pas" line="2047"/>
  <variable name="HPrevInst" type="Cardinal" file="System.pas" line="2049" symflags="deprecated">
  </variable>
  <variable name="MainInstance" type="NativeUInt" file="System.pas" line="2051"/>
  <variable name="MainThreadID" type="Cardinal" file="System.pas" line="2059"/>
  <variable name="IsLibrary" type="Boolean" file="System.pas" line="2060"/>
  <variable name="CmdShow" type="Integer" file="System.pas" line="2062" symflags="platform">
  </variable>
  <variable name="CmdLine" type="PWideChar" file="System.pas" line="2063" symflags="platform">
  </variable>
  <variable name="InitProc" type="Pointer" file="System.pas" line="2065"/>
  <variable name="ExitCode" type="Integer" visibility="public" file="System.pas" line="2066"/>
  <variable name="ExitProc" type="Pointer" file="System.pas" line="2067"/>
  <variable name="ErrorAddr" type="Pointer" visibility="public" file="System.pas" line="2068"/>
  <variable name="RandSeed" type="Integer" visibility="public" file="System.pas" line="2069"/>
  <variable name="IsConsole" type="Boolean" file="System.pas" line="2070"/>
  <variable name="IsMultiThread" type="Boolean" file="System.pas" line="2071"/>
  <variable name="FileMode" type="Byte" visibility="public" file="System.pas" line="2072"/>
  <variable name="Test8086" type="Byte" file="System.pas" line="2080"/>
  <variable name="Test8087" type="Byte" visibility="public" file="System.pas" line="2081"/>
  <variable name="TestFDIV" type="ShortInt" file="System.pas" line="2082"/>
  <variable name="TestSSE" type="Cardinal" file="System.pas" line="2083"/>
  <variable name="CPUCount" type="Integer" file="System.pas" line="2085"/>
  <variable name="Input" type="Text" file="System.pas" line="2086"/>
  <variable name="Output" type="Text" file="System.pas" line="2087"/>
  <variable name="ErrOutput" type="Text" file="System.pas" line="2088"/>
  <variable name="VarClearProc" type="procedure(v: TVarData)" visibility="public" file="System.pas" line="2090"/>
  <variable name="VarAddRefProc" type="procedure(v: TVarData)" visibility="public" file="System.pas" line="2091"/>
  <variable name="VarCopyProc" type="procedure(Dest: TVarData; Source: TVarData)" visibility="public" file="System.pas" line="2092"/>
  <variable name="VarToLStrProc" type="procedure(Dest: AnsiString; Source: TVarData; CodePage: Word)" visibility="public" file="System.pas" line="2093"/>
  <variable name="VarToWStrProc" type="procedure(Dest: WideString; Source: TVarData)" visibility="public" file="System.pas" line="2095"/>
  <variable name="VarToUStrProc" type="procedure(Dest: string; Source: TVarData)" visibility="public" file="System.pas" line="2097">
    <devnotes>
      NEXTGEN
    </devnotes>
  </variable>
  <variable name="MonitorSupport" type="PMonitorSupport" file="System.pas" line="2099"/>
  <variable name="DLLShutdownProc" type="procedure" visibility="public" file="System.pas" line="2103"/>
  <const name="CPUi386" type="Integer" file="System.pas" line="2110">
    <value>
      $2
    </value>
  </const>
  <const name="CPUi486" type="Integer" file="System.pas" line="2111">
    <value>
      $3
    </value>
  </const>
  <const name="CPUPentium" type="Integer" file="System.pas" line="2112">
    <value>
      $4
    </value>
  </const>
  <struct name="TCPUIDRec" size="16" file="System.pas" line="2115" symflags="platform">
    <field name="EAX" type="Cardinal" visibility="public" size="4" offset="0" file="System.pas" line="2116"/>
    <field name="EBX" type="Cardinal" visibility="public" size="4" offset="4" file="System.pas" line="2116"/>
    <field name="ECX" type="Cardinal" visibility="public" size="4" offset="8" file="System.pas" line="2116"/>
    <field name="EDX" type="Cardinal" visibility="public" size="4" offset="12" file="System.pas" line="2116"/>
  </struct>
  <variable name="CPUIDTable" file="System.pas" line="2120" symflags="platform">
  </variable>
  <variable name="ERMSBThreshold" type="NativeInt" visibility="public" file="System.pas" line="2128"/>
  <variable name="Default8087CW" type="Word" visibility="public" file="System.pas" line="2138" symflags="platform">
  </variable>
  <variable name="DefaultMXCSR" type="Cardinal" visibility="public" file="System.pas" line="2145" symflags="platform">
  </variable>
  <variable name="HeapAllocFlags" type="Word" visibility="public" file="System.pas" line="2156" symflags="platform">
  </variable>
  <variable name="DebugHook" type="Byte" visibility="public" file="System.pas" line="2157" symflags="platform">
  </variable>
  <variable name="JITEnable" type="Byte" visibility="public" file="System.pas" line="2159" symflags="platform">
  </variable>
  <variable name="NoErrMsg" type="Boolean" visibility="public" file="System.pas" line="2162" symflags="platform">
  </variable>
  <variable name="DefaultSystemCodePage" type="Integer" file="System.pas" line="2172"/>
  <variable name="DefaultUnicodeCodePage" type="Integer" file="System.pas" line="2173"/>
  <variable name="UTF8CompareLocale" type="Cardinal" file="System.pas" line="2175"/>
  <const name="tlbsLF" type="TTextLineBreakStyle" file="System.pas" line="2194">
    <value>
      tlbsLF
    </value>
  </const>
  <const name="tlbsCRLF" type="TTextLineBreakStyle" file="System.pas" line="2194">
    <value>
      tlbsCRLF
    </value>
  </const>
  <enum name="TTextLineBreakStyle" file="System.pas" line="2194">
    <element value="0" name="tlbsLF" file="System.pas" line="2194"/>
    <element value="1" name="tlbsCRLF" file="System.pas" line="2194"/>
  </enum>
  <variable name="DefaultTextLineBreakStyle" type="TTextLineBreakStyle" visibility="public" file="System.pas" line="2197"/>
  <const name="sLineBreak" type="AnsiString" file="System.pas" line="2200">
    <value>
      


    </value>
  </const>
  <type name="HRSRC" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="TResourceHandle" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="HINST" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="HMODULE" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <type name="HGLOBAL" type="cardinal" loBound="0" hiBound="-1" file="System.pas" line="12"/>
  <variable name="AllocMemCount" type="Integer" file="System.pas" line="2259" symflags="deprecated">
  </variable>
  <variable name="AllocMemSize" type="Integer" file="System.pas" line="2260" symflags="deprecated">
  </variable>
  <variable name="ReportMemoryLeaksOnShutdown" type="Boolean" file="System.pas" line="2265"/>
  <variable name="NeverSleepOnMMThreadContention" type="Boolean" file="System.pas" line="2271"/>
  <type name="TThreadFunc" file="System.pas" line="2311" procflags="">
  </type>
  <type name="TSystemThreadFuncProc" file="System.pas" line="2385" procflags="">
  </type>
  <type name="TSystemThreadEndProc" file="System.pas" line="2386" procflags="">
  </type>
  <variable name="SystemThreadFuncProc" type="TSystemThreadFuncProc" visibility="public" file="System.pas" line="2399"/>
  <variable name="SystemThreadEndProc" type="TSystemThreadEndProc" visibility="public" file="System.pas" line="2400"/>
  <const name="fmClosed" type="Word" file="System.pas" line="2418">
    <value>
      $D7B0
    </value>
  </const>
  <const name="fmInput" type="Word" file="System.pas" line="2419">
    <value>
      $D7B1
    </value>
  </const>
  <const name="fmOutput" type="Word" file="System.pas" line="2420">
    <value>
      $D7B2
    </value>
  </const>
  <const name="fmInOut" type="Word" file="System.pas" line="2421">
    <value>
      $D7B3
    </value>
  </const>
  <const name="tfCRLF" type="Integer" file="System.pas" line="2424">
    <value>
      $1
    </value>
  </const>
  <struct name="TFileRec" size="592" packed="true" file="System.pas" line="2429">
    <field name="Handle" type="NativeInt" visibility="public" size="4" offset="0" file="System.pas" line="2430"/>
    <field name="Mode" type="Word" visibility="public" size="2" offset="4" file="System.pas" line="2431"/>
    <field name="Flags" type="Word" visibility="public" size="2" offset="6" file="System.pas" line="2432"/>
    <field name="RecSize" type="Cardinal" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="2434"/>
    <field name="BufSize" type="Cardinal" visibility="public" variant="true" size="4" offset="8" file="System.pas" line="2435"/>
    <field name="BufPos" type="Cardinal" visibility="public" variant="true" size="4" offset="12" file="System.pas" line="2436"/>
    <field name="BufEnd" type="Cardinal" visibility="public" variant="true" size="4" offset="16" file="System.pas" line="2437"/>
    <field name="BufPtr" type="PAnsiChar" visibility="public" variant="true" size="4" offset="20" file="System.pas" line="2438"/>
    <field name="OpenFunc" type="Pointer" visibility="public" variant="true" size="4" offset="24" file="System.pas" line="2439"/>
    <field name="InOutFunc" type="Pointer" visibility="public" variant="true" size="4" offset="28" file="System.pas" line="2440"/>
    <field name="FlushFunc" type="Pointer" visibility="public" variant="true" size="4" offset="32" file="System.pas" line="2441"/>
    <field name="CloseFunc" type="Pointer" visibility="public" variant="true" size="4" offset="36" file="System.pas" line="2442"/>
    <field name="UserData" visibility="public" variant="true" size="32" offset="40" file="System.pas" line="2443">
      <array name="UserData" visibility="public" low="1" high="32" file="System.pas" line="2443">
        <element type="Byte"/>
      </array>
    </field>
    <field name="Name" visibility="public" variant="true" size="520" offset="72" file="System.pas" line="2444">
      <array name="Name" visibility="public" low="0" high="259" file="System.pas" line="2444">
        <element type="Char"/>
      </array>
    </field>
  </struct>
  <pointer name="PTextBuf" type="TTextBuf" indircnt="1" file="System.pas" line="2449"/>
  <array name="TTextBuf" low="0" high="127" file="System.pas" line="2450">
    <element type="AnsiChar"/>
  </array>
  <struct name="TTextRec" size="730" packed="true" file="System.pas" line="2451">
    <field name="Handle" type="NativeInt" visibility="public" size="4" offset="0" file="System.pas" line="2452"/>
    <field name="Mode" type="Word" visibility="public" size="2" offset="4" file="System.pas" line="2453"/>
    <field name="Flags" type="Word" visibility="public" size="2" offset="6" file="System.pas" line="2454"/>
    <field name="BufSize" type="Cardinal" visibility="public" size="4" offset="8" file="System.pas" line="2455"/>
    <field name="BufPos" type="Cardinal" visibility="public" size="4" offset="12" file="System.pas" line="2456"/>
    <field name="BufEnd" type="Cardinal" visibility="public" size="4" offset="16" file="System.pas" line="2457"/>
    <field name="BufPtr" type="PAnsiChar" visibility="public" size="4" offset="20" file="System.pas" line="2458"/>
    <field name="OpenFunc" type="Pointer" visibility="public" size="4" offset="24" file="System.pas" line="2459"/>
    <field name="InOutFunc" type="Pointer" visibility="public" size="4" offset="28" file="System.pas" line="2460"/>
    <field name="FlushFunc" type="Pointer" visibility="public" size="4" offset="32" file="System.pas" line="2461"/>
    <field name="CloseFunc" type="Pointer" visibility="public" size="4" offset="36" file="System.pas" line="2462"/>
    <field name="UserData" visibility="public" size="32" offset="40" file="System.pas" line="2463">
      <array name="UserData" visibility="public" low="1" high="32" file="System.pas" line="2463">
        <element type="Byte"/>
      </array>
    </field>
    <field name="Name" visibility="public" size="520" offset="72" file="System.pas" line="2464">
      <array name="Name" visibility="public" low="0" high="259" file="System.pas" line="2464">
        <element type="Char"/>
      </array>
    </field>
    <field name="Buffer" type="TTextBuf" visibility="public" size="128" offset="592" file="System.pas" line="2465"/>
    <field name="CodePage" type="Word" visibility="public" size="2" offset="720" file="System.pas" line="2466"/>
    <field name="MBCSLength" type="ShortInt" visibility="public" size="1" offset="722" file="System.pas" line="2467"/>
    <field name="MBCSBufPos" type="Byte" visibility="public" size="1" offset="723" file="System.pas" line="2468"/>
    <field name="MBCSBuffer" visibility="public" variant="true" size="6" offset="724" file="System.pas" line="2470">
      <array name="MBCSBuffer" visibility="public" low="0" high="5" file="System.pas" line="2470">
        <element type="AnsiChar"/>
      </array>
    </field>
    <field name="UTF16Buffer" visibility="public" variant="true" size="6" offset="724" file="System.pas" line="2471">
      <array name="UTF16Buffer" visibility="public" low="0" high="2" file="System.pas" line="2471">
        <element type="Char"/>
      </array>
    </field>
  </struct>
  <type name="TTextIOFunc" file="System.pas" line="2474" procflags="">
  </type>
  <type name="TFileIOFunc" file="System.pas" line="2475" procflags="">
  </type>
  <type name="TRandom32Proc" file="System.pas" line="2504" procflags="">
  </type>
  <type name="TRandomizeProc" file="System.pas" line="2505" procflags="">
  </type>
  <variable name="Random32Proc" type="TRandom32Proc" visibility="public" file="System.pas" line="2511"/>
  <variable name="RandomizeProc" type="TRandomizeProc" visibility="public" file="System.pas" line="2512"/>
  <const name="feeINEXACT" type="Integer" file="System.pas" line="2521">
    <value>
      $20
    </value>
  </const>
  <const name="feeUNDERFLOW" type="Integer" file="System.pas" line="2522">
    <value>
      $10
    </value>
  </const>
  <const name="feeOVERFLOW" type="Integer" file="System.pas" line="2523">
    <value>
      $8
    </value>
  </const>
  <const name="feeDIVBYZERO" type="Integer" file="System.pas" line="2524">
    <value>
      $4
    </value>
  </const>
  <const name="feeINVALID" type="Integer" file="System.pas" line="2525">
    <value>
      $1
    </value>
  </const>
  <const name="feeALLEXCEPT" type="Integer" file="System.pas" line="2526">
    <value>
      $3F
    </value>
  </const>
  <const name="feeDENORMALOPERAND" type="Integer" file="System.pas" line="2527" symflags="platform">
    <value>
      $2
    </value>
  </const>
  <const name="femINEXACT" type="Integer" file="System.pas" line="2529">
    <value>
      $20
    </value>
  </const>
  <const name="femUNDERFLOW" type="Integer" file="System.pas" line="2530">
    <value>
      $10
    </value>
  </const>
  <const name="femOVERFLOW" type="Integer" file="System.pas" line="2531">
    <value>
      $8
    </value>
  </const>
  <const name="femDIVBYZERO" type="Integer" file="System.pas" line="2532">
    <value>
      $4
    </value>
  </const>
  <const name="femINVALID" type="Integer" file="System.pas" line="2533">
    <value>
      $1
    </value>
  </const>
  <const name="femALLEXCEPT" type="Integer" file="System.pas" line="2534">
    <value>
      $3F
    </value>
  </const>
  <const name="femDENORMALOPERAND" type="Integer" file="System.pas" line="2535" symflags="platform">
    <value>
      $2
    </value>
  </const>
  <const name="ferTONEAREST" type="Integer" file="System.pas" line="2537">
    <value>
      $0
    </value>
  </const>
  <const name="ferUPWARD" type="Integer" file="System.pas" line="2538">
    <value>
      $800
    </value>
  </const>
  <const name="ferDOWNWARD" type="Integer" file="System.pas" line="2539">
    <value>
      $400
    </value>
  </const>
  <const name="ferTOWARDZERO" type="Integer" file="System.pas" line="2540">
    <value>
      $C00
    </value>
  </const>
  <const name="ferALLROUND" type="Integer" file="System.pas" line="2541">
    <value>
      $C00
    </value>
  </const>
  <pointer name="PLibModule" type="TLibModule" indircnt="1" file="System.pas" line="2800"/>
  <struct name="TLibModule" size="28" file="System.pas" line="2801">
    <field name="Next" type="PLibModule" visibility="public" size="4" offset="0" file="System.pas" line="2802"/>
    <field name="Instance" type="NativeUInt" visibility="public" size="4" offset="4" file="System.pas" line="2803"/>
    <field name="CodeInstance" type="NativeUInt" visibility="public" size="4" offset="8" file="System.pas" line="2804"/>
    <field name="DataInstance" type="NativeUInt" visibility="public" size="4" offset="12" file="System.pas" line="2805"/>
    <field name="ResInstance" type="NativeUInt" visibility="public" size="4" offset="16" file="System.pas" line="2806"/>
    <field name="TypeInfo" type="PPackageTypeInfo" visibility="public" size="4" offset="20" file="System.pas" line="2807"/>
    <field name="Reserved" type="NativeInt" visibility="public" size="4" offset="24" file="System.pas" line="2808"/>
  </struct>
  <type name="TEnumModuleFunc" file="System.pas" line="2820" procflags="">
  </type>
  <type name="TEnumModuleFuncLW" file="System.pas" line="2821" procflags="">
  </type>
  <type name="TModuleUnloadProc" file="System.pas" line="2822" procflags="">
  </type>
  <type name="TModuleUnloadProcLW" file="System.pas" line="2823" procflags="">
  </type>
  <pointer name="PModuleUnloadRec" type="TModuleUnloadRec" indircnt="1" file="System.pas" line="2825"/>
  <struct name="TModuleUnloadRec" size="8" file="System.pas" line="2826">
    <field name="Next" type="PModuleUnloadRec" visibility="public" size="4" offset="0" file="System.pas" line="2827"/>
    <field name="Proc" type="TModuleUnloadProcLW" visibility="public" size="4" offset="4" file="System.pas" line="2828"/>
  </struct>
  <variable name="LibModuleList" type="PLibModule" visibility="public" file="System.pas" line="2832"/>
  <variable name="ModuleUnloadList" type="PModuleUnloadRec" visibility="public" file="System.pas" line="2833"/>
  <pointer name="PResStringRec" type="TResStringRec" indircnt="1" file="System.pas" line="2861"/>
  <struct name="TResStringRec" size="8" packed="true" file="System.pas" line="2867">
    <field name="Module" visibility="public" size="4" offset="0" file="System.pas" line="2870">
      <pointer name="Module" type="NativeUInt" indircnt="1"/>
    </field>
    <field name="Identifier" type="NativeUInt" visibility="public" size="4" offset="4" file="System.pas" line="2871"/>
  </struct>
  <variable name="LoadResStringFunc" type="function(ResStringRec: PResStringRec): string;" visibility="public" file="System.pas" line="2876"/>
  <const name="fsZero" type="TFloatSpecial" file="System.pas" line="2882">
    <value>
      fsZero
    </value>
  </const>
  <const name="fsNZero" type="TFloatSpecial" file="System.pas" line="2882">
    <value>
      fsNZero
    </value>
  </const>
  <const name="fsDenormal" type="TFloatSpecial" file="System.pas" line="2882">
    <value>
      fsDenormal
    </value>
  </const>
  <const name="fsNDenormal" type="TFloatSpecial" file="System.pas" line="2882">
    <value>
      fsNDenormal
    </value>
  </const>
  <const name="fsPositive" type="TFloatSpecial" file="System.pas" line="2883">
    <value>
      fsPositive
    </value>
  </const>
  <const name="fsNegative" type="TFloatSpecial" file="System.pas" line="2883">
    <value>
      fsNegative
    </value>
  </const>
  <const name="fsInf" type="TFloatSpecial" file="System.pas" line="2883">
    <value>
      fsInf
    </value>
  </const>
  <const name="fsNInf" type="TFloatSpecial" file="System.pas" line="2883">
    <value>
      fsNInf
    </value>
  </const>
  <const name="fsNaN" type="TFloatSpecial" file="System.pas" line="2883">
    <value>
      fsNaN
    </value>
  </const>
  <enum name="TFloatSpecial" file="System.pas" line="2882">
    <element value="0" name="fsZero" file="System.pas" line="2882"/>
    <element value="1" name="fsNZero" file="System.pas" line="2882"/>
    <element value="2" name="fsDenormal" file="System.pas" line="2882"/>
    <element value="3" name="fsNDenormal" file="System.pas" line="2882"/>
    <element value="4" name="fsPositive" file="System.pas" line="2883"/>
    <element value="5" name="fsNegative" file="System.pas" line="2883"/>
    <element value="6" name="fsInf" file="System.pas" line="2883"/>
    <element value="7" name="fsNInf" file="System.pas" line="2883"/>
    <element value="8" name="fsNaN" file="System.pas" line="2883"/>
  </enum>
  <pointer name="PSingleRec" type="TSingleRec" indircnt="1" file="System.pas" line="2885"/>
  <struct name="TSingleRec" size="4" packed="true" file="System.pas" line="2886" symflags="deprecated">
    <field name="aSingle" type="Single" visibility="private" size="4" offset="0" file="System.pas" line="2888"/>
    <function name="InternalGetBytes" visibility="private" procflags="inline" file="System.pas" line="2890">
      <devnotes>
        PIC
        PIC
      </devnotes>
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="InternalGetWords" visibility="private" procflags="inline" file="System.pas" line="2891">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="InternalSetBytes" visibility="private" procflags="inline" file="System.pas" line="2892">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="InternalSetWords" visibility="private" procflags="inline" file="System.pas" line="2893">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetBytes" visibility="private" procflags="inline" file="System.pas" line="2894">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="GetWords" visibility="private" procflags="inline" file="System.pas" line="2895">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="SetBytes" visibility="private" procflags="inline" file="System.pas" line="2896">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetWords" visibility="private" procflags="inline" file="System.pas" line="2897">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetExp" visibility="private" procflags="inline" file="System.pas" line="2898">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetFrac" visibility="private" procflags="inline" file="System.pas" line="2899">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetSign" visibility="private" procflags="inline" file="System.pas" line="2900">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="SetExp" visibility="private" file="System.pas" line="2901">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetFrac" visibility="private" file="System.pas" line="2902">
      <parameters>
        <parameter name="NewFrac" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetSign" visibility="private" file="System.pas" line="2903">
      <parameters>
        <parameter name="NewSign" type="Boolean"/>
      </parameters>
    </procedure>
    <function name="Exponent" visibility="public" file="System.pas" line="2906">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="Fraction" visibility="public" file="System.pas" line="2907">
      <parameters>
        <retval type="Extended"/>
      </parameters>
    </function>
    <function name="Mantissa" visibility="public" file="System.pas" line="2908">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <property name="Sign" visibility="public" read="GetSign" write="SetSign" type="Boolean" file="System.pas" line="2910"/>
    <property name="Exp" visibility="public" read="GetExp" write="SetExp" type="UInt64" file="System.pas" line="2911"/>
    <property name="Frac" visibility="public" read="GetFrac" write="SetFrac" type="UInt64" file="System.pas" line="2912"/>
    <function name="SpecialType" visibility="public" file="System.pas" line="2914">
      <parameters>
        <retval type="TFloatSpecial"/>
      </parameters>
    </function>
    <procedure name="BuildUp" visibility="public" file="System.pas" line="2915">
      <parameters>
        <parameter name="SignFlag" type="Boolean" paramflags="const"/>
        <parameter name="Mantissa" type="UInt64" paramflags="const"/>
        <parameter name="Exponent" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="2916" generated="true">
      <parameters>
        <parameter name="a" type="Extended"/>
        <retval type="TSingleRec" symflags="deprecated">
        </retval>
      </parameters>
    </function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="2917" generated="true">
      <parameters>
        <parameter name="a" type="TSingleRec"/>
        <retval type="Extended"/>
      </parameters>
    </function>
    <property name="Bytes[Index]" visibility="public" read="GetBytes" write="SetBytes" type="Byte" file="System.pas" line="2919"/>
    <property name="Words[Index]" visibility="public" read="GetWords" write="SetWords" type="Word" file="System.pas" line="2920"/>
  </struct>
  <pointer name="PDoubleRec" type="TDoubleRec" indircnt="1" file="System.pas" line="2923"/>
  <struct name="TDoubleRec" size="8" packed="true" file="System.pas" line="2924" symflags="deprecated">
    <field name="aDouble" type="Double" visibility="private" size="8" offset="0" file="System.pas" line="2926"/>
    <function name="InternalGetBytes" visibility="private" procflags="inline" file="System.pas" line="2928">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="InternalGetWords" visibility="private" procflags="inline" file="System.pas" line="2929">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="InternalSetBytes" visibility="private" procflags="inline" file="System.pas" line="2930">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="InternalSetWords" visibility="private" procflags="inline" file="System.pas" line="2931">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetBytes" visibility="private" procflags="inline" file="System.pas" line="2932">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="GetWords" visibility="private" procflags="inline" file="System.pas" line="2933">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="SetBytes" visibility="private" procflags="inline" file="System.pas" line="2934">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetWords" visibility="private" procflags="inline" file="System.pas" line="2935">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetExp" visibility="private" procflags="inline" file="System.pas" line="2936">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetFrac" visibility="private" procflags="inline" file="System.pas" line="2937">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetSign" visibility="private" procflags="inline" file="System.pas" line="2938">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="SetExp" visibility="private" file="System.pas" line="2939">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetFrac" visibility="private" file="System.pas" line="2940">
      <parameters>
        <parameter name="NewFrac" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetSign" visibility="private" file="System.pas" line="2941">
      <parameters>
        <parameter name="NewSign" type="Boolean"/>
      </parameters>
    </procedure>
    <function name="Exponent" visibility="public" file="System.pas" line="2943">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="Fraction" visibility="public" file="System.pas" line="2944">
      <parameters>
        <retval type="Extended"/>
      </parameters>
    </function>
    <function name="Mantissa" visibility="public" file="System.pas" line="2945">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <property name="Sign" visibility="public" read="GetSign" write="SetSign" type="Boolean" file="System.pas" line="2947"/>
    <property name="Exp" visibility="public" read="GetExp" write="SetExp" type="UInt64" file="System.pas" line="2948"/>
    <property name="Frac" visibility="public" read="GetFrac" write="SetFrac" type="UInt64" file="System.pas" line="2949"/>
    <function name="SpecialType" visibility="public" file="System.pas" line="2951">
      <parameters>
        <retval type="TFloatSpecial"/>
      </parameters>
    </function>
    <procedure name="BuildUp" visibility="public" file="System.pas" line="2952">
      <parameters>
        <parameter name="SignFlag" type="Boolean" paramflags="const"/>
        <parameter name="Mantissa" type="UInt64" paramflags="const"/>
        <parameter name="Exponent" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="2953" generated="true">
      <parameters>
        <parameter name="a" type="Extended"/>
        <retval type="TDoubleRec" symflags="deprecated">
        </retval>
      </parameters>
    </function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload inline" file="System.pas" line="2954" generated="true">
      <parameters>
        <parameter name="a" type="TDoubleRec"/>
        <retval type="Extended"/>
      </parameters>
    </function>
    <property name="Bytes[Index]" visibility="public" read="GetBytes" write="SetBytes" type="Byte" file="System.pas" line="2956"/>
    <property name="Words[Index]" visibility="public" read="GetWords" write="SetWords" type="Word" file="System.pas" line="2957"/>
  </struct>
  <pointer name="PExtended80Rec" type="TExtended80Rec" indircnt="1" file="System.pas" line="2960"/>
  <struct name="TExtended80Rec" size="10" packed="true" file="System.pas" line="2961">
    <field name="aExtended80" type="Extended" visibility="private" size="10" offset="0" file="System.pas" line="2964"/>
    <function name="InternalGetBytes" visibility="private" procflags="inline" file="System.pas" line="2969">
      <devnotes>
        EXTENDEDIS10BYTES
      </devnotes>
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="InternalGetWords" visibility="private" procflags="inline" file="System.pas" line="2970">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="InternalSetBytes" visibility="private" procflags="inline" file="System.pas" line="2971">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="InternalSetWords" visibility="private" procflags="inline" file="System.pas" line="2972">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetBytes" visibility="private" file="System.pas" line="2973">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="GetWords" visibility="private" file="System.pas" line="2974">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <function name="Get_Exp" visibility="private" procflags="inline" file="System.pas" line="2975">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetExp" visibility="private" procflags="inline" file="System.pas" line="2976">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetFrac" visibility="private" procflags="inline" file="System.pas" line="2977">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetSign" visibility="private" procflags="inline" file="System.pas" line="2978">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="SetBytes" visibility="private" file="System.pas" line="2979">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetWords" visibility="private" file="System.pas" line="2980">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Set_Exp" visibility="private" procflags="inline" file="System.pas" line="2981">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetExp" visibility="private" file="System.pas" line="2982">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetFrac" visibility="private" procflags="inline" file="System.pas" line="2983">
      <parameters>
        <parameter name="NewFrac" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetSign" visibility="private" file="System.pas" line="2984">
      <parameters>
        <parameter name="NewSign" type="Boolean"/>
      </parameters>
    </procedure>
    <function name="Exponent" visibility="public" file="System.pas" line="2986">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="Fraction" visibility="public" file="System.pas" line="2987">
      <parameters>
        <retval type="Extended"/>
      </parameters>
    </function>
    <function name="Mantissa" visibility="public" procflags="inline" file="System.pas" line="2988">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <property name="Sign" visibility="public" read="GetSign" write="SetSign" type="Boolean" file="System.pas" line="2990"/>
    <property name="Exp" visibility="public" read="GetExp" write="SetExp" type="UInt64" file="System.pas" line="2991"/>
    <property name="_Exp" visibility="public" read="Get_Exp" write="Set_Exp" type="UInt64" file="System.pas" line="2992"/>
    <property name="Frac" visibility="public" read="GetFrac" write="SetFrac" type="UInt64" file="System.pas" line="2993"/>
    <function name="SpecialType" visibility="public" file="System.pas" line="2995">
      <parameters>
        <retval type="TFloatSpecial"/>
      </parameters>
    </function>
    <procedure name="BuildUp" visibility="public" file="System.pas" line="2996">
      <parameters>
        <parameter name="SignFlag" type="Boolean" paramflags="const"/>
        <parameter name="Mantissa" type="UInt64" paramflags="const"/>
        <parameter name="Exponent" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.pas" line="2997" generated="true">
      <parameters>
        <parameter name="a" type="Extended"/>
        <retval type="TExtended80Rec"/>
      </parameters>
    </function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.pas" line="2998" generated="true">
      <parameters>
        <parameter name="a" type="TExtended80Rec"/>
        <retval type="Extended"/>
      </parameters>
    </function>
    <property name="Bytes[Index]" visibility="public" read="GetBytes" write="SetBytes" type="Byte" file="System.pas" line="3000"/>
    <property name="Words[Index]" visibility="public" read="GetWords" write="SetWords" type="Word" file="System.pas" line="3001"/>
  </struct>
  <pointer name="PExtendedRec" alias="System.PExtended80Rec" type="TExtended80Rec" indircnt="1" file="System.pas" line="2960"/>
  <struct name="TExtendedRec" alias="System.TExtended80Rec" size="10" packed="true" file="System.pas" line="3011">
    <field name="aExtended80" type="Extended" visibility="private" size="10" offset="0" file="System.pas" line="2964"/>
    <function name="InternalGetBytes" visibility="private" procflags="inline" file="System.pas" line="2969">
      <devnotes>
        EXTENDEDIS10BYTES
      </devnotes>
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="InternalGetWords" visibility="private" procflags="inline" file="System.pas" line="2970">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <procedure name="InternalSetBytes" visibility="private" procflags="inline" file="System.pas" line="2971">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="InternalSetWords" visibility="private" procflags="inline" file="System.pas" line="2972">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="GetBytes" visibility="private" file="System.pas" line="2973">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Byte"/>
      </parameters>
    </function>
    <function name="GetWords" visibility="private" file="System.pas" line="2974">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <retval type="Word"/>
      </parameters>
    </function>
    <function name="Get_Exp" visibility="private" procflags="inline" file="System.pas" line="2975">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetExp" visibility="private" procflags="inline" file="System.pas" line="2976">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetFrac" visibility="private" procflags="inline" file="System.pas" line="2977">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <function name="GetSign" visibility="private" procflags="inline" file="System.pas" line="2978">
      <parameters>
        <retval type="Boolean"/>
      </parameters>
    </function>
    <procedure name="SetBytes" visibility="private" file="System.pas" line="2979">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Byte" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="SetWords" visibility="private" file="System.pas" line="2980">
      <parameters>
        <parameter name="Index" type="Cardinal"/>
        <parameter name="Value" type="Word" paramflags="const"/>
      </parameters>
    </procedure>
    <procedure name="Set_Exp" visibility="private" procflags="inline" file="System.pas" line="2981">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetExp" visibility="private" file="System.pas" line="2982">
      <parameters>
        <parameter name="NewExp" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetFrac" visibility="private" procflags="inline" file="System.pas" line="2983">
      <parameters>
        <parameter name="NewFrac" type="UInt64"/>
      </parameters>
    </procedure>
    <procedure name="SetSign" visibility="private" file="System.pas" line="2984">
      <parameters>
        <parameter name="NewSign" type="Boolean"/>
      </parameters>
    </procedure>
    <function name="Exponent" visibility="public" file="System.pas" line="2986">
      <parameters>
        <retval type="Integer"/>
      </parameters>
    </function>
    <function name="Fraction" visibility="public" file="System.pas" line="2987">
      <parameters>
        <retval type="Extended"/>
      </parameters>
    </function>
    <function name="Mantissa" visibility="public" procflags="inline" file="System.pas" line="2988">
      <parameters>
        <retval type="UInt64"/>
      </parameters>
    </function>
    <property name="Sign" visibility="public" read="GetSign" write="SetSign" type="Boolean" file="System.pas" line="2990"/>
    <property name="Exp" visibility="public" read="GetExp" write="SetExp" type="UInt64" file="System.pas" line="2991"/>
    <property name="_Exp" visibility="public" read="Get_Exp" write="Set_Exp" type="UInt64" file="System.pas" line="2992"/>
    <property name="Frac" visibility="public" read="GetFrac" write="SetFrac" type="UInt64" file="System.pas" line="2993"/>
    <function name="SpecialType" visibility="public" file="System.pas" line="2995">
      <parameters>
        <retval type="TFloatSpecial"/>
      </parameters>
    </function>
    <procedure name="BuildUp" visibility="public" file="System.pas" line="2996">
      <parameters>
        <parameter name="SignFlag" type="Boolean" paramflags="const"/>
        <parameter name="Mantissa" type="UInt64" paramflags="const"/>
        <parameter name="Exponent" type="Integer" paramflags="const"/>
      </parameters>
    </procedure>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.pas" line="2997" generated="true">
      <parameters>
        <parameter name="a" type="Extended"/>
        <retval type="TExtended80Rec"/>
      </parameters>
    </function>
    <function name="operator Explicit" visibility="public" procflags="class noself operator overload" file="System.pas" line="2998" generated="true">
      <parameters>
        <parameter name="a" type="TExtended80Rec"/>
        <retval type="Extended"/>
      </parameters>
    </function>
    <property name="Bytes[Index]" visibility="public" read="GetBytes" write="SetBytes" type="Byte" file="System.pas" line="3000"/>
    <property name="Words[Index]" visibility="public" read="GetWords" write="SetWords" type="Word" file="System.pas" line="3001"/>
  </struct>
  <variable name="AlternateWriteUnicodeStringProc" type="function(t: TTextRec; s: string): Pointer;" visibility="public" file="System.pas" line="3171"/>
  <pointer name="PInitContext" type="TInitContext" indircnt="1" file="System.pas" line="3334"/>
  <struct name="TInitContext" size="48" file="System.pas" line="3335" symflags="platform">
    <field name="OuterContext" type="PInitContext" visibility="public" size="4" offset="0" file="System.pas" line="3336"/>
    <field name="ExcFrame" type="Pointer" visibility="public" size="4" offset="4" file="System.pas" line="3338"/>
    <field name="InitTable" type="PackageInfo" visibility="public" size="4" offset="8" file="System.pas" line="3340"/>
    <field name="InitCount" type="Integer" visibility="public" size="4" offset="12" file="System.pas" line="3341"/>
    <field name="Module" type="PLibModule" visibility="public" size="4" offset="16" file="System.pas" line="3342"/>
    <field name="DLLSaveEBP" type="Pointer" visibility="public" size="4" offset="20" file="System.pas" line="3344"/>
    <field name="DLLSaveEBX" type="Pointer" visibility="public" size="4" offset="24" file="System.pas" line="3345"/>
    <field name="DLLSaveESI" type="Pointer" visibility="public" size="4" offset="28" file="System.pas" line="3346"/>
    <field name="DLLSaveEDI" type="Pointer" visibility="public" size="4" offset="32" file="System.pas" line="3347"/>
    <field name="ExitProcessTLS" visibility="public" size="4" offset="36" file="System.pas" line="3350">
    </field>
    <field name="DLLInitState" type="Byte" visibility="public" size="1" offset="40" file="System.pas" line="3352"/>
    <field name="ThreadID" type="Cardinal" visibility="public" size="4" offset="44" file="System.pas" line="3353"/>
  </struct>
  <type name="TDLLProc" file="System.pas" line="3365" procflags="">
  </type>
  <type name="TDLLProcEx" file="System.pas" line="3367" procflags="">
  </type>
  <pointer name="PExceptionRecord" type="TExceptionRecord" indircnt="1" file="System.pas" line="3391"/>
  <struct name="TExceptionRecord" size="80" file="System.pas" line="3392">
    <field name="ExceptionCode" type="Cardinal" visibility="public" size="4" offset="0" file="System.pas" line="3393"/>
    <field name="ExceptionFlags" type="Cardinal" visibility="public" size="4" offset="4" file="System.pas" line="3394"/>
    <field name="ExceptionRecord" type="PExceptionRecord" visibility="public" size="4" offset="8" file="System.pas" line="3395"/>
    <field name="ExceptionAddress" type="Pointer" visibility="public" size="4" offset="12" file="System.pas" line="3396"/>
    <field name="NumberParameters" type="Cardinal" visibility="public" size="4" offset="16" file="System.pas" line="3397"/>
    <field name="ExceptionInformation" visibility="public" variant="true" size="60" offset="20" file="System.pas" line="3399">
      <array name="ExceptionInformation" visibility="public" low="0" high="14" file="System.pas" line="3399">
        <element type="NativeUInt"/>
      </array>
    </field>
    <field name="ExceptAddr" type="Pointer" visibility="public" variant="true" size="4" offset="20" file="System.pas" line="3400"/>
    <field name="ExceptObject" type="Pointer" visibility="public" variant="true" size="4" offset="24" file="System.pas" line="3400"/>
  </struct>
  <type name="TExceptClsProc" file="System.pas" line="3402" procflags="">
  </type>
  <type name="TExceptObjProc" file="System.pas" line="3403" procflags="">
  </type>
  <type name="TRaiseExceptObjProc" file="System.pas" line="3404" procflags="">
  </type>
  <const name="reNone" type="TRuntimeError" file="System.pas" line="4157">
    <value>
      reNone
    </value>
  </const>
  <const name="reOutOfMemory" type="TRuntimeError" file="System.pas" line="4157">
    <value>
      reOutOfMemory
    </value>
  </const>
  <const name="reInvalidPtr" type="TRuntimeError" file="System.pas" line="4157">
    <value>
      reInvalidPtr
    </value>
  </const>
  <const name="reDivByZero" type="TRuntimeError" file="System.pas" line="4157">
    <value>
      reDivByZero
    </value>
  </const>
  <const name="reRangeError" type="TRuntimeError" file="System.pas" line="4158">
    <value>
      reRangeError
    </value>
  </const>
  <const name="reIntOverflow" type="TRuntimeError" file="System.pas" line="4158">
    <value>
      reIntOverflow
    </value>
  </const>
  <const name="reInvalidOp" type="TRuntimeError" file="System.pas" line="4158">
    <value>
      reInvalidOp
    </value>
  </const>
  <const name="reZeroDivide" type="TRuntimeError" file="System.pas" line="4158">
    <value>
      reZeroDivide
    </value>
  </const>
  <const name="reOverflow" type="TRuntimeError" file="System.pas" line="4158">
    <value>
      reOverflow
    </value>
  </const>
  <const name="reUnderflow" type="TRuntimeError" file="System.pas" line="4159">
    <value>
      reUnderflow
    </value>
  </const>
  <const name="reInvalidCast" type="TRuntimeError" file="System.pas" line="4159">
    <value>
      reInvalidCast
    </value>
  </const>
  <const name="reAccessViolation" type="TRuntimeError" file="System.pas" line="4159">
    <value>
      reAccessViolation
    </value>
  </const>
  <const name="rePrivInstruction" type="TRuntimeError" file="System.pas" line="4159">
    <value>
      rePrivInstruction
    </value>
  </const>
  <const name="reControlBreak" type="TRuntimeError" file="System.pas" line="4160">
    <value>
      reControlBreak
    </value>
  </const>
  <const name="reStackOverflow" type="TRuntimeError" file="System.pas" line="4160">
    <value>
      reStackOverflow
    </value>
  </const>
  <const name="reVarTypeCast" type="TRuntimeError" file="System.pas" line="4162">
    <value>
      reVarTypeCast
    </value>
  </const>
  <const name="reVarInvalidOp" type="TRuntimeError" file="System.pas" line="4162">
    <value>
      reVarInvalidOp
    </value>
  </const>
  <const name="reVarDispatch" type="TRuntimeError" file="System.pas" line="4163">
    <value>
      reVarDispatch
    </value>
  </const>
  <const name="reVarArrayCreate" type="TRuntimeError" file="System.pas" line="4163">
    <value>
      reVarArrayCreate
    </value>
  </const>
  <const name="reVarNotArray" type="TRuntimeError" file="System.pas" line="4163">
    <value>
      reVarNotArray
    </value>
  </const>
  <const name="reVarArrayBounds" type="TRuntimeError" file="System.pas" line="4163">
    <value>
      reVarArrayBounds
    </value>
  </const>
  <const name="reAssertionFailed" type="TRuntimeError" file="System.pas" line="4164">
    <value>
      reAssertionFailed
    </value>
  </const>
  <const name="reExternalException" type="TRuntimeError" file="System.pas" line="4165">
    <value>
      reExternalException
    </value>
  </const>
  <const name="reIntfCastError" type="TRuntimeError" file="System.pas" line="4166">
    <value>
      reIntfCastError
    </value>
  </const>
  <const name="reSafeCallError" type="TRuntimeError" file="System.pas" line="4166">
    <value>
      reSafeCallError
    </value>
  </const>
  <const name="reMonitorNotLocked" type="TRuntimeError" file="System.pas" line="4167">
    <value>
      reMonitorNotLocked
    </value>
  </const>
  <const name="reNoMonitorSupport" type="TRuntimeError" file="System.pas" line="4167">
    <value>
      reNoMonitorSupport
    </value>
  </const>
  <const name="rePlatformNotImplemented" type="TRuntimeError" file="System.pas" line="4174">
    <value>
      rePlatformNotImplemented
    </value>
  </const>
  <const name="reObjectDisposed" type="TRuntimeError" file="System.pas" line="4174">
    <value>
      reObjectDisposed
    </value>
  </const>
  <enum name="TRuntimeError" file="System.pas" line="4157">
    <element value="0" name="reNone" file="System.pas" line="4157"/>
    <element value="1" name="reOutOfMemory" file="System.pas" line="4157"/>
    <element value="2" name="reInvalidPtr" file="System.pas" line="4157"/>
    <element value="3" name="reDivByZero" file="System.pas" line="4157"/>
    <element value="4" name="reRangeError" file="System.pas" line="4158"/>
    <element value="5" name="reIntOverflow" file="System.pas" line="4158"/>
    <element value="6" name="reInvalidOp" file="System.pas" line="4158"/>
    <element value="7" name="reZeroDivide" file="System.pas" line="4158"/>
    <element value="8" name="reOverflow" file="System.pas" line="4158"/>
    <element value="9" name="reUnderflow" file="System.pas" line="4159"/>
    <element value="10" name="reInvalidCast" file="System.pas" line="4159"/>
    <element value="11" name="reAccessViolation" file="System.pas" line="4159"/>
    <element value="12" name="rePrivInstruction" file="System.pas" line="4159"/>
    <element value="13" name="reControlBreak" file="System.pas" line="4160"/>
    <element value="14" name="reStackOverflow" file="System.pas" line="4160"/>
    <element value="15" name="reVarTypeCast" file="System.pas" line="4162"/>
    <element value="16" name="reVarInvalidOp" file="System.pas" line="4162"/>
    <element value="17" name="reVarDispatch" file="System.pas" line="4163"/>
    <element value="18" name="reVarArrayCreate" file="System.pas" line="4163"/>
    <element value="19" name="reVarNotArray" file="System.pas" line="4163"/>
    <element value="20" name="reVarArrayBounds" file="System.pas" line="4163"/>
    <element value="21" name="reAssertionFailed" file="System.pas" line="4164"/>
    <element value="22" name="reExternalException" file="System.pas" line="4165"/>
    <element value="23" name="reIntfCastError" file="System.pas" line="4166"/>
    <element value="24" name="reSafeCallError" file="System.pas" line="4166"/>
    <element value="25" name="reMonitorNotLocked" file="System.pas" line="4167"/>
    <element value="26" name="reNoMonitorSupport" file="System.pas" line="4167"/>
    <element value="27" name="rePlatformNotImplemented" file="System.pas" line="4174"/>
    <element value="28" name="reObjectDisposed" file="System.pas" line="4174"/>
  </enum>
  <pointer name="PLongBool" type="LongBool" indircnt="1" file="System.pas" line="4233"/>
  <const name="CP_ACP" type="Integer" file="System.pas" line="4281">
    <value>
      $0
    </value>
  </const>
  <const name="CP_UTF7" type="Word" file="System.pas" line="4282">
    <value>
      $FDE8
    </value>
  </const>
  <const name="CP_UTF8" type="Word" file="System.pas" line="4283">
    <value>
      $FDE9
    </value>
  </const>
  <procedure name="TextStart" visibility="public" file="System.pas" line="4431" symflags="deprecated">
  </procedure>
  <function name="GetLastError" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="462">
    <parameters>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="SetLastError" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="466">
    <parameters>
      <parameter name="ErrorCode" type="Integer"/>
    </parameters>
  </procedure>
  <function name="FindResource" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="473">
    <parameters>
      <parameter name="ModuleHandle" type="NativeUInt"/>
      <parameter name="ResourceName" type="PWideChar"/>
      <parameter name="ResourceType" type="PWideChar"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <function name="LoadResource" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="476">
    <parameters>
      <parameter name="ModuleHandle" type="NativeUInt"/>
      <parameter name="ResHandle" type="NativeUInt"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <function name="LockResource" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="482">
    <parameters>
      <parameter name="ResData" type="NativeUInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="UnlockResource" visibility="public" procflags="inline" file="WindowsAPIs.INC" line="485">
    <parameters>
      <parameter name="ResData" type="NativeUInt"/>
      <retval type="LongBool"/>
    </parameters>
  </function>
  <function name="SizeofResource" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="490">
    <parameters>
      <parameter name="ModuleHandle" type="NativeUInt"/>
      <parameter name="ResHandle" type="NativeUInt"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="FreeResource" visibility="external public" callconv="stdcall" file="WindowsAPIs.INC" line="493">
    <parameters>
      <parameter name="ResData" type="NativeUInt"/>
      <retval type="LongBool"/>
    </parameters>
  </function>
  <function name="Pos" visibility="public" procflags="overload inline" file="System.pas" line="4761">
    <parameters>
      <parameter name="SubStr" type="string" paramflags="const"/>
      <parameter name="Str" type="string" paramflags="const"/>
      <parameter name="Offset" type="Integer">
        <value>
          $1
        </value>
      </parameter>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Pos" visibility="public" procflags="overload inline" file="System.pas" line="4766">
    <parameters>
      <parameter name="SubStr" type="WideString" paramflags="const"/>
      <parameter name="Str" type="WideString" paramflags="const"/>
      <parameter name="Offset" type="Integer">
        <value>
          $1
        </value>
      </parameter>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Pos" visibility="public" procflags="overload inline" file="System.pas" line="4775">
    <devnotes>
      MSWINDOWS
    </devnotes>
    <parameters>
      <parameter name="SubStr" type="RawByteString" paramflags="const"/>
      <parameter name="Str" type="RawByteString" paramflags="const"/>
      <parameter name="Offset" type="Integer">
        <value>
          $1
        </value>
      </parameter>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="SysGetMem" visibility="public" file="GETMEM.INC" line="1935">
    <devnotes>
      POSIX
      POSIX
    </devnotes>
    <parameters>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="SysFreeMem" visibility="public" file="GETMEM.INC" line="2962">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="SysReallocMem" visibility="public" file="GETMEM.INC" line="3891">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="SysAllocMem" visibility="public" file="GETMEM.INC" line="4840">
    <parameters>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="SysRegisterExpectedMemoryLeak" visibility="public" file="GETMEM.INC" line="5163">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="SysUnregisterExpectedMemoryLeak" visibility="public" file="GETMEM.INC" line="5181">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="GetMemoryManagerState" visibility="public" file="GETMEM.INC" line="5569" symflags="platform">
    <parameters>
      <parameter name="AMemoryManagerState" type="TMemoryManagerState" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="GetMemoryMap" visibility="public" file="GETMEM.INC" line="5657" symflags="platform">
    <parameters>
      <parameter name="AMemoryMap" type="TMemoryMap" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="GetHeapStatus" visibility="public" file="GETMEM.INC" line="5720" symflags="deprecated platform">
    <devnotes>
      POSIX
    </devnotes>
    <parameters>
      <retval type="THeapStatus" symflags="deprecated">
      </retval>
    </parameters>
  </function>
  <function name="AttemptToUseSharedMemoryManager" visibility="public" file="GETMEM.INC" line="5870" symflags="platform">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="ShareMemoryManager" visibility="public" file="GETMEM.INC" line="5925" symflags="platform">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="GetMinimumBlockAlignment" visibility="public" file="GETMEM.INC" line="5995" symflags="platform">
    <parameters>
      <retval type="TMinimumBlockAlignment"/>
    </parameters>
  </function>
  <procedure name="SetMinimumBlockAlignment" visibility="public" file="GETMEM.INC" line="6000" symflags="platform">
    <parameters>
      <parameter name="AMinimumBlockAlignment" type="TMinimumBlockAlignment"/>
    </parameters>
  </procedure>
  <function name="AllocMem" visibility="public" file="System.pas" line="4846">
    <parameters>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="RegisterExpectedMemoryLeak" visibility="public" file="System.pas" line="4895" symflags="platform">
    <devnotes>
      PIC
      PIC
    </devnotes>
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UnregisterExpectedMemoryLeak" visibility="public" file="System.pas" line="4900" symflags="platform">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="GetMemoryManager" visibility="public" procflags="overload" file="System.pas" line="5162" symflags="deprecated">
    <parameters>
      <parameter name="MemMgr" type="TMemoryManager" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="SetMemoryManager" visibility="public" procflags="overload" file="System.pas" line="5170" symflags="deprecated">
    <parameters>
      <parameter name="MemMgr" type="TMemoryManager" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="GetMemoryManager" visibility="public" procflags="overload" file="System.pas" line="5182">
    <parameters>
      <parameter name="MemMgrEx" type="TMemoryManagerEx" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="SetMemoryManager" visibility="public" procflags="overload" file="System.pas" line="5187">
    <parameters>
      <parameter name="MemMgrEx" type="TMemoryManagerEx" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="IsMemoryManagerSet" visibility="public" file="System.pas" line="5192">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="ExceptObject" visibility="public" file="System.pas" line="5612">
    <parameters>
      <retval type="TObject"/>
    </parameters>
  </function>
  <function name="ExceptAddr" visibility="public" file="System.pas" line="5621">
    <parameters>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="AcquireExceptionObject" visibility="public" file="System.pas" line="5629">
    <parameters>
      <retval type="TObject"/>
    </parameters>
  </function>
  <procedure name="ReleaseExceptionObject" visibility="public" file="System.pas" line="5647">
  </procedure>
  <function name="RaiseList" visibility="public" file="System.pas" line="5663" symflags="deprecated">
    <parameters>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="SetRaiseList" visibility="public" file="System.pas" line="5669" symflags="deprecated">
    <parameters>
      <parameter name="NewPtr" type="Pointer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <procedure name="Error" visibility="public" file="System.pas" line="5893">
    <parameters>
      <parameter name="errorCode" type="TRuntimeError"/>
    </parameters>
  </procedure>
  <procedure name="SetLineBreakStyle" visibility="public" file="System.pas" line="5898">
    <parameters>
      <parameter name="T" type="Text" paramflags="var"/>
      <parameter name="Style" type="TTextLineBreakStyle"/>
    </parameters>
  </procedure>
  <function name="GetTextCodePage" visibility="public" file="System.pas" line="5906">
    <parameters>
      <parameter name="T" type="Text" paramflags="const"/>
      <retval type="Word"/>
    </parameters>
  </function>
  <procedure name="SetTextCodePage" visibility="public" file="System.pas" line="5911">
    <parameters>
      <parameter name="T" type="Text" paramflags="var"/>
      <parameter name="CodePage" type="Word"/>
    </parameters>
  </procedure>
  <procedure name="SetInOutRes" visibility="public" file="System.pas" line="5943">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="NewValue" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="ChDir" visibility="public" procflags="overload" file="System.pas" line="5953">
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="ChDir" visibility="public" procflags="overload" file="System.pas" line="5959">
    <parameters>
      <parameter name="P" type="PWideChar"/>
    </parameters>
  </procedure>
  <function name="IOResult" visibility="public" file="System.pas" line="6069">
    <parameters>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="MkDir" visibility="public" procflags="overload" file="System.pas" line="6075">
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="MkDir" visibility="public" procflags="overload" file="System.pas" line="6080">
    <parameters>
      <parameter name="P" type="PWideChar"/>
    </parameters>
  </procedure>
  <procedure name="Move" visibility="public" file="System.pas" line="6104">
    <parameters>
      <parameter name="Source" paramflags="const"/>
      <parameter name="Dest" paramflags="var"/>
      <parameter name="Count" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="MoveChars" visibility="public" procflags="inline" file="System.pas" line="6348">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Source" paramflags="const"/>
      <parameter name="Dest" paramflags="var"/>
      <parameter name="Length" type="Integer"/>
    </parameters>
  </procedure>
  <function name="ParamCount" visibility="public" file="System.pas" line="6418">
    <parameters>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="ParamStr" visibility="public" file="System.pas" line="6445">
    <parameters>
      <parameter name="Index" type="Integer"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="DefaultRandomize" visibility="public" file="System.pas" line="6474">
    <parameters>
      <parameter name="NewSeed" type="UInt64"/>
    </parameters>
  </procedure>
  <procedure name="Randomize" visibility="public" file="System.pas" line="6479">
  </procedure>
  <function name="DefaultRandom32" visibility="public" file="System.pas" line="6509">
    <parameters>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="Random" visibility="public" procflags="overload" file="System.pas" line="6535">
    <devnotes>
      PUREPASCAL
      PIC
      PIC
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="ARange" type="Integer" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Random" visibility="public" procflags="overload" file="System.pas" line="6580">
    <devnotes>
      PUREPASCAL
      PIC
      PIC
      PUREPASCAL
    </devnotes>
    <parameters>
      <retval type="Extended"/>
    </parameters>
  </function>
  <procedure name="RmDir" visibility="public" procflags="overload" file="System.pas" line="6621">
    <devnotes>
      PUREPASCAL
      PIC
      PIC
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="RmDir" visibility="public" procflags="overload" file="System.pas" line="6627">
    <parameters>
      <parameter name="P" type="PWideChar"/>
    </parameters>
  </procedure>
  <function name="UpCase" visibility="public" procflags="overload inline" file="System.pas" line="6644">
    <parameters>
      <parameter name="Ch" type="AnsiChar"/>
      <retval type="AnsiChar"/>
    </parameters>
  </function>
  <function name="UpCase" visibility="public" procflags="overload inline" file="System.pas" line="6651">
    <parameters>
      <parameter name="Ch" type="Char"/>
      <retval type="Char"/>
    </parameters>
  </function>
  <procedure name="FClearExcept" visibility="public" procflags="inline" file="System.pas" line="7302">
    <devnotes>
      NEXTGEN
    </devnotes>
  </procedure>
  <procedure name="FCheckExcept" visibility="public" procflags="inline" file="System.pas" line="7306">
  </procedure>
  <function name="FSetExceptFlag" visibility="public" file="System.pas" line="7310">
    <parameters>
      <parameter name="NewFlags" type="Cardinal"/>
      <parameter name="Excepts" type="Cardinal">
        <value>
          $3F
        </value>
      </parameter>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="FGetExceptFlag" visibility="public" file="System.pas" line="7363">
    <devnotes>
      defined(CPUX86) or !defined(CPUX64)
    </devnotes>
    <parameters>
      <parameter name="Excepts" type="Cardinal">
        <value>
          $3F
        </value>
      </parameter>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <procedure name="FRaiseExcept" visibility="public" file="System.pas" line="7388">
    <devnotes>
      defined(CPUX86) or !Defined(CPUX64)
    </devnotes>
    <parameters>
      <parameter name="excepts" type="Cardinal"/>
      <parameter name="CheckExceptionMask" type="Boolean">
        <value>
          True
        </value>
      </parameter>
    </parameters>
  </procedure>
  <function name="FGetRound" visibility="public" file="System.pas" line="7443">
    <devnotes>
      defined(CPUX86) or !Defined(CPUX64)
    </devnotes>
    <parameters>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="FSetRound" visibility="public" file="System.pas" line="7460">
    <devnotes>
      defined(CPUX86) or !defined(CPUX64)
    </devnotes>
    <parameters>
      <parameter name="NewRound" type="Cardinal"/>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="FSetExceptMask" visibility="public" file="System.pas" line="7499">
    <parameters>
      <parameter name="NewMasks" type="Cardinal"/>
      <parameter name="ExceptMasks" type="Cardinal">
        <value>
          $3F
        </value>
      </parameter>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="FGetExceptMask" visibility="public" file="System.pas" line="7552">
    <devnotes>
      defined(CPUX86) or !Defined(CPUX64)
    </devnotes>
    <parameters>
      <parameter name="ExceptMasks" type="Cardinal">
        <value>
          $3F
        </value>
      </parameter>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <procedure name="Reset8087CW" visibility="public" file="System.pas" line="7579">
    <devnotes>
      defined(CPUX86) or !Defined(CPUX64)
      NEXTGEN
    </devnotes>
  </procedure>
  <procedure name="Set8087CW" visibility="public" file="System.pas" line="7584">
    <parameters>
      <parameter name="NewCW" type="Word"/>
    </parameters>
  </procedure>
  <function name="Get8087CW" visibility="public" file="System.pas" line="7619">
    <devnotes>
      PIC
      PIC
    </devnotes>
    <parameters>
      <retval type="Word"/>
    </parameters>
  </function>
  <procedure name="ResetMXCSR" visibility="public" file="System.pas" line="7636" symflags="platform">
  </procedure>
  <procedure name="SetMXCSR" visibility="public" file="System.pas" line="7642" symflags="platform">
    <parameters>
      <parameter name="NewMXCSR" type="Cardinal"/>
    </parameters>
  </procedure>
  <procedure name="SetMXCSRExceptionFlag" visibility="public" file="System.pas" line="7676">
    <devnotes>
      PIC
      PIC
    </devnotes>
    <parameters>
      <parameter name="NewExceptionFlag" type="Cardinal"/>
    </parameters>
  </procedure>
  <function name="GetMXCSR" visibility="public" file="System.pas" line="7750" symflags="platform">
    <devnotes>
      PIC
      PIC
    </devnotes>
    <parameters>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="Int" visibility="public" file="System.pas" line="8752">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Frac" visibility="public" file="System.pas" line="8822">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Exp" visibility="public" file="System.pas" line="9135">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="ExpMinus1" visibility="public" file="System.pas" line="9488">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Cos" visibility="public" file="System.pas" line="10066">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Sin" visibility="public" file="System.pas" line="10150">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Tangent" visibility="public" file="System.pas" line="10234">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <procedure name="SineCosine" visibility="public" file="System.pas" line="10310">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <parameter name="Sin" type="Extended" paramflags="var"/>
      <parameter name="Cos" type="Extended" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Ln" visibility="public" file="System.pas" line="10700">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="LnXPlus1" visibility="public" file="System.pas" line="10765">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="ArcTan" visibility="public" file="System.pas" line="10981">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Sqrt" visibility="public" file="System.pas" line="11005">
    <parameters>
      <parameter name="X" type="Extended" paramflags="const"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="Flush" visibility="public" file="System.pas" line="11821">
    <parameters>
      <parameter name="t" type="Text" paramflags="var"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="Mark" visibility="public" file="System.pas" line="12397" symflags="deprecated">
    <devnotes>
      PUREPASCAL
    </devnotes>
  </procedure>
  <function name="IsICUAvailable" visibility="public" procflags="inline" file="System.pas" line="12680">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="Release" visibility="public" file="System.pas" line="13406" symflags="deprecated">
  </procedure>
  <procedure name="FPower10" visibility="public" file="System.pas" line="16251" symflags="deprecated">
  </procedure>
  <function name="Power10" visibility="public" file="System.pas" line="16341">
    <devnotes>
      EXTENDEDHAS10BYTES
    </devnotes>
    <parameters>
      <parameter name="val" type="Extended"/>
      <parameter name="power" type="Integer"/>
      <retval type="Extended"/>
    </parameters>
  </function>
  <function name="GetCPUID" visibility="public" file="System.pas" line="17350" symflags="platform">
    <parameters>
      <parameter name="FunctionID" type="Cardinal"/>
      <parameter name="SubFunctionID" type="Cardinal">
        <value>
          $0
        </value>
      </parameter>
      <retval type="TCPUIDRec" symflags="platform">
      </retval>
    </parameters>
  </function>
  <function name="UTF8IdentToString" visibility="public" file="System.pas" line="17641">
    <parameters>
      <parameter name="Name" type="PShortString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8IdentStringCompare" visibility="public" file="System.pas" line="17662">
    <parameters>
      <parameter name="Name1" type="PShortString" paramflags="const"/>
      <parameter name="Name2" type="string" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UTF8IdentIdentCompare" visibility="public" file="System.pas" line="17692">
    <parameters>
      <parameter name="Name1" type="PShortString" paramflags="const"/>
      <parameter name="Name2" type="PShortString" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="UTF8IdentLength" visibility="public" file="System.pas" line="17816">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Name" type="string" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="GetDynaMethod" visibility="public" file="System.pas" line="18576">
    <parameters>
      <parameter name="vmt" type="TClass"/>
      <parameter name="selector" type="SmallInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="MonitorEnter" visibility="public" procflags="inline" file="System.pas" line="19987">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
      <parameter name="Timeout" type="Cardinal">
        <value>
          $FFFFFFFF
        </value>
      </parameter>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="MonitorTryEnter" visibility="public" procflags="inline" file="System.pas" line="19992">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="MonitorExit" visibility="public" procflags="inline" file="System.pas" line="19997">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="MonitorWait" visibility="public" procflags="overload inline" file="System.pas" line="20002">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
      <parameter name="Timeout" type="Cardinal"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="MonitorWait" visibility="public" procflags="overload inline" file="System.pas" line="20007">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
      <parameter name="ALock" type="TObject" paramflags="const"/>
      <parameter name="Timeout" type="Cardinal"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="MonitorPulse" visibility="public" procflags="inline" file="System.pas" line="20012">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="MonitorPulseAll" visibility="public" procflags="inline" file="System.pas" line="20017">
    <parameters>
      <parameter name="AObject" type="TObject" paramflags="const"/>
    </parameters>
  </procedure>
  <procedure name="YieldProcessor" visibility="public" file="System.pas" line="20044">
  </procedure>
  <procedure name="DLLShutdown" visibility="public" callconv="stdcall" file="System.pas" line="25244">
  </procedure>
  <function name="BeginThread" visibility="public" file="System.pas" line="25418">
    <devnotes>
      PUREPASCAL
      PC_MAPPED_EXCEPTIONS
      PC_MAPPED_EXCEPTIONS
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="SecurityAttributes" type="Pointer"/>
      <parameter name="StackSize" type="Cardinal"/>
      <parameter name="ThreadFunc" type="TThreadFunc"/>
      <parameter name="Parameter" type="Pointer"/>
      <parameter name="CreationFlags" type="Cardinal"/>
      <parameter name="ThreadId" type="Cardinal" paramflags="var"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <procedure name="EndThread" visibility="public" file="System.pas" line="25445">
    <parameters>
      <parameter name="ExitCode" type="Integer"/>
    </parameters>
  </procedure>
  <function name="StringElementSize" visibility="public" procflags="overload inline" file="System.pas" line="26899">
    <devnotes>
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
      <retval type="Word"/>
    </parameters>
  </function>
  <function name="StringElementSize" visibility="public" procflags="overload inline" file="System.pas" line="26907">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="Word"/>
    </parameters>
  </function>
  <function name="StringCodePage" visibility="public" procflags="overload inline" file="System.pas" line="26925">
    <devnotes>
      MSWINDOWS
    </devnotes>
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
      <retval type="Word"/>
    </parameters>
  </function>
  <function name="StringCodePage" visibility="public" procflags="overload inline" file="System.pas" line="26933">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="Word"/>
    </parameters>
  </function>
  <function name="StringRefCount" visibility="public" procflags="overload inline" file="System.pas" line="26955">
    <devnotes>
      MSWINDOWS
    </devnotes>
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="StringRefCount" visibility="public" procflags="overload inline" file="System.pas" line="26963">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="UniqueString" visibility="public" procflags="overload" file="System.pas" line="27315">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Str" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="UniqueString" visibility="public" procflags="overload" file="System.pas" line="27328">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Str" type="WideString" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="UniqueString" visibility="public" procflags="overload" file="System.pas" line="27351">
    <devnotes>
      MSWINDOWS and !POSIX
    </devnotes>
    <parameters>
      <parameter name="Str" type="AnsiString" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="Pos" visibility="public" procflags="overload" file="System.pas" line="31591">
    <parameters>
      <parameter name="SubStr" type="ShortString" paramflags="const"/>
      <parameter name="Str" type="ShortString" paramflags="const"/>
      <parameter name="Offset" type="Integer">
        <value>
          $1
        </value>
      </parameter>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="StringOfChar" visibility="public" procflags="overload" file="System.pas" line="32031">
    <parameters>
      <parameter name="Ch" type="Char"/>
      <parameter name="Count" type="Integer"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="StringOfChar" visibility="public" procflags="overload" file="System.pas" line="32044">
    <parameters>
      <parameter name="Ch" type="AnsiChar"/>
      <parameter name="Count" type="Integer"/>
      <retval type="AnsiString"/>
    </parameters>
  </function>
  <procedure name="SetAnsiString" visibility="public" procflags="overload" file="System.pas" line="32107">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Dest" type="PAnsiString"/>
      <parameter name="Source" type="PAnsiChar"/>
      <parameter name="Length" type="Integer"/>
      <parameter name="CodePage" type="Word"/>
    </parameters>
  </procedure>
  <procedure name="SetAnsiString" visibility="public" procflags="overload" file="System.pas" line="32112">
    <parameters>
      <parameter name="Dest" type="PAnsiString"/>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="Length" type="Integer"/>
      <parameter name="CodePage" type="Word"/>
    </parameters>
  </procedure>
  <procedure name="SetCodePage" visibility="public" file="System.pas" line="32117">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="var"/>
      <parameter name="CodePage" type="Word"/>
      <parameter name="Convert" type="Boolean">
        <value>
          True
        </value>
      </parameter>
    </parameters>
  </procedure>
  <function name="UnicodeStringToUCS4String" visibility="public" file="System.pas" line="32143">
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
      <retval type="UCS4String"/>
    </parameters>
  </function>
  <function name="UCS4StringToUnicodeString" visibility="public" file="System.pas" line="32169">
    <parameters>
      <parameter name="S" type="UCS4String" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="WideCharToUCS4String" visibility="public" file="System.pas" line="32200">
    <parameters>
      <parameter name="S" type="PWideChar"/>
      <parameter name="Len" type="Integer">
        <value>
          $7FFFFFFF
        </value>
      </parameter>
      <retval type="UCS4String"/>
    </parameters>
  </function>
  <procedure name="InitializeArray" visibility="public" file="System.pas" line="32381">
    <devnotes>
      PUREPASCAL and !MANAGED_RECORD
    </devnotes>
    <parameters>
      <parameter name="p" type="Pointer"/>
      <parameter name="typeInfo" type="Pointer"/>
      <parameter name="elemCount" type="NativeUInt"/>
    </parameters>
  </procedure>
  <procedure name="MoveRecord" visibility="public" file="System.pas" line="34170">
    <devnotes>
       <summary>Move fields in Record. </summary>
       <remarks>MoveRecord is equivalent to calling CopyRecord(Dest, Souce, TypeInfo)
       then FinalizeRecord(Source, TypeInfo)</remarks>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="Source" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="MoveArray" visibility="public" file="System.pas" line="34654">
    <devnotes>
       <summary>Move Count items in Array. </summary>
       <remarks>MoveArray is equivalent to calling CopyArray(Dest, Souce, TypeInfo, Count)
       then FinalizeArray(Source, TypeInfo, count)</remarks>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="Source" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
      <parameter name="Count" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="CopyArray" visibility="public" file="System.pas" line="34771">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
       <summary>Copy Count items in Array. </summary>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="Source" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
      <parameter name="Count" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="FinalizeArray" visibility="public" file="System.pas" line="34797">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
       <summary>Finalize Count items in Array. </summary>
    </devnotes>
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
      <parameter name="Count" type="NativeUInt"/>
    </parameters>
  </procedure>
  <procedure name="CopyRecord" visibility="public" file="System.pas" line="34810">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
       <summary>Copy fields in Record. </summary>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="Source" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="FinalizeRecord" visibility="public" file="System.pas" line="34824">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
       <summary>Finalize fields in Record. </summary>
    </devnotes>
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="InvokeRecordInitializer" visibility="public" file="System.pas" line="34841">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
       <summary>Call Initialize operator for Dest if exist.
       Otherwise call per each managed record member of the record. </summary>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="InvokeRecordInitializerArray" visibility="public" file="System.pas" line="34893">
    <devnotes>
       <summary>Call Finalize operator per each elements of the array. </summary>
    </devnotes>
    <parameters>
      <parameter name="Dest" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
      <parameter name="ElemCount" type="NativeUInt"/>
    </parameters>
  </procedure>
  <function name="WideCharToString" visibility="public" file="System.pas" line="34956">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="WideCharLenToString" visibility="public" file="System.pas" line="34961">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="SourceLen" type="Integer"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="WideCharToStrVar" visibility="public" file="System.pas" line="34966">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="Dest" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="WideCharLenToStrVar" visibility="public" procflags="overload" file="System.pas" line="34972">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="SourceLen" type="Integer"/>
      <parameter name="Dest" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="WideCharLenToStrVar" visibility="public" procflags="overload" file="System.pas" line="34978">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="SourceLen" type="Integer"/>
      <parameter name="Dest" type="AnsiString" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="StringToWideChar" visibility="public" file="System.pas" line="34984">
    <parameters>
      <parameter name="Source" type="string" paramflags="const"/>
      <parameter name="Dest" type="PWideChar"/>
      <parameter name="DestSize" type="Integer"/>
      <retval type="PWideChar"/>
    </parameters>
  </function>
  <function name="OleStrToString" visibility="public" file="System.pas" line="35010">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="OleStrToStrVar" visibility="public" procflags="overload" file="System.pas" line="35015">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="Dest" type="AnsiString" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="OleStrToStrVar" visibility="public" procflags="overload" file="System.pas" line="35020">
    <parameters>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="Dest" type="string" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="StringToOleStr" visibility="public" procflags="overload" file="System.pas" line="35025">
    <parameters>
      <parameter name="Source" type="AnsiString" paramflags="const"/>
      <retval type="PWideChar"/>
    </parameters>
  </function>
  <function name="StringToOleStr" visibility="public" procflags="overload" file="System.pas" line="35031">
    <parameters>
      <parameter name="Source" type="string" paramflags="const"/>
      <retval type="PWideChar"/>
    </parameters>
  </function>
  <procedure name="GetVariantManager" visibility="public" file="System.pas" line="35041" symflags="deprecated">
    <parameters>
      <parameter name="VarMgr" type="TVariantManager" paramflags="var"/>
    </parameters>
  </procedure>
  <procedure name="SetVariantManager" visibility="public" file="System.pas" line="35046" symflags="deprecated">
    <parameters>
      <parameter name="VarMgr" type="TVariantManager" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="IsVariantManagerSet" visibility="public" file="System.pas" line="35050" symflags="deprecated">
    <parameters>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="DynArrayClear" visibility="public" procflags="inline" file="System.pas" line="36191">
    <parameters>
      <parameter name="A" type="Pointer" paramflags="var"/>
      <parameter name="TypeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="RegisterWeakRefTypeInfo" visibility="public" file="System.pas" line="36206">
    <parameters>
      <parameter name="aTypeInfo" type="Pointer" paramflags="const"/>
      <parameter name="value" type="Boolean" paramflags="const"/>
      <parameter name="index" type="Integer" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="SysHasWeakRef" visibility="public" file="System.pas" line="36277">
    <parameters>
      <parameter name="elementType" type="Pointer" paramflags="const"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <procedure name="DynArraySetLength" visibility="public" file="System.pas" line="36289">
    <parameters>
      <parameter name="a" type="Pointer" paramflags="var"/>
      <parameter name="typeInfo" type="Pointer"/>
      <parameter name="dimCnt" type="NativeInt"/>
      <parameter name="lengthVec" type="PNativeInt"/>
    </parameters>
  </procedure>
  <procedure name="DynArrayCopy" visibility="public" procflags="inline" file="System.pas" line="36756">
    <devnotes>
      PUREPASCAL
      PUREPASCAL
    </devnotes>
    <parameters>
      <parameter name="Result" type="Pointer" paramflags="var"/>
      <parameter name="a" type="Pointer"/>
      <parameter name="typeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="DynArrayCopyRange" visibility="public" procflags="inline" file="System.pas" line="36765">
    <parameters>
      <parameter name="Result" type="Pointer" paramflags="var"/>
      <parameter name="A" type="Pointer"/>
      <parameter name="TypeInfo" type="Pointer"/>
      <parameter name="Index" type="NativeInt"/>
      <parameter name="Count" type="NativeInt"/>
    </parameters>
  </procedure>
  <procedure name="DynArrayUnique" visibility="public" file="System.pas" line="36774">
    <parameters>
      <parameter name="A" type="Pointer" paramflags="var"/>
      <parameter name="typeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <function name="DynArrayIndex" visibility="public" procflags="overload" file="System.pas" line="37155">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="Indices" paramflags="const">
        <array name="Indices" file="System.pas" line="37155">
          <element type="NativeInt"/>
        </array>
      </parameter>
      <parameter name="TypInfo" type="Pointer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="DynArrayIndex" visibility="public" procflags="overload" file="System.pas" line="37190">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="Indices" paramflags="const">
        <array name="Indices" file="System.pas" line="37190">
          <element type="Integer"/>
        </array>
      </parameter>
      <parameter name="TypInfo" type="Pointer"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="DynArrayDim" visibility="public" file="System.pas" line="37289">
    <parameters>
      <parameter name="typeInfo" type="Pointer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="DynArraySize" visibility="public" procflags="inline" file="System.pas" line="37300">
    <parameters>
      <parameter name="A" type="Pointer"/>
      <retval type="NativeInt"/>
    </parameters>
  </function>
  <procedure name="DynArrayAssign" visibility="public" procflags="inline" file="System.pas" line="37307">
    <parameters>
      <parameter name="Dest" type="Pointer" paramflags="var"/>
      <parameter name="Source" type="Pointer"/>
      <parameter name="typeInfo" type="Pointer"/>
    </parameters>
  </procedure>
  <function name="IsDynArrayRectangular" visibility="public" file="System.pas" line="37313">
    <parameters>
      <parameter name="DynArray" type="Pointer" paramflags="const"/>
      <parameter name="typeInfo" type="Pointer"/>
      <retval type="Boolean"/>
    </parameters>
  </function>
  <function name="DynArrayBounds" visibility="public" file="System.pas" line="37350">
    <parameters>
      <parameter name="DynArray" type="Pointer" paramflags="const"/>
      <parameter name="typeInfo" type="Pointer"/>
      <retval type="TBoundArray"/>
    </parameters>
  </function>
  <function name="FindHInstance" visibility="public" file="System.pas" line="37455">
    <parameters>
      <parameter name="Address" type="Pointer"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <function name="FindClassHInstance" visibility="public" file="System.pas" line="37493">
    <devnotes>
      MSWINDOWS and !POSIX
    </devnotes>
    <parameters>
      <parameter name="ClassType" type="TClass"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <function name="FindResourceHInstance" visibility="public" file="System.pas" line="37722">
    <parameters>
      <parameter name="Instance" type="NativeUInt"/>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <function name="GetUILanguages" visibility="public" file="System.pas" line="37919">
    <parameters>
      <parameter name="LANGID" type="Word" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="GetLocaleOverride" visibility="public" file="System.pas" line="38204">
    <parameters>
      <parameter name="AppName" type="string" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <procedure name="SetLocaleOverride" visibility="public" file="System.pas" line="38211">
    <parameters>
      <parameter name="NewPreferredLanguages" type="string" paramflags="const"/>
    </parameters>
  </procedure>
  <function name="GetResourceModuleName" visibility="public" file="System.pas" line="38229">
    <parameters>
      <parameter name="HostAppName" type="string"/>
      <parameter name="ModuleName" type="string"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="LoadResourceModule" visibility="public" file="System.pas" line="38426">
    <parameters>
      <parameter name="ModuleName" type="PWideChar"/>
      <parameter name="CheckOwner" type="Boolean">
        <value>
          True
        </value>
      </parameter>
      <retval type="NativeUInt"/>
    </parameters>
  </function>
  <procedure name="EnumModules" visibility="public" procflags="overload" file="System.pas" line="38443">
    <parameters>
      <parameter name="Func" type="TEnumModuleFunc"/>
      <parameter name="Data" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="EnumResourceModules" visibility="public" procflags="overload" file="System.pas" line="38448">
    <parameters>
      <parameter name="Func" type="TEnumModuleFunc"/>
      <parameter name="Data" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="EnumModules" visibility="public" procflags="overload" file="System.pas" line="38453">
    <parameters>
      <parameter name="Func" type="TEnumModuleFuncLW"/>
      <parameter name="Data" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="EnumResourceModules" visibility="public" procflags="overload" file="System.pas" line="38465">
    <parameters>
      <parameter name="Func" type="TEnumModuleFuncLW"/>
      <parameter name="Data" type="Pointer"/>
    </parameters>
  </procedure>
  <procedure name="AddModuleUnloadProc" visibility="public" procflags="overload" file="System.pas" line="38477">
    <parameters>
      <parameter name="Proc" type="TModuleUnloadProc"/>
    </parameters>
  </procedure>
  <procedure name="RemoveModuleUnloadProc" visibility="public" procflags="overload" file="System.pas" line="38482">
    <parameters>
      <parameter name="Proc" type="TModuleUnloadProc"/>
    </parameters>
  </procedure>
  <procedure name="AddModuleUnloadProc" visibility="public" procflags="overload" file="System.pas" line="38487">
    <parameters>
      <parameter name="Proc" type="TModuleUnloadProcLW"/>
    </parameters>
  </procedure>
  <procedure name="RemoveModuleUnloadProc" visibility="public" procflags="overload" file="System.pas" line="38497">
    <parameters>
      <parameter name="Proc" type="TModuleUnloadProcLW"/>
    </parameters>
  </procedure>
  <procedure name="RegisterModule" visibility="public" file="System.pas" line="38543">
    <parameters>
      <parameter name="LibModule" type="PLibModule"/>
    </parameters>
  </procedure>
  <procedure name="UnregisterModule" visibility="public" file="System.pas" line="38557">
    <parameters>
      <parameter name="LibModule" type="PLibModule"/>
    </parameters>
  </procedure>
  <function name="CompToDouble" visibility="public" callconv="cdecl" file="System.pas" line="39827">
    <parameters>
      <parameter name="Value" type="Comp"/>
      <retval type="Double"/>
    </parameters>
  </function>
  <procedure name="DoubleToComp" visibility="public" callconv="cdecl" file="System.pas" line="39832">
    <parameters>
      <parameter name="Value" type="Double"/>
      <parameter name="Result" type="Comp" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="CompToCurrency" visibility="public" callconv="cdecl" file="System.pas" line="39837">
    <parameters>
      <parameter name="Value" type="Comp"/>
      <retval type="Currency"/>
    </parameters>
  </function>
  <procedure name="CurrencyToComp" visibility="public" callconv="cdecl" file="System.pas" line="39842">
    <parameters>
      <parameter name="Value" type="Currency"/>
      <parameter name="Result" type="Comp" paramflags="var"/>
    </parameters>
  </procedure>
  <function name="GetMemory" visibility="public" callconv="cdecl" file="System.pas" line="39847">
    <parameters>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="FreeMemory" visibility="public" callconv="cdecl" file="System.pas" line="39852">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="ReallocMemory" visibility="public" callconv="cdecl" file="System.pas" line="39860">
    <parameters>
      <parameter name="P" type="Pointer"/>
      <parameter name="Size" type="NativeInt"/>
      <retval type="Pointer"/>
    </parameters>
  </function>
  <function name="UnicodeToUtf8" visibility="public" procflags="overload" file="System.pas" line="39872" symflags="deprecated">
    <parameters>
      <parameter name="Dest" type="PAnsiChar"/>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="MaxBytes" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="UnicodeToUtf8" visibility="public" procflags="overload" file="System.pas" line="39918">
    <devnotes>
      LINUX
    </devnotes>
    <parameters>
      <parameter name="Dest" type="PAnsiChar"/>
      <parameter name="MaxDestBytes" type="Cardinal"/>
      <parameter name="Source" type="PWideChar"/>
      <parameter name="SourceChars" type="Cardinal"/>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="Utf8ToUnicode" visibility="public" procflags="overload" file="System.pas" line="39953" symflags="deprecated">
    <parameters>
      <parameter name="Dest" type="PWideChar"/>
      <parameter name="Source" type="PAnsiChar"/>
      <parameter name="MaxChars" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="Utf8ToUnicode" visibility="public" procflags="overload" file="System.pas" line="39994">
    <devnotes>
      LINUX
    </devnotes>
    <parameters>
      <parameter name="Dest" type="PWideChar"/>
      <parameter name="MaxDestChars" type="Cardinal"/>
      <parameter name="Source" type="PAnsiChar"/>
      <parameter name="SourceBytes" type="Cardinal"/>
      <retval type="Cardinal"/>
    </parameters>
  </function>
  <function name="UTF8Encode" visibility="public" procflags="overload" file="System.pas" line="40029">
    <parameters>
      <parameter name="WS" type="WideString" paramflags="const"/>
      <retval type="RawByteString"/>
    </parameters>
  </function>
  <function name="UTF8Encode" visibility="public" procflags="overload" file="System.pas" line="40047">
    <parameters>
      <parameter name="US" type="string" paramflags="const"/>
      <retval type="RawByteString"/>
    </parameters>
  </function>
  <function name="UTF8Encode" visibility="public" procflags="overload" file="System.pas" line="40065">
    <parameters>
      <parameter name="A" type="RawByteString" paramflags="const"/>
      <retval type="RawByteString"/>
    </parameters>
  </function>
  <procedure name="UTF8Encode" visibility="public" procflags="overload" file="System.pas" line="40073">
    <parameters>
      <parameter name="US" type="string" paramflags="const"/>
      <parameter name="B" paramflags="var">
        <array name="B" file="System.pas" line="40073">
          <element type="Byte"/>
        </array>
      </parameter>
    </parameters>
  </procedure>
  <function name="UTF8EncodeToShortString" visibility="public" procflags="overload" file="System.pas" line="40086">
    <parameters>
      <parameter name="WS" type="WideString" paramflags="const"/>
      <retval type="ShortString"/>
    </parameters>
  </function>
  <function name="UTF8EncodeToShortString" visibility="public" procflags="overload" file="System.pas" line="40091">
    <parameters>
      <parameter name="US" type="string" paramflags="const"/>
      <retval type="ShortString"/>
    </parameters>
  </function>
  <function name="UTF8EncodeToShortString" visibility="public" procflags="overload" file="System.pas" line="40096">
    <parameters>
      <parameter name="A" type="RawByteString" paramflags="const"/>
      <retval type="ShortString"/>
    </parameters>
  </function>
  <function name="UTF8Decode" visibility="public" file="System.pas" line="40104" symflags="deprecated">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="WideString"/>
    </parameters>
  </function>
  <function name="UTF8ToWideString" visibility="public" procflags="inline" file="System.pas" line="40119">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="WideString"/>
    </parameters>
  </function>
  <function name="UTF8ToUnicodeString" visibility="public" procflags="overload" file="System.pas" line="40124">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToUnicodeString" visibility="public" procflags="overload" file="System.pas" line="40139">
    <parameters>
      <parameter name="S" type="PAnsiChar" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToUnicodeString" visibility="public" procflags="overload" file="System.pas" line="40154">
    <parameters>
      <parameter name="S" type="ShortString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToString" visibility="public" procflags="overload inline" file="System.pas" line="40169">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToString" visibility="public" procflags="overload inline" file="System.pas" line="40174">
    <parameters>
      <parameter name="S" type="ShortString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToString" visibility="public" procflags="overload inline" file="System.pas" line="40179">
    <parameters>
      <parameter name="S" type="PAnsiChar" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ToString" visibility="public" procflags="overload" file="System.pas" line="40184" symflags="deprecated">
    <parameters>
      <parameter name="S" paramflags="const">
        <array name="S" file="System.pas" line="40184">
          <element type="Byte"/>
        </array>
      </parameter>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ArrayToString" visibility="public" procflags="overload" file="System.pas" line="40191">
    <parameters>
      <parameter name="S" paramflags="const">
        <array name="S" file="System.pas" line="40191">
          <element type="AnsiChar"/>
        </array>
      </parameter>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="UTF8ArrayToString" visibility="public" procflags="overload" file="System.pas" line="40206">
    <parameters>
      <parameter name="S" paramflags="const">
        <array name="S" file="System.pas" line="40206">
          <element type="Byte"/>
        </array>
      </parameter>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="AnsiToUtf8" visibility="public" file="System.pas" line="40221">
    <parameters>
      <parameter name="S" type="string" paramflags="const"/>
      <retval type="RawByteString"/>
    </parameters>
  </function>
  <function name="Utf8ToAnsi" visibility="public" file="System.pas" line="40226">
    <parameters>
      <parameter name="S" type="RawByteString" paramflags="const"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="LoadResString" visibility="public" file="System.pas" line="40800">
    <parameters>
      <parameter name="ResStringRec" type="PResStringRec"/>
      <retval type="string"/>
    </parameters>
  </function>
  <function name="PUCS4Chars" visibility="public" file="System.pas" line="41020">
    <parameters>
      <parameter name="S" type="UCS4String" paramflags="const"/>
      <retval type="PUCS4Char"/>
    </parameters>
  </function>
  <function name="WideStringToUCS4String" visibility="public" file="System.pas" line="41028">
    <parameters>
      <parameter name="S" type="WideString" paramflags="const"/>
      <retval type="UCS4String"/>
    </parameters>
  </function>
  <function name="UCS4StringToWideString" visibility="public" file="System.pas" line="41056">
    <parameters>
      <parameter name="S" type="UCS4String" paramflags="const"/>
      <retval type="WideString"/>
    </parameters>
  </function>
  <function name="LocaleCharsFromUnicode" visibility="public" procflags="overload" file="System.pas" line="41320">
    <parameters>
      <parameter name="CodePage" type="Cardinal"/>
      <parameter name="Flags" type="Cardinal"/>
      <parameter name="UnicodeStr" type="PWideChar"/>
      <parameter name="UnicodeStrLen" type="Integer"/>
      <parameter name="LocaleStr" type="PAnsiChar"/>
      <parameter name="LocaleStrLen" type="Integer"/>
      <parameter name="DefaultChar" type="PAnsiChar"/>
      <parameter name="UsedDefaultChar" type="PLongBool"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <function name="UnicodeFromLocaleChars" visibility="public" procflags="overload" file="System.pas" line="41335">
    <parameters>
      <parameter name="CodePage" type="Cardinal"/>
      <parameter name="Flags" type="Cardinal"/>
      <parameter name="LocaleStr" type="PAnsiChar"/>
      <parameter name="LocaleStrLen" type="Integer"/>
      <parameter name="UnicodeStr" type="PWideChar"/>
      <parameter name="UnicodeStrLen" type="Integer"/>
      <retval type="Integer"/>
    </parameters>
  </function>
  <procedure name="SetMultiByteConversionCodePage" visibility="public" file="System.pas" line="41870">
    <parameters>
      <parameter name="CodePage" type="Integer"/>
    </parameters>
  </procedure>
  <procedure name="SetUTF8CompareLocale" visibility="public" file="System.pas" line="41891" symflags="platform">
  </procedure>
</namespace>