/*
* Intel ACPI Component Architecture
* AML Disassembler version 20090625
*
* Disassembly of m3a78-t_1601.dsdt, Sun Jan  3 00:05:47 2010
*
*
* Original Table Header:
*     Signature        "DSDT"
*     Length           0x0000B3CD (46029)
*     Revision         0x01 **** ACPI 1.0, no 64-bit math support
*     Checksum         0x4A
*     OEM ID           "P0021"
*     OEM Table ID     "P0021000"
*     OEM Revision     0x00000000 (0)
*     Compiler ID      "INTL"
*     Compiler Version 0x20051117 (537202967)
*/
DefinitionBlock ("m3a78-t_1601.aml", "DSDT", 1, "P0021", "P0021000", 0x00000000)
{
   Name (OSTY, Ones)
   OperationRegion (ACMS, SystemIO, 0x72, 0x02)
   Field (ACMS, ByteAcc, NoLock, Preserve)
   {
       ICMS,   8,
       DCMS,   8
   }

   IndexField (ICMS, DCMS, ByteAcc, NoLock, Preserve)
   {
               Offset (0x01),
               Offset (0x04),
       RMBA,   32,
       BS_A,   32
   }

   OperationRegion (CFGS, SystemMemory, BS_A, 0x80)
   Field (CFGS, AnyAcc, NoLock, Preserve)
   {
               Offset (0x04),
       PCIE,   32,
               Offset (0x31),
       TPMR,   1,
       STHP,   1,
       SHPG,   1,
       OSCF,   1
   }

   OperationRegion (CMPT, SystemIO, 0x0C50, 0x03)
   Field (CMPT, ByteAcc, NoLock, Preserve)
   {
       CMID,   8,
           ,   6,
       GPCT,   2,
       GP0I,   1,
       GP1I,   1,
       GP2I,   1,
       GP3I,   1,
       GP4I,   1,
       GP5I,   1,
       GP6I,   1,
       GP7I,   1
   }

   OperationRegion (PCFG, SystemMemory, PCIE, 0x02000000)
   Field (PCFG, AnyAcc, NoLock, Preserve)
   {
               Offset (0x8800A),
       STCL,   16,
               Offset (0xA0004),
       SMIE,   1,
       SMME,   1,
               Offset (0xA0008),
       RVID,   8,
               Offset (0xA0014),
       SMB1,   32,
               Offset (0xA0050),
           ,   10,
       GP51,   1,
               Offset (0xA0056),
           ,   11,
       GP64,   1,
               Offset (0xA0082),
           ,   2,
       G31O,   1,
               Offset (0xA00E1),
           ,   6,
       ACIR,   1,
               Offset (0xA4004),
       PCMD,   2
   }

   OperationRegion (RMEM, SystemMemory, RMBA, 0x0200)
   Field (RMEM, AnyAcc, NoLock, Preserve)
   {
               Offset (0x04),
       RMLN,   32
   }

   OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
   Field (PMIO, ByteAcc, NoLock, Preserve)
   {
       INPM,   8,
       DAPM,   8
   }

   IndexField (INPM, DAPM, ByteAcc, NoLock, Preserve)
   {
           ,   1,
       TM1E,   1,
       TM2E,   1,
               Offset (0x01),
           ,   1,
       TM1S,   1,
       TM2S,   1,
               Offset (0x04),
           ,   7,
       SLPS,   1,
               Offset (0x07),
           ,   7,
       CLPS,   1,
               Offset (0x10),
           ,   6,
       PWDE,   1,
               Offset (0x1C),
           ,   3,
       MKME,   1,
       PI3E,   1,
       PI2E,   1,
       PI1E,   1,
       PI0E,   1,
           ,   3,
       MKMS,   1,
       PI3S,   1,
       PI2S,   1,
       PI1S,   1,
       PI0S,   1,
               Offset (0x20),
       P1EB,   16,
               Offset (0x28),
       GP0B,   16,
               Offset (0x36),
           ,   6,
       GV6P,   1,
       GV7P,   1,
           ,   3,
       GM0P,   1,
       GM1P,   1,
       GM2P,   1,
       GM3P,   1,
       GM8P,   1,
           ,   1,
       GM4P,   1,
       GM5P,   1,
           ,   1,
       GM6P,   1,
       GM7P,   1,
               Offset (0x3B),
       GPX0,   1,
       GPX4,   1,
       GPX5,   1,
       GPX1,   1,
       GPX6,   1,
       GPX7,   1,
       GPX2,   1,
       GPX3,   1,
               Offset (0x55),
       SPRE,   1,
           ,   1,
           ,   1,
       EPNM,   1,
       DPPF,   1,
       FNGS,   1,
               Offset (0x61),
           ,   7,
       R617,   1,
               Offset (0x65),
           ,   4,
       RSTU,   1,
               Offset (0x68),
           ,   3,
       TPDE,   1,
           ,   1,
               Offset (0x7C),
           ,   2,
       BLNK,   2,
               Offset (0x92),
           ,   7,
       GV7S,   1,
               Offset (0x96),
       GP8I,   1,
       GP9I,   1,
               Offset (0x9A),
           ,   7,
       HECO,   1,
               Offset (0xA8),
       PI4E,   1,
       PI5E,   1,
       PI6E,   1,
       PI7E,   1,
               Offset (0xA9),
       PI4S,   1,
       PI5S,   1,
       PI6S,   1,
       PI7S,   1
   }

   OperationRegion (P1E0, SystemIO, P1EB, 0x04)
   Field (P1E0, ByteAcc, NoLock, Preserve)
   {
           ,   14,
       PEWS,   1,
       WSTA,   1,
           ,   14,
       PEWD,   1
   }

   Method (SPTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x03))
       {
           Store (Zero, RSTU)
       }

       If (LEqual (Arg0, One))
       {
           Store (0x02, BLNK)
       }

       If (LEqual (Arg0, 0x02))
       {
           Store (Zero, BLNK)
       }

       If (LEqual (Arg0, 0x03))
       {
           Store (One, BLNK)
       }

       Store (One, CLPS)
       Store (One, SLPS)
       If (LLessEqual (RVID, 0x13))
       {
           Store (Zero, PWDE)
       }
   }

   Method (SWAK, 1, NotSerialized)
   {
       Store (One, HECO)
       If (LEqual (Arg0, 0x03))
       {
           Store (One, RSTU)
       }

       Store (PEWS, PEWS)
       Store (BLSS, BLNK)
   }

   Method (TRMD, 1, NotSerialized)
   {
       Store (Arg0, SPRE)
       Store (Arg0, TPDE)
   }

   OperationRegion (AG0B, SystemIO, GP0B, 0x08)
   Field (AG0B, ByteAcc, NoLock, Preserve)
   {
               Offset (0x06),
       E0EN,   1
   }

   Method (SRWE, 1, NotSerialized)
   {
       If (Arg0)
       {
           Or (E0EN, One, E0EN)
       }
       Else
       {
           And (E0EN, Zero, E0EN)
       }
   }

   Method (NPTS, 1, NotSerialized)
   {
   }

   Method (NWAK, 1, NotSerialized)
   {
   }

   Method (NB2S, 1, NotSerialized)
   {
   }

   Method (NB2W, 1, NotSerialized)
   {
   }

   Name (DP80, 0x80)
   Name (DP90, 0x90)
   Name (SPIO, 0x2E)
   Name (IOPB, 0x0E00)
   Name (IOPL, 0x10)
   Name (IOEB, 0x0E80)
   Name (IOEL, 0x10)
   Name (IOGB, 0x0F40)
   Name (IOGL, 0x10)
   Name (IOSB, 0x0A30)
   Name (IOSL, 0x10)
   Name (CIR1, 0x03E0)
   Name (CIR2, 0x02E0)
   Name (CIR3, 0x0298)
   Name (ATSW, 0xE5)
   Name (BLSS, 0x03)
   Name (PMBS, 0x0800)
   Name (PMLN, 0xA0)
   Name (GPBS, Zero)
   Name (GPLN, Zero)
   Name (SMBB, 0x0B00)
   Name (SMBL, 0x40)
   Name (APIC, One)
   Name (AODS, 0xF5)
   Name (SMIP, 0xB0)
   Name (ACSS, One)
   Name (SBA1, 0x0B00)
   Name (SBA2, 0x0B20)
   Name (SIOP, 0x2E)
   Name (GIOB, 0x0F40)
   Name (T1OF, Zero)
   Name (T2OF, Zero)
   Name (T3OF, Zero)
   Name (CQST, 0x3C)
   Name (PCIB, 0xE0000000)
   Name (PCIL, 0x10000000)
   OperationRegion (BIOS, SystemMemory, 0x7FFBE064, 0xFF)
   Field (BIOS, ByteAcc, NoLock, Preserve)
   {
       SS1,    1,
       SS2,    1,
       SS3,    1,
       SS4,    1,
               Offset (0x01),
       IOST,   16,
       TOPM,   32,
       ROMS,   32,
       MG1B,   32,
       MG1L,   32,
       MG2B,   32,
       MG2L,   32,
               Offset (0x1C),
       DMAX,   8,
       HPTA,   32,
       CPB0,   32,
       CPB1,   32,
       CPB2,   32,
       CPB3,   32,
       ASSB,   8,
       AOTB,   8,
       AAXB,   32,
       SMIF,   8,
       DTSE,   8,
       DTS1,   8,
       DTS2,   8,
       MPEN,   8,
       TPMF,   8,
       MG3B,   32,
       MG3L,   32,
       MH1B,   32,
       MH1L,   32
   }

   Method (RRIO, 4, NotSerialized)
   {
       Store ("RRIO", Debug)
   }

   Method (RDMA, 3, NotSerialized)
   {
       Store ("rDMA", Debug)
   }

   Name (PICM, Zero)
   Method (_PIC, 1, NotSerialized)
   {
       If (Arg0)
       {
           Store (0xAA, DBG8)
           \_SB.IRQC ()
       }
       Else
       {
           Store (0xAC, DBG8)
       }

       Store (Arg0, PICM)
   }

   Name (OSVR, Ones)
   Method (OSFL, 0, NotSerialized)
   {
       If (LNotEqual (OSVR, Ones))
       {
           Return (OSVR)
       }

       If (LEqual (PICM, Zero))
       {
           Store (0xAC, DBG8)
       }

       Store (One, OSVR)
       If (CondRefOf (_OSI, Local1))
       {
           If (_OSI ("Windows 2000"))
           {
               Store (0x04, OSVR)
           }

           If (_OSI ("Windows 2001"))
           {
               Store (Zero, OSVR)
           }

           If (_OSI ("Windows 2001 SP1"))
           {
               Store (Zero, OSVR)
           }

           If (_OSI ("Windows 2001 SP2"))
           {
               Store (Zero, OSVR)
           }

           If (_OSI ("Windows 2001.1"))
           {
               Store (Zero, OSVR)
           }

           If (_OSI ("Windows 2001.1 SP1"))
           {
               Store (Zero, OSVR)
           }

           If (_OSI ("Windows 2006"))
           {
               Store (Zero, OSVR)
           }
       }
       Else
       {
           If (MCTH (_OS, "Microsoft Windows NT"))
           {
               Store (0x04, OSVR)
           }
           Else
           {
               If (MCTH (_OS, "Microsoft WindowsME: Millennium Edition"))
               {
                   Store (0x02, OSVR)
               }

               If (MCTH (_OS, "Linux"))
               {
                   Store (0x03, OSVR)
               }
           }
       }

       Return (OSVR)
   }

   Method (MCTH, 2, NotSerialized)
   {
       If (LLess (SizeOf (Arg0), SizeOf (Arg1)))
       {
           Return (Zero)
       }

       Add (SizeOf (Arg0), One, Local0)
       Name (BUF0, Buffer (Local0) {})
       Name (BUF1, Buffer (Local0) {})
       Store (Arg0, BUF0)
       Store (Arg1, BUF1)
       While (Local0)
       {
           Decrement (Local0)
           If (LNotEqual (DerefOf (Index (BUF0, Local0)), DerefOf (Index (
               BUF1, Local0))))
           {
               Return (Zero)
           }
       }

       Return (One)
   }

   Name (PRWP, Package (0x02)
   {
       Zero,
       Zero
   })
   Method (GPRW, 2, NotSerialized)
   {
       Store (Arg0, Index (PRWP, Zero))
       Store (ShiftLeft (SS1, One), Local0)
       Or (Local0, ShiftLeft (SS2, 0x02), Local0)
       Or (Local0, ShiftLeft (SS3, 0x03), Local0)
       Or (Local0, ShiftLeft (SS4, 0x04), Local0)
       If (And (ShiftLeft (One, Arg1), Local0))
       {
           Store (Arg1, Index (PRWP, One))
       }
       Else
       {
           ShiftRight (Local0, One, Local0)
           If (LOr (LEqual (OSFL (), One), LEqual (OSFL (), 0x02)))
           {
               FindSetLeftBit (Local0, Index (PRWP, One))
           }
           Else
           {
               FindSetRightBit (Local0, Index (PRWP, One))
           }
       }

       Return (PRWP)
   }

   Name (WAKP, Package (0x02)
   {
       Zero,
       Zero
   })
   OperationRegion (DEB0, SystemIO, DP80, One)
   Field (DEB0, ByteAcc, NoLock, Preserve)
   {
       DBG8,   8
   }

   OperationRegion (DEB1, SystemIO, DP90, 0x02)
   Field (DEB1, WordAcc, NoLock, Preserve)
   {
       DBG9,   16
   }

   Scope (_PR)
   {
       Processor (P001, 0x01, 0x00000810, 0x06) {}
       Processor (P002, 0x02, 0x00000000, 0x00) {}
       Processor (P003, 0x03, 0x00000000, 0x00) {}
       Processor (P004, 0x04, 0x00000000, 0x00) {}
       Alias (P001, CPU1)
       Alias (P002, CPU2)
       Alias (P003, CPU3)
       Alias (P004, CPU4)
   }

   Scope (_SB)
   {
       Name (PR00, Package (0x2D)
       {
           Package (0x04)
           {
               0x0002FFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0002FFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0002FFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0002FFFF,
               0x03,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0003FFFF,
               Zero,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0003FFFF,
               One,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0003FFFF,
               0x02,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0003FFFF,
               0x03,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0004FFFF,
               Zero,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0004FFFF,
               One,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0004FFFF,
               0x02,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0004FFFF,
               0x03,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x03,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0007FFFF,
               Zero,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0007FFFF,
               One,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0007FFFF,
               0x02,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0007FFFF,
               0x03,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0009FFFF,
               Zero,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0009FFFF,
               One,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0009FFFF,
               0x02,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0009FFFF,
               0x03,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x000AFFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x000AFFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x000AFFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x000AFFFF,
               0x03,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0014FFFF,
               Zero,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0014FFFF,
               One,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0014FFFF,
               0x02,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0014FFFF,
               0x03,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0012FFFF,
               Zero,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0012FFFF,
               One,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0012FFFF,
               0x02,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0012FFFF,
               0x03,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0013FFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0013FFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0013FFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0013FFFF,
               0x03,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0x0011FFFF,
               Zero,
               LNKG,
               Zero
           }
       })
       Name (AR00, Package (0x2D)
       {
           Package (0x04)
           {
               0x0002FFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0002FFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0002FFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0002FFFF,
               0x03,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0003FFFF,
               Zero,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0003FFFF,
               One,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0003FFFF,
               0x02,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0003FFFF,
               0x03,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0004FFFF,
               Zero,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0004FFFF,
               One,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0004FFFF,
               0x02,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0004FFFF,
               0x03,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0006FFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0006FFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x03,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0007FFFF,
               Zero,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0007FFFF,
               One,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0007FFFF,
               0x02,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0007FFFF,
               0x03,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0009FFFF,
               Zero,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0009FFFF,
               One,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0009FFFF,
               0x02,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0009FFFF,
               0x03,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x000AFFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x000AFFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x000AFFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x000AFFFF,
               0x03,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0014FFFF,
               Zero,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0014FFFF,
               One,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0014FFFF,
               0x02,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0014FFFF,
               0x03,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0012FFFF,
               Zero,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0012FFFF,
               One,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0012FFFF,
               0x02,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0012FFFF,
               0x03,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0013FFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0013FFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0013FFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0013FFFF,
               0x03,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0x0011FFFF,
               Zero,
               Zero,
               0x16
           }
       })
       Name (PR01, Package (0x04)
       {
           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               LNKB,
               Zero
           }
       })
       Name (AR01, Package (0x04)
       {
           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               Zero,
               0x11
           }
       })
       Name (PR02, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               LNKB,
               Zero
           }
       })
       Name (AR02, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               Zero,
               0x11
           }
       })
       Name (PR03, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               LNKC,
               Zero
           }
       })
       Name (AR03, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               Zero,
               0x12
           }
       })
       Name (PR04, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               LNKD,
               Zero
           }
       })
       Name (AR04, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               Zero,
               0x13
           }
       })
       Name (PR05, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               LNKB,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               LNKA,
               Zero
           }
       })
       Name (AR05, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               Zero,
               0x11
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               Zero,
               0x10
           }
       })
       Name (PR06, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               LNKC,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               LNKD,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               LNKA,
               Zero
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               LNKB,
               Zero
           }
       })
       Name (AR06, Package (0x04)
       {
           Package (0x04)
           {
               0xFFFF,
               Zero,
               Zero,
               0x12
           },

           Package (0x04)
           {
               0xFFFF,
               One,
               Zero,
               0x13
           },

           Package (0x04)
           {
               0xFFFF,
               0x02,
               Zero,
               0x10
           },

           Package (0x04)
           {
               0xFFFF,
               0x03,
               Zero,
               0x11
           }
       })
       Name (PR0C, Package (0x09)
       {
           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               LNKE,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               LNKF,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               LNKG,
               Zero
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               LNKH,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               Zero,
               LNKF,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               One,
               LNKG,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x02,
               LNKH,
               Zero
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x03,
               LNKE,
               Zero
           },

           Package (0x04)
           {
               0x0008FFFF,
               Zero,
               LNKG,
               Zero
           }
       })
       Name (AR0C, Package (0x09)
       {
           Package (0x04)
           {
               0x0005FFFF,
               Zero,
               Zero,
               0x14
           },

           Package (0x04)
           {
               0x0005FFFF,
               One,
               Zero,
               0x15
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x02,
               Zero,
               0x16
           },

           Package (0x04)
           {
               0x0005FFFF,
               0x03,
               Zero,
               0x17
           },

           Package (0x04)
           {
               0x0006FFFF,
               Zero,
               Zero,
               0x15
           },

           Package (0x04)
           {
               0x0006FFFF,
               One,
               Zero,
               0x16
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x02,
               Zero,
               0x17
           },

           Package (0x04)
           {
               0x0006FFFF,
               0x03,
               Zero,
               0x14
           },

           Package (0x04)
           {
               0x0008FFFF,
               Zero,
               Zero,
               0x16
           }
       })
       Name (PRSA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {4,7,10,11,12,14,15}
       })
       Alias (PRSA, PRSB)
       Alias (PRSA, PRSC)
       Alias (PRSA, PRSD)
       Alias (PRSA, PRSE)
       Alias (PRSA, PRSF)
       Name (PRSG, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {4,10,11,12,14,15}
       })
       Alias (PRSA, PRSH)
       Device (PCI0)
       {
           Name (_HID, EisaId ("PNP0A03"))
           Name (_ADR, 0x00180000)
           Method (^BN00, 0, NotSerialized)
           {
               Return (Zero)
           }

           Method (_BBN, 0, NotSerialized)
           {
               Return (BN00 ())
           }

           Name (_UID, Zero)
           Method (_PRT, 0, NotSerialized)
           {
               If (PICM)
               {
                   Return (AR00)
               }

               Return (PR00)
           }

           Method (NPTS, 1, NotSerialized)
           {
           }

           Method (NWAK, 1, NotSerialized)
           {
           }

           Device (RS78)
           {
               Name (_ADR, Zero)
               OperationRegion (NB2, PCI_Config, Zero, 0x0100)
               Field (NB2, AnyAcc, NoLock, Preserve)
               {
                           Offset (0x60),
                   MI,     32,
                   MD,     32,
                           Offset (0x94),
                   HI,     32,
                   HD,     32,
                           Offset (0xE8),
                   MCI,    32,
                   MCD,    32
               }

               Device (BROD)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, 0x14)
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y00)
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y01)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y00._BAS, BAS1)
                       CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y00._LEN, LEN1)
                       CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y01._BAS, BAS2)
                       CreateDWordField (CRS, \_SB.PCI0.RS78.BROD._Y01._LEN, LEN2)
                       Store (0x3C, MI)
                       Store (MD, Local0)
                       If (And (Local0, 0x40))
                       {
                           Store (0x3A, MI)
                           And (MD, 0xFFFFFF00, BAS1)
                           ShiftLeft (And (MD, 0xFF), 0x17, LEN1)
                       }

                       Store (0x11, MCI)
                       Store (MCD, Local1)
                       Store (0x12, MCI)
                       Store (MCD, Local2)
                       Store (0xF0, MCI)
                       Store (MCD, Local3)
                       If (LEqual (Local2, Zero))
                       {
                           If (LNotEqual (Local3, Zero))
                           {
                               Store (Local1, BAS2)
                               Store (ShiftLeft (Local3, 0x14), LEN2)
                           }
                       }

                       Return (CRS)
                   }
               }
           }

           Device (P0P1)
           {
               Name (_ADR, 0x00010000)
               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR01)
                   }

                   Return (PR01)
               }
           }

           Device (PCE2)
           {
               Name (_ADR, 0x00020000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR02)
                   }

                   Return (PR02)
               }
           }

           Device (PCE3)
           {
               Name (_ADR, 0x00030000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR03)
                   }

                   Return (PR03)
               }
           }

           Device (PCE4)
           {
               Name (_ADR, 0x00040000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR04)
                   }

                   Return (PR04)
               }
           }

           Device (PCE5)
           {
               Name (_ADR, 0x00050000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR05)
                   }

                   Return (PR05)
               }
           }

           Device (PCE6)
           {
               Name (_ADR, 0x00060000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR06)
                   }

                   Return (PR06)
               }
           }

           Device (PCE7)
           {
               Name (_ADR, 0x00070000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }
           }

           Device (PCE9)
           {
               Name (_ADR, 0x00090000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }
           }

           Device (PCEA)
           {
               Name (_ADR, 0x000A0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x18, 0x04))
               }
           }

           Device (SMBS)
           {
               Name (_ADR, 0x00140000)
               OperationRegion (SMBS, PCI_Config, Zero, 0x0100)
               Field (SMBS, AnyAcc, NoLock, Preserve)
               {
                           Offset (0x08),
                   REV,    8,
                           Offset (0x54),
                   IO59,   8
               }

               OperationRegion (WIDE, PCI_Config, 0xAD, One)
               Field (WIDE, AnyAcc, NoLock, Preserve)
               {
                   DUM1,   4,
                   SOPT,   1
               }
           }

           Device (IDEC)
           {
               Name (_ADR, 0x00140001)
               Name (UDMT, Package (0x08)
               {
                   0x78,
                   0x5A,
                   0x3C,
                   0x2D,
                   0x1E,
                   0x14,
                   0x0F,
                   Zero
               })
               Name (PIOT, Package (0x06)
               {
                   0x0258,
                   0x0186,
                   0x010E,
                   0xB4,
                   0x78,
                   Zero
               })
               Name (PITR, Package (0x06)
               {
                   0x99,
                   0x47,
                   0x34,
                   0x22,
                   0x20,
                   0x99
               })
               Name (MDMT, Package (0x04)
               {
                   0x01E0,
                   0x96,
                   0x78,
                   Zero
               })
               Name (MDTR, Package (0x04)
               {
                   0x77,
                   0x21,
                   0x20,
                   0xFF
               })
               OperationRegion (IDE, PCI_Config, 0x40, 0x20)
               Field (IDE, AnyAcc, NoLock, Preserve)
               {
                   PPIT,   16,
                   SPIT,   16,
                   PMDT,   16,
                   SMDT,   16,
                   PPIC,   8,
                   SPIC,   8,
                   PPIM,   8,
                   SPIM,   8,
                           Offset (0x14),
                   PUDC,   2,
                   SUDC,   2,
                           Offset (0x16),
                   PUDM,   8,
                   SUDM,   8
               }

               Method (GETT, 1, NotSerialized)
               {
                   Store (And (Arg0, 0x0F), Local0)
                   Store (ShiftRight (Arg0, 0x04), Local1)
                   Return (Multiply (0x1E, Add (Add (Local0, One), Add (Local1,
                       One))))
               }

               Method (GTM, 1, NotSerialized)
               {
                   CreateByteField (Arg0, Zero, PIT1)
                   CreateByteField (Arg0, One, PIT0)
                   CreateByteField (Arg0, 0x02, MDT1)
                   CreateByteField (Arg0, 0x03, MDT0)
                   CreateByteField (Arg0, 0x04, PICX)
                   CreateByteField (Arg0, 0x05, UDCX)
                   CreateByteField (Arg0, 0x06, UDMX)
                   Name (BUF, Buffer (0x14)
                   {
                       /* 0000 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
                       /* 0008 */    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
                       /* 0010 */    0x00, 0x00, 0x00, 0x00
                   })
                   CreateDWordField (BUF, Zero, PIO0)
                   CreateDWordField (BUF, 0x04, DMA0)
                   CreateDWordField (BUF, 0x08, PIO1)
                   CreateDWordField (BUF, 0x0C, DMA1)
                   CreateDWordField (BUF, 0x10, FLAG)
                   If (And (PICX, One))
                   {
                       Return (BUF)
                   }

                   Store (GETT (PIT0), PIO0)
                   Store (GETT (PIT1), PIO1)
                   If (And (UDCX, One))
                   {
                       Or (FLAG, One, FLAG)
                       Store (DerefOf (Index (UDMT, And (UDMX, 0x0F))), DMA0)
                   }
                   Else
                   {
                       Store (GETT (MDT0), DMA0)
                   }

                   If (And (UDCX, 0x02))
                   {
                       Or (FLAG, 0x04, FLAG)
                       Store (DerefOf (Index (UDMT, ShiftRight (UDMX, 0x04))), DMA1)
                   }
                   Else
                   {
                       Store (GETT (MDT1), DMA1)
                   }

                   Or (FLAG, 0x1A, FLAG)
                   Return (BUF)
               }

               Method (STM, 3, NotSerialized)
               {
                   CreateDWordField (Arg0, Zero, PIO0)
                   CreateDWordField (Arg0, 0x04, DMA0)
                   CreateDWordField (Arg0, 0x08, PIO1)
                   CreateDWordField (Arg0, 0x0C, DMA1)
                   CreateDWordField (Arg0, 0x10, FLAG)
                   Name (BUF, Buffer (0x07)
                   {
                       0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                   })
                   CreateByteField (BUF, Zero, PIT1)
                   CreateByteField (BUF, One, PIT0)
                   CreateByteField (BUF, 0x02, MDT1)
                   CreateByteField (BUF, 0x03, MDT0)
                   CreateByteField (BUF, 0x04, PIMX)
                   CreateByteField (BUF, 0x05, UDCX)
                   CreateByteField (BUF, 0x06, UDMX)
                   Store (Match (PIOT, MLE, PIO0, MTR, Zero, Zero), Local0)
                   Divide (Local0, 0x05, Local0)
                   Store (Match (PIOT, MLE, PIO1, MTR, Zero, Zero), Local1)
                   Divide (Local1, 0x05, Local1)
                   Store (Or (ShiftLeft (Local1, 0x04), Local0), PIMX)
                   Store (DerefOf (Index (PITR, Local0)), PIT0)
                   Store (DerefOf (Index (PITR, Local1)), PIT1)
                   If (And (FLAG, One))
                   {
                       Store (Match (UDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
                       Divide (Local0, 0x07, Local0)
                       Or (UDMX, Local0, UDMX)
                       Or (UDCX, One, UDCX)
                   }
                   Else
                   {
                       If (LNotEqual (DMA0, Ones))
                       {
                           Store (Match (MDMT, MLE, DMA0, MTR, Zero, Zero), Local0)
                           Store (DerefOf (Index (MDTR, Local0)), MDT0)
                       }
                   }

                   If (And (FLAG, 0x04))
                   {
                       Store (Match (UDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
                       Divide (Local0, 0x07, Local0)
                       Or (UDMX, ShiftLeft (Local0, 0x04), UDMX)
                       Or (UDCX, 0x02, UDCX)
                   }
                   Else
                   {
                       If (LNotEqual (DMA1, Ones))
                       {
                           Store (Match (MDMT, MLE, DMA1, MTR, Zero, Zero), Local0)
                           Store (DerefOf (Index (MDTR, Local0)), MDT1)
                       }
                   }

                   Return (BUF)
               }

               Method (GTF, 2, NotSerialized)
               {
                   CreateByteField (Arg1, Zero, MDT1)
                   CreateByteField (Arg1, One, MDT0)
                   CreateByteField (Arg1, 0x02, PIMX)
                   CreateByteField (Arg1, 0x03, UDCX)
                   CreateByteField (Arg1, 0x04, UDMX)
                   If (LEqual (Arg0, 0xA0))
                   {
                       Store (And (PIMX, 0x0F), Local0)
                       Store (MDT0, Local1)
                       And (UDCX, One, Local2)
                       Store (And (UDMX, 0x0F), Local3)
                   }
                   Else
                   {
                       Store (ShiftRight (PIMX, 0x04), Local0)
                       Store (MDT1, Local1)
                       And (UDCX, 0x02, Local2)
                       Store (ShiftRight (UDMX, 0x04), Local3)
                   }

                   Name (BUF, Buffer (0x15)
                   {
                       /* 0000 */    0x03, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x03,
                       /* 0008 */    0x00, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0x00, 0x00,
                       /* 0010 */    0x00, 0x00, 0x00, 0x00, 0xF5
                   })
                   CreateByteField (BUF, One, PMOD)
                   CreateByteField (BUF, 0x08, DMOD)
                   CreateByteField (BUF, 0x05, CMDA)
                   CreateByteField (BUF, 0x0C, CMDB)
                   CreateByteField (BUF, 0x13, CMDC)
                   Store (Arg0, CMDA)
                   Store (Arg0, CMDB)
                   Store (Arg0, CMDC)
                   Or (Local0, 0x08, PMOD)
                   If (Local2)
                   {
                       Or (Local3, 0x40, DMOD)
                   }
                   Else
                   {
                       Store (Match (MDMT, MLE, GETT (Local1), MTR, Zero, Zero), Local4)
                       If (LLess (Local4, 0x03))
                       {
                           Or (0x20, Local4, DMOD)
                       }
                   }

                   Return (BUF)
               }

               Device (PRID)
               {
                   Name (_ADR, Zero)
                   Method (_GTM, 0, NotSerialized)
                   {
                       Name (BUF, Buffer (0x07)
                       {
                           0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                       })
                       CreateWordField (BUF, Zero, VPIT)
                       CreateWordField (BUF, 0x02, VMDT)
                       CreateByteField (BUF, 0x04, VPIC)
                       CreateByteField (BUF, 0x05, VUDC)
                       CreateByteField (BUF, 0x06, VUDM)
                       If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                       {
                           Store (PPIT, VPIT)
                           Store (PMDT, VMDT)
                           Store (PPIC, VPIC)
                           Store (PUDC, VUDC)
                           Store (PUDM, VUDM)
                       }
                       Else
                       {
                           Store (SPIT, VPIT)
                           Store (SMDT, VMDT)
                           Store (SPIC, VPIC)
                           Store (SUDC, VUDC)
                           Store (SUDM, VUDM)
                       }

                       Return (GTM (BUF))
                   }

                   Method (_STM, 3, NotSerialized)
                   {
                       Name (BUF, Buffer (0x07)
                       {
                           0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                       })
                       CreateWordField (BUF, Zero, VPIT)
                       CreateWordField (BUF, 0x02, VMDT)
                       CreateByteField (BUF, 0x04, VPIM)
                       CreateByteField (BUF, 0x05, VUDC)
                       CreateByteField (BUF, 0x06, VUDM)
                       Store (STM (Arg0, Arg1, Arg2), BUF)
                       If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                       {
                           Store (VPIT, PPIT)
                           Store (VMDT, PMDT)
                           Store (VPIM, PPIM)
                           Store (VUDC, PUDC)
                           Store (VUDM, PUDM)
                       }
                       Else
                       {
                           Store (VPIT, SPIT)
                           Store (VMDT, SMDT)
                           Store (VPIM, SPIM)
                           Store (VUDC, SUDC)
                           Store (VUDM, SUDM)
                       }
                   }

                   Device (P_D0)
                   {
                       Name (_ADR, Zero)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Name (BUF, Buffer (0x05)
                           {
                               0x00, 0x00, 0x00, 0x00, 0x00
                           })
                           CreateWordField (BUF, Zero, VMDT)
                           CreateByteField (BUF, 0x02, VPIM)
                           CreateByteField (BUF, 0x03, VUDC)
                           CreateByteField (BUF, 0x04, VUDM)
                           If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                           {
                               Store (PMDT, VMDT)
                               Store (PPIM, VPIM)
                               Store (PUDC, VUDC)
                               Store (PUDM, VUDM)
                           }
                           Else
                           {
                               Store (SMDT, VMDT)
                               Store (SPIM, VPIM)
                               Store (SUDC, VUDC)
                               Store (SUDM, VUDM)
                           }

                           Return (GTF (0xA0, BUF))
                       }
                   }

                   Device (P_D1)
                   {
                       Name (_ADR, One)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Name (BUF, Buffer (0x05)
                           {
                               0x00, 0x00, 0x00, 0x00, 0x00
                           })
                           CreateWordField (BUF, Zero, VMDT)
                           CreateByteField (BUF, 0x02, VPIM)
                           CreateByteField (BUF, 0x03, VUDC)
                           CreateByteField (BUF, 0x04, VUDM)
                           If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                           {
                               Store (PMDT, VMDT)
                               Store (PPIM, VPIM)
                               Store (PUDC, VUDC)
                               Store (PUDM, VUDM)
                           }
                           Else
                           {
                               Store (SMDT, VMDT)
                               Store (SPIM, VPIM)
                               Store (SUDC, VUDC)
                               Store (SUDM, VUDM)
                           }

                           Return (GTF (0xB0, BUF))
                       }
                   }
               }

               Device (SECD)
               {
                   Name (_ADR, One)
                   Method (_GTM, 0, NotSerialized)
                   {
                       Name (BUF, Buffer (0x07)
                       {
                           0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x00
                       })
                       CreateWordField (BUF, Zero, VPIT)
                       CreateWordField (BUF, 0x02, VMDT)
                       CreateByteField (BUF, 0x04, VPIC)
                       CreateByteField (BUF, 0x05, VUDC)
                       CreateByteField (BUF, 0x06, VUDM)
                       If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                       {
                           Store (SPIT, VPIT)
                           Store (SMDT, VMDT)
                           Store (SPIC, VPIC)
                           Store (SUDC, VUDC)
                           Store (SUDM, VUDM)
                       }
                       Else
                       {
                           Store (PPIT, VPIT)
                           Store (PMDT, VMDT)
                           Store (PPIC, VPIC)
                           Store (PUDC, VUDC)
                           Store (PUDM, VUDM)
                       }

                       Return (GTM (BUF))
                   }

                   Method (_STM, 3, NotSerialized)
                   {
                       Name (BUF, Buffer (0x07)
                       {
                           0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                       })
                       CreateWordField (BUF, Zero, VPIT)
                       CreateWordField (BUF, 0x02, VMDT)
                       CreateByteField (BUF, 0x04, VPIM)
                       CreateByteField (BUF, 0x05, VUDC)
                       CreateByteField (BUF, 0x06, VUDM)
                       Store (STM (Arg0, Arg1, Arg2), BUF)
                       If (LOr (LGreaterEqual (^^^SMBS.REV, 0x3A), ^^^SMBS.SOPT))
                       {
                           Store (VPIT, SPIT)
                           Store (VMDT, SMDT)
                           Store (VPIM, SPIM)
                           Store (VUDC, SUDC)
                           Store (VUDM, SUDM)
                       }
                       Else
                       {
                           Store (VPIT, PPIT)
                           Store (VMDT, PMDT)
                           Store (VPIM, PPIM)
                           Store (VUDC, PUDC)
                           Store (VUDM, PUDM)
                       }
                   }

                   Device (S_D0)
                   {
                       Name (_ADR, Zero)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Name (BUF, Buffer (0x05)
                           {
                               0x00, 0x00, 0x00, 0x00, 0x00
                           })
                           CreateWordField (BUF, Zero, VMDT)
                           CreateByteField (BUF, 0x02, VPIM)
                           CreateByteField (BUF, 0x03, VUDC)
                           CreateByteField (BUF, 0x04, VUDM)
                           If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                           {
                               Store (SMDT, VMDT)
                               Store (SPIM, VPIM)
                               Store (SUDC, VUDC)
                               Store (SUDM, VUDM)
                           }
                           Else
                           {
                               Store (PMDT, VMDT)
                               Store (PPIM, VPIM)
                               Store (PUDC, VUDC)
                               Store (PUDM, VUDM)
                           }

                           Return (GTF (0xA0, BUF))
                       }
                   }

                   Device (S_D1)
                   {
                       Name (_ADR, One)
                       Method (_GTF, 0, NotSerialized)
                       {
                           Name (BUF, Buffer (0x05)
                           {
                               0x00, 0x00, 0x00, 0x00, 0x00
                           })
                           CreateWordField (BUF, Zero, VMDT)
                           CreateByteField (BUF, 0x02, VPIM)
                           CreateByteField (BUF, 0x03, VUDC)
                           CreateByteField (BUF, 0x04, VUDM)
                           If (LOr (LGreaterEqual (^^^^SMBS.REV, 0x3A), ^^^^SMBS.SOPT))
                           {
                               Store (SMDT, VMDT)
                               Store (SPIM, VPIM)
                               Store (SUDC, VUDC)
                               Store (SUDM, VUDM)
                           }
                           Else
                           {
                               Store (PMDT, VMDT)
                               Store (PPIM, VPIM)
                               Store (PUDC, VUDC)
                               Store (PUDM, VUDM)
                           }

                           Return (GTF (0xB0, BUF))
                       }
                   }
               }
           }

           Device (SBAZ)
           {
               Name (_ADR, 0x00140002)
               OperationRegion (PCI, PCI_Config, Zero, 0x0100)
               Field (PCI, AnyAcc, NoLock, Preserve)
               {
                           Offset (0x42),
                   DNSP,   1,
                   DNSO,   1,
                   ENSR,   1
               }

               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x1B, 0x04))
               }
           }

           Device (SBRG)
           {
               Name (_ADR, 0x00140003)
               OperationRegion (LPCS, PCI_Config, Zero, 0x0100)
               Field (LPCS, AnyAcc, NoLock, Preserve)
               {
                           Offset (0x40),
                       ,   7,
                   ECEN,   1,
                           Offset (0xA4),
                   ECAD,   16
               }

               Name (ECIN, Zero)
               Mutex (ECMU, 0x00)
               Mutex (MLMU, 0x00)
               If (ECEN)
               {
                   And (ECAD, 0xFFFE, ECIN)
                   OperationRegion (ECBP, SystemIO, ECIN, 0x02)
                   Field (ECBP, ByteAcc, NoLock, Preserve)
                   {
                       BPIO,   8
                   }

                   OperationRegion (ECIO, SystemIO, ECIN, 0x02)
                   Field (ECIO, ByteAcc, NoLock, Preserve)
                   {
                       IND,    8,
                       DAT,    8
                   }

                   IndexField (IND, DAT, ByteAcc, NoLock, Preserve)
                   {
                               Offset (0x07),
                       LDNM,   8,
                               Offset (0x22),
                       POW,    8,
                               Offset (0x30),
                       ACT,    1,
                               Offset (0x60),
                       IOBH,   8,
                       IOBL,   8,
                               Offset (0x70),
                       INT,    4
                   }

                   Method (CFG, 1, NotSerialized)
                   {
                       Store (0x5A, BPIO)
                       Store (0x5A, BPIO)
                       Store (Arg0, LDNM)
                   }

                   Method (XCFG, 0, NotSerialized)
                   {
                       Store (0xA5, BPIO)
                   }

                   Method (STA, 1, NotSerialized)
                   {
                       Acquire (ECMU, 0x5000)
                       CFG (Arg0)
                       Store (Zero, Local1)
                       If (ACT)
                       {
                           Store (0x0F, Local1)
                       }

                       If (LEqual (IND, 0xFF))
                       {
                           Store (Zero, Local1)
                       }

                       XCFG ()
                       Release (ECMU)
                       Return (Local1)
                   }

                   Method (RDMB, 1, NotSerialized)
                   {
                       Acquire (ECMU, 0x1388)
                       Acquire (MLMU, 0x1388)
                       CFG (0x05)
                       Name (IOBA, Zero)
                       Store (IOBH, IOBA)
                       ShiftLeft (IOBA, 0x08, IOBA)
                       Or (IOBA, IOBL, IOBA)
                       OperationRegion (MLIO, SystemIO, IOBA, 0x02)
                       Field (MLIO, ByteAcc, NoLock, Preserve)
                       {
                           MLIN,   8,
                           MLDA,   8
                       }

                       Store (Arg0, MLIN)
                       Return (MLDA)
                       Release (MLMU)
                       Release (ECMU)
                   }

                   Method (WRMB, 2, NotSerialized)
                   {
                       Acquire (ECMU, 0x1388)
                       Acquire (MLMU, 0x1388)
                       CFG (0x05)
                       Name (IOBA, Zero)
                       Store (IOBH, IOBA)
                       ShiftLeft (IOBA, 0x08, IOBA)
                       Or (IOBA, IOBL, IOBA)
                       OperationRegion (MLIO, SystemIO, IOBA, 0x02)
                       Field (MLIO, ByteAcc, NoLock, Preserve)
                       {
                           MLIN,   8,
                           MLDA,   8
                       }

                       Store (Arg0, MLIN)
                       Store (Arg1, MLDA)
                       Release (MLMU)
                       Release (ECMU)
                   }

                   Name (KBWF, One)
                   Name (MSWF, One)
                   Name (IRWF, One)
                   Device (PSKE)
                   {
                       Name (_HID, EisaId ("PNP0303"))
                       Name (_CID, EisaId ("PNP030B"))
                       Method (_STA, 0, NotSerialized)
                       {
                           Store (Zero, Local1)
                           Store (STA (0x07), Local1)
                           Return (Local1)
                       }

                       Name (_CRS, ResourceTemplate ()
                       {
                           IO (Decode16,
                               0x0060,             // Range Minimum
                               0x0060,             // Range Maximum
                               0x00,               // Alignment
                               0x01,               // Length
                               )
                           IO (Decode16,
                               0x0064,             // Range Minimum
                               0x0064,             // Range Maximum
                               0x00,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {1}
                       })
                       Method (_PRW, 0, NotSerialized)
                       {
                           Return (GPRW (0x03, 0x04))
                       }

                       Method (_PSW, 1, NotSerialized)
                       {
                           If (Arg0)
                           {
                               Store (One, KBWF)
                           }
                           Else
                           {
                               Store (Zero, KBWF)
                           }
                       }
                   }

                   Device (PSMS)
                   {
                       Name (_HID, EisaId ("PNP0F03"))
                       Name (_CID, EisaId ("PNP0F13"))
                       Method (_STA, 0, NotSerialized)
                       {
                           Store (Zero, Local1)
                           Store (STA (0x07), Local1)
                           Return (Local1)
                       }

                       Name (_CRS, ResourceTemplate ()
                       {
                           IRQNoFlags ()
                               {12}
                       })
                       Method (_PRW, 0, NotSerialized)
                       {
                           Return (GPRW (0x03, 0x04))
                       }

                       Method (_PSW, 1, NotSerialized)
                       {
                           If (Arg0)
                           {
                               Store (One, MSWF)
                           }
                           Else
                           {
                               Store (Zero, MSWF)
                           }
                       }
                   }

                   Method (KWEN, 0, NotSerialized)
                   {
                       WRMB (0x81, Zero)
                       WRMB (0x82, One)
                       WRMB (0x80, Zero)
                       WRMB (0xA0, 0x95)
                   }

                   Method (KWDS, 0, NotSerialized)
                   {
                       WRMB (0x81, Zero)
                       WRMB (0x82, Zero)
                       WRMB (0x80, Zero)
                       WRMB (0xA0, 0x95)
                   }

                   Method (MWEN, 0, NotSerialized)
                   {
                       WRMB (0x81, One)
                       WRMB (0x82, One)
                       WRMB (0x80, Zero)
                       WRMB (0xA0, 0x95)
                   }

                   Method (MWDS, 0, NotSerialized)
                   {
                       WRMB (0x81, One)
                       WRMB (0x82, Zero)
                       WRMB (0x80, Zero)
                       WRMB (0xA0, 0x95)
                   }

                   Device (ECIR)
                   {
                       Name (_HID, EisaId ("AMDC001"))
                       Method (_STA, 0, NotSerialized)
                       {
                           Store (Zero, Local1)
                           If (LEqual (OSTY, 0x06))
                           {
                               Store (STA (0x05), Local1)
                           }

                           Return (Local1)
                       }

                       Method (_CRS, 0, NotSerialized)
                       {
                           Name (RSRC, ResourceTemplate ()
                           {
                               IO (Decode16,
                                   0x0000,             // Range Minimum
                                   0x0000,             // Range Maximum
                                   0x08,               // Alignment
                                   0x08,               // Length
                                   _Y02)
                               IRQNoFlags (_Y03)
                                   {}
                           })
                           CreateByteField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y02._MIN, IO1)
                           CreateByteField (RSRC, 0x03, IO2)
                           CreateByteField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y02._MAX, IO3)
                           CreateByteField (RSRC, 0x05, IO4)
                           CreateWordField (RSRC, \_SB.PCI0.SBRG.ECIR._CRS._Y03._INT, IRQV)
                           Acquire (ECMU, 0x1388)
                           CFG (0x05)
                           If (ACT)
                           {
                               Store (IOBL, IO1)
                               Store (IOBH, IO2)
                               Store (IOBL, IO3)
                               Store (IOBH, IO4)
                               Store (One, Local0)
                               ShiftLeft (Local0, INT, IRQV)
                           }

                           XCFG ()
                           Release (ECMU)
                           Return (RSRC)
                       }

                       Name (_PRS, ResourceTemplate ()
                       {
                           StartDependentFn (0x00, 0x00)
                           {
                               IO (Decode16,
                                   0x0550,             // Range Minimum
                                   0x0550,             // Range Maximum
                                   0x01,               // Alignment
                                   0x08,               // Length
                                   )
                               IRQ (Edge, ActiveHigh, Shared, )
                                   {5}
                           }
                           StartDependentFnNoPri ()
                           {
                               IO (Decode16,
                                   0x0650,             // Range Minimum
                                   0x0650,             // Range Maximum
                                   0x01,               // Alignment
                                   0x08,               // Length
                                   )
                               IRQ (Edge, ActiveHigh, Shared, )
                                   {5}
                           }
                           StartDependentFnNoPri ()
                           {
                               IO (Decode16,
                                   0x0550,             // Range Minimum
                                   0x0550,             // Range Maximum
                                   0x01,               // Alignment
                                   0x08,               // Length
                                   )
                               IRQ (Edge, ActiveHigh, Shared, )
                                   {3}
                           }
                           StartDependentFnNoPri ()
                           {
                               IO (Decode16,
                                   0x0650,             // Range Minimum
                                   0x0650,             // Range Maximum
                                   0x01,               // Alignment
                                   0x08,               // Length
                                   )
                               IRQ (Edge, ActiveHigh, Shared, )
                                   {3}
                           }
                           EndDependentFn ()
                       })
                       Method (_SRS, 1, NotSerialized)
                       {
                           CreateByteField (Arg0, 0x02, IO1)
                           CreateByteField (Arg0, 0x03, IO2)
                           CreateWordField (Arg0, 0x09, IRQV)
                           Acquire (ECMU, 0x1388)
                           CFG (0x05)
                           Store (IO1, IOBL)
                           Store (IO2, IOBH)
                           FindSetRightBit (IRQV, Local0)
                           Subtract (Local0, One, INT)
                           Store (One, ACT)
                           XCFG ()
                           Release (ECMU)
                       }

                       Method (_PRW, 0, NotSerialized)
                       {
                           Return (GPRW (0x17, 0x04))
                       }

                       Method (_PSW, 1, NotSerialized)
                       {
                           If (Arg0)
                           {
                               Store (One, IRWF)
                           }
                           Else
                           {
                               Store (Zero, IRWF)
                           }
                       }

                       Method (IRCF, 2, NotSerialized)
                       {
                           Name (CONN, Zero)
                           If (LEqual (Arg0, One))
                           {
                               Or (RVID, CONN, CONN)
                               Or (0x00013200, CONN, CONN)
                               Return (CONN)
                           }

                           If (LEqual (Arg0, 0x02))
                           {
                               ShiftLeft (GP64, One, CONN)
                               Or (GP51, CONN, CONN)
                               Return (CONN)
                           }

                           If (LEqual (Arg0, 0x03))
                           {
                               If (LEqual (Arg1, Zero))
                               {
                                   Store (One, G31O)
                               }
                               Else
                               {
                                   Store (Zero, G31O)
                                   Sleep (0x64)
                                   Store (One, G31O)
                               }
                           }

                           If (LEqual (Arg0, 0x04))
                           {
                               If (LEqual (Arg1, Zero))
                               {
                                   Store (Zero, ACIR)
                               }
                               Else
                               {
                                   Store (One, ACIR)
                               }
                           }

                           If (LOr (LEqual (Arg0, Zero), LGreater (Arg0, 0x05)))
                           {
                               Store (Ones, CONN)
                           }

                           Return (CONN)
                       }
                   }

                   Method (PPTS, 1, NotSerialized)
                   {
                       If (^PSKE._STA ())
                       {
                           If (KBWF)
                           {
                               KWEN ()
                           }
                           Else
                           {
                               KWDS ()
                           }
                       }

                       If (^PSMS._STA ())
                       {
                           If (MSWF)
                           {
                               MWEN ()
                           }
                           Else
                           {
                               MWDS ()
                           }
                       }
                   }

                   Method (WWAK, 1, NotSerialized)
                   {
                       If (^PSKE._STA ())
                       {
                           KWDS ()
                       }

                       If (^PSMS._STA ())
                       {
                           MWDS ()
                       }
                   }
               }

               Method (EPTS, 1, NotSerialized)
               {
                   If (ECEN)
                   {
                       PPTS (Arg0)
                   }
               }

               Method (EWAK, 1, NotSerialized)
               {
                   If (ECEN)
                   {
                       WWAK (Arg0)
                   }
               }

               Device (PIC)
               {
                   Name (_HID, EisaId ("PNP0000"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0020,             // Range Minimum
                           0x0020,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x00A0,             // Range Minimum
                           0x00A0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IRQNoFlags ()
                           {2}
                   })
               }

               Device (DMAD)
               {
                   Name (_HID, EisaId ("PNP0200"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       DMA (Compatibility, BusMaster, Transfer8, )
                           {4}
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x0081,             // Range Minimum
                           0x0081,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x0087,             // Range Minimum
                           0x0087,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0089,             // Range Minimum
                           0x0089,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x008F,             // Range Minimum
                           0x008F,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x00C0,             // Range Minimum
                           0x00C0,             // Range Maximum
                           0x00,               // Alignment
                           0x20,               // Length
                           )
                   })
               }

               Device (TMR)
               {
                   Name (_HID, EisaId ("PNP0100"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0040,             // Range Minimum
                           0x0040,             // Range Maximum
                           0x00,               // Alignment
                           0x04,               // Length
                           )
                       IRQNoFlags ()
                           {0}
                   })
               }

               Device (RTC0)
               {
                   Name (_HID, EisaId ("PNP0B00"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0070,             // Range Minimum
                           0x0070,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IRQNoFlags ()
                           {8}
                   })
               }

               Device (SPKR)
               {
                   Name (_HID, EisaId ("PNP0800"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0061,             // Range Minimum
                           0x0061,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                   })
               }

               Device (COPR)
               {
                   Name (_HID, EisaId ("PNP0C04"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x00F0,             // Range Minimum
                           0x00F0,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IRQNoFlags ()
                           {13}
                   })
               }

               Device (UAR1)
               {
                   Name (_UID, One)
                   Method (_HID, 0, NotSerialized)
                   {
                       Return (UHID (Zero))
                   }

                   Method (_STA, 0, NotSerialized)
                   {
                       Return (DSTA (Zero))
                   }

                   Method (_DIS, 0, NotSerialized)
                   {
                       DCNT (Zero, Zero)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       Return (DCRS (Zero, One))
                   }

                   Method (_SRS, 1, NotSerialized)
                   {
                       DSRS (Arg0, Zero)
                   }

                   Method (_PRS, 0, NotSerialized)
                   {
                       Return (CMPR)
                   }

                   Name (CMPR, ResourceTemplate ()
                   {
                       StartDependentFn (0x00, 0x00)
                       {
                           IO (Decode16,
                               0x03F8,             // Range Minimum
                               0x03F8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {4}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03F8,             // Range Minimum
                               0x03F8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x02F8,             // Range Minimum
                               0x02F8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03E8,             // Range Minimum
                               0x03E8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x02E8,             // Range Minimum
                               0x02E8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03F8,             // Range Minimum
                               0x03F8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x02F8,             // Range Minimum
                               0x02F8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03E8,             // Range Minimum
                               0x03E8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x02E8,             // Range Minimum
                               0x02E8,             // Range Maximum
                               0x01,               // Alignment
                               0x08,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       EndDependentFn ()
                   })
               }

               Device (FDC)
               {
                   Name (_HID, EisaId ("PNP0700"))
                   Method (_FDE, 0, NotSerialized)
                   {
                       Name (FDEP, Package (0x05)
                       {
                           Zero,
                           Zero,
                           0x02,
                           0x02,
                           0x02
                       })
                       If (_STA ())
                       {
                           Store (One, Index (FDEP, Zero))
                       }

                       Return (FDEP)
                   }

                   Method (_STA, 0, NotSerialized)
                   {
                       Return (DSTA (0x03))
                   }

                   Method (_DIS, 0, NotSerialized)
                   {
                       DCNT (0x03, Zero)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       DCRS (0x03, One)
                       Store (IRQM, IRQE)
                       Store (DMAM, DMAE)
                       Store (IO11, IO21)
                       Store (IO12, IO22)
                       Store (0x06, LEN2)
                       Add (IO21, 0x07, IO31)
                       Store (IO31, IO32)
                       Store (One, LEN3)
                       Return (CRS2)
                   }

                   Method (_SRS, 1, NotSerialized)
                   {
                       DSRS (Arg0, 0x03)
                       CreateWordField (Arg0, 0x11, IRQE)
                       CreateByteField (Arg0, 0x14, DMAE)
                       ENFG (CGLD (0x03))
                       If (IRQE)
                       {
                           FindSetRightBit (IRQE, Local0)
                           Subtract (Local0, One, INTR)
                       }
                       Else
                       {
                           Store (Zero, INTR)
                       }

                       If (DMAE)
                       {
                           FindSetRightBit (DMAE, Local0)
                           Subtract (Local0, One, DMCH)
                       }
                       Else
                       {
                           Store (0x04, DMCH)
                       }

                       EXFG ()
                   }

                   Name (_PRS, ResourceTemplate ()
                   {
                       StartDependentFn (0x00, 0x00)
                       {
                           IO (Decode16,
                               0x03F0,             // Range Minimum
                               0x03F0,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x03F7,             // Range Minimum
                               0x03F7,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {6}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {2}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x03F0,             // Range Minimum
                               0x03F0,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x03F7,             // Range Minimum
                               0x03F7,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       StartDependentFnNoPri ()
                       {
                           IO (Decode16,
                               0x0370,             // Range Minimum
                               0x0370,             // Range Maximum
                               0x01,               // Alignment
                               0x06,               // Length
                               )
                           IO (Decode16,
                               0x0377,             // Range Minimum
                               0x0377,             // Range Maximum
                               0x01,               // Alignment
                               0x01,               // Length
                               )
                           IRQNoFlags ()
                               {3,4,5,6,7,10,11,12}
                           DMA (Compatibility, NotBusMaster, Transfer8, )
                               {0,1,2,3}
                       }
                       EndDependentFn ()
                   })
               }

               Scope (\)
               {
                   OperationRegion (RAMW, SystemMemory, Subtract (TOPM, 0x00010000), 0x00010000)
                   Field (RAMW, ByteAcc, NoLock, Preserve)
                   {
                       PAR0,   32,
                       PAR1,   32,
                       PAR2,   32,
                       PAR3,   8,
                       PAR4,   16
                   }

                   OperationRegion (IOB2, SystemIO, 0xB0, 0x02)
                   Field (IOB2, ByteAcc, NoLock, Preserve)
                   {
                       SMIC,   8,
                       SMIS,   8
                   }

                   Method (ISMI, 1, Serialized)
                   {
                       Store (Arg0, SMIC)
                       Sleep (One)
                   }

                   Method (GNVS, 1, Serialized)
                   {
                       Store (Arg0, PAR0)
                       ISMI (0x70)
                       Return (PAR1)
                   }

                   Method (SNVS, 2, Serialized)
                   {
                       Store (Arg0, PAR0)
                       Store (Arg1, PAR1)
                       ISMI (0x71)
                   }
               }

               Scope (\_SB.PCI0.SBRG)
               {
                   Device (ASOC)
                   {
                       Name (_HID, "ATK0110")
                       Name (_UID, 0x01010110)
                       Method (_STA, 0, NotSerialized)
                       {
                           Return (0x0F)
                       }

                       Method (_INI, 0, NotSerialized)
                       {
                           G03I ()
                       }

                       Name (MBIF, Package (0x08)
                       {
                           0x03,
                           "M3A78-T",
                           0x02010101,
                           0x01000100,
                           0xE0010101,
                           Zero,
                           Zero,
                           Zero
                       })
                       Name (ASBF, Buffer (0x08)
                       {
                           /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
                       })
                       CreateDWordField (ASBF, Zero, ASB0)
                       CreateDWordField (ASBF, 0x04, ASB1)
                       Method (GGRP, 1, Serialized)
                       {
                           Name (_T_0, Zero)
                           Store (Arg0, _T_0)
                           If (LEqual (_T_0, Zero))
                           {
                               Return (GRP0)
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x03))
                               {
                                   Return (GRP3)
                               }
                               Else
                               {
                                   If (LEqual (_T_0, 0x04))
                                   {
                                       Return (GRP4)
                                   }
                                   Else
                                   {
                                       If (LEqual (_T_0, 0x05))
                                       {
                                           Return (GRP5)
                                       }
                                       Else
                                       {
                                           If (LEqual (_T_0, 0x06))
                                           {
                                               Return (GRP6)
                                           }
                                           Else
                                           {
                                               If (LEqual (_T_0, 0x09))
                                               {
                                                   Return (GRP9)
                                               }
                                               Else
                                               {
                                                   If (LEqual (_T_0, 0x0B))
                                                   {
                                                       Return (GRPB)
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (_T_0, 0x0C))
                                                       {
                                                           Return (GRPC)
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (_T_0, 0x0D))
                                                           {
                                                               Return (GRPD)
                                                           }
                                                           Else
                                                           {
                                                               Return (Zero)
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }

                       Method (GITM, 1, Serialized)
                       {
                           CreateDWordField (Arg0, Zero, PRM0)
                           CreateByteField (Arg0, 0x03, GPID)
                           Store (One, ASB0)
                           Name (_T_0, Zero)
                           Store (GPID, _T_0)
                           If (LEqual (_T_0, Zero))
                           {
                               GIT0 (PRM0)
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x03))
                               {
                                   GIT3 (PRM0)
                               }
                               Else
                               {
                                   If (LEqual (_T_0, 0x04))
                                   {
                                       GIT4 (PRM0)
                                   }
                                   Else
                                   {
                                       If (LEqual (_T_0, 0x05))
                                       {
                                           GIT5 (PRM0)
                                       }
                                       Else
                                       {
                                           If (LEqual (_T_0, 0x06))
                                           {
                                               GIT6 (PRM0)
                                           }
                                           Else
                                           {
                                               If (LEqual (_T_0, 0x09))
                                               {
                                                   GIT9 (PRM0)
                                               }
                                               Else
                                               {
                                                   If (LEqual (_T_0, 0x0B))
                                                   {
                                                       GITB (PRM0)
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (_T_0, 0x0C))
                                                       {
                                                           GITC (PRM0)
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (_T_0, 0x0D))
                                                           {
                                                               GITD (PRM0)
                                                           }
                                                           Else
                                                           {
                                                               Store (Zero, ASB0)
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }

                           Return (ASBF)
                       }

                       Method (SITM, 1, Serialized)
                       {
                           CreateDWordField (Arg0, Zero, PRM0)
                           CreateDWordField (Arg0, 0x04, PRM1)
                           CreateDWordField (Arg0, 0x08, PRM2)
                           CreateByteField (Arg0, 0x03, GPID)
                           Store (One, ASB0)
                           Name (_T_0, Zero)
                           Store (GPID, _T_0)
                           If (LEqual (_T_0, Zero))
                           {
                               SIT0 (PRM0, PRM1, PRM2)
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x03))
                               {
                                   SIT3 (PRM0, PRM1, PRM2)
                               }
                               Else
                               {
                                   If (LEqual (_T_0, 0x04))
                                   {
                                       SIT4 (PRM0, PRM1, PRM2)
                                   }
                                   Else
                                   {
                                       If (LEqual (_T_0, 0x05))
                                       {
                                           SIT5 (PRM0, PRM1, PRM2)
                                       }
                                       Else
                                       {
                                           If (LEqual (_T_0, 0x06))
                                           {
                                               SIT6 (PRM0, PRM1, PRM2)
                                           }
                                           Else
                                           {
                                               If (LEqual (_T_0, 0x09))
                                               {
                                                   SIT9 (PRM0, PRM1, PRM2)
                                               }
                                               Else
                                               {
                                                   If (LEqual (_T_0, 0x0B))
                                                   {
                                                       SITB (PRM0, PRM1, PRM2)
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (_T_0, 0x0C))
                                                       {
                                                           SITC (PRM0, PRM1, PRM2)
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (_T_0, 0x0D))
                                                           {
                                                               SITD (PRM0, PRM1, PRM2)
                                                           }
                                                           Else
                                                           {
                                                               Store (Zero, ASB0)
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }

                           Return (ASBF)
                       }

                       Method (OP2V, 2, NotSerialized)
                       {
                           Store (DerefOf (Index (Arg1, 0x04)), Local0)
                           Store (DerefOf (Index (Arg1, 0x05)), Local1)
                           Multiply (Arg0, Local1, Local1)
                           Add (Local0, Local1, Local0)
                           Return (Local0)
                       }

                       Method (V2OP, 2, NotSerialized)
                       {
                           Store (DerefOf (Index (Arg1, 0x04)), Local0)
                           Store (DerefOf (Index (Arg1, 0x05)), Local1)
                           Subtract (Arg0, Local0, Local0)
                           Divide (Local0, Local1, Local1, Local0)
                           Return (Local0)
                       }
                   }
               }

               Device (HPET)
               {
                   Name (_HID, EisaId ("PNP0103"))
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadOnly,
                           0xFED00000,         // Address Base
                           0x00000400,         // Address Length
                           _Y04)
                   })
                   Method (_STA, 0, NotSerialized)
                   {
                       Return (0x0F)
                   }

                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y04._BAS, HPT)
                       Store (0xFED00000, HPT)
                       Return (CRS)
                   }
               }

               Scope (\)
               {
                   Field (RAMW, ByteAcc, NoLock, Preserve)
                   {
                               Offset (0x28),
                       AWEN,   1
                   }
               }

               Scope (\_SB)
               {
                   Device (\AWY)
                   {
                       Name (_HID, "AWY0001")
                       OperationRegion (PMIO, SystemIO, 0x0CD6, 0x02)
                       Field (PMIO, ByteAcc, NoLock, Preserve)
                       {
                           HIDX,   8,
                           HDAT,   8
                       }

                       IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
                       {
                                   Offset (0x7C),
                               ,   2,
                           PLED,   2
                       }

                       Method (BLNK, 0, NotSerialized)
                       {
                           Store (0x02, PLED)
                       }

                       Method (LDON, 0, NotSerialized)
                       {
                           Store (0x03, PLED)
                       }

                       Method (SMOD, 1, NotSerialized)
                       {
                           If (Arg0)
                           {
                               LDON ()
                           }
                           Else
                           {
                               BLNK ()
                           }
                       }

                       Method (_STA, 0, NotSerialized)
                       {
                           If (AWEN)
                           {
                               Return (0x0F)
                           }

                           Return (Zero)
                       }
                   }
               }

               Device (^PCIE)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, 0x11)
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadOnly,
                           0xE0000000,         // Address Base
                           0x10000000,         // Address Length
                           _Y05)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.PCI0.PCIE._Y05._BAS, BAS1)
                       CreateDWordField (CRS, \_SB.PCI0.PCIE._Y05._LEN, LEN1)
                       Store (PCIB, BAS1)
                       Store (PCIL, LEN1)
                       Return (CRS)
                   }
               }

               Scope (\_GPE)
               {
                   Method (_L11, 0, NotSerialized)
                   {
                       Notify (\_SB.PCI0.SBRG.ASOC, One)
                       Sleep (0x03E8)
                   }
               }

               Scope (ASOC)
               {
                   Name (VESL, Zero)
                   Method (SPLV, 1, Serialized)
                   {
                       And (Arg0, 0xFFFF, VESL)
                       Store (VESL, PAR0)
                       ISMI (0x88)
                       Store (And (PAR0, 0xFFFF), Local0)
                       Return (Local0)
                   }

                   Method (GPLV, 0, Serialized)
                   {
                       Return (VESL)
                   }
               }

               Device (OMSC)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, Zero)
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y06)
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y07)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       If (APIC)
                       {
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y06._LEN, ML01)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y06._BAS, MB01)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y07._LEN, ML02)
                           CreateDWordField (CRS, \_SB.PCI0.SBRG.OMSC._Y07._BAS, MB02)
                           Store (0xFEC00000, MB01)
                           Store (0x1000, ML01)
                           Store (0xFEE00000, MB02)
                           Store (0x1000, ML02)
                       }

                       Return (CRS)
                   }
               }

               Device (^^RMEM)
               {
                   Name (_HID, EisaId ("PNP0C01"))
                   Name (_UID, One)
                   Name (CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadWrite,
                           0x00000000,         // Address Base
                           0x000A0000,         // Address Length
                           )
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y08)
                       Memory32Fixed (ReadOnly,
                           0x000E0000,         // Address Base
                           0x00020000,         // Address Length
                           _Y09)
                       Memory32Fixed (ReadWrite,
                           0x00100000,         // Address Base
                           0x00000000,         // Address Length
                           _Y0A)
                       Memory32Fixed (ReadOnly,
                           0x00000000,         // Address Base
                           0x00000000,         // Address Length
                           _Y0B)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateDWordField (CRS, \_SB.RMEM._Y08._BAS, BAS1)
                       CreateDWordField (CRS, \_SB.RMEM._Y08._LEN, LEN1)
                       CreateDWordField (CRS, \_SB.RMEM._Y09._BAS, BAS2)
                       CreateDWordField (CRS, \_SB.RMEM._Y09._LEN, LEN2)
                       CreateDWordField (CRS, \_SB.RMEM._Y0A._LEN, LEN3)
                       CreateDWordField (CRS, \_SB.RMEM._Y0B._BAS, BAS4)
                       CreateDWordField (CRS, \_SB.RMEM._Y0B._LEN, LEN4)
                       If (OSFL ()) {}
                       Else
                       {
                           If (MG1B)
                           {
                               If (LGreater (MG1B, 0x000C0000))
                               {
                                   Store (0x000C0000, BAS1)
                                   Subtract (MG1B, BAS1, LEN1)
                               }
                           }
                           Else
                           {
                               Store (0x000C0000, BAS1)
                               Store (0x00020000, LEN1)
                           }

                           If (Add (MG1B, MG1L, Local0))
                           {
                               Store (Local0, BAS2)
                               Subtract (0x00100000, BAS2, LEN2)
                           }
                       }

                       Subtract (MG2B, 0x00100000, LEN3)
                       Store (MH1B, BAS4)
                       Subtract (Zero, BAS4, LEN4)
                       Return (CRS)
                   }
               }

               Device (RMSC)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Name (_UID, 0x10)
                   Name (CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0010,             // Range Minimum
                           0x0010,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x0022,             // Range Minimum
                           0x0022,             // Range Maximum
                           0x00,               // Alignment
                           0x1E,               // Length
                           )
                       IO (Decode16,
                           0x0062,             // Range Minimum
                           0x0062,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0065,             // Range Minimum
                           0x0065,             // Range Maximum
                           0x00,               // Alignment
                           0x0B,               // Length
                           )
                       IO (Decode16,
                           0x0072,             // Range Minimum
                           0x0072,             // Range Maximum
                           0x00,               // Alignment
                           0x0E,               // Length
                           )
                       IO (Decode16,
                           0x0080,             // Range Minimum
                           0x0080,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0084,             // Range Minimum
                           0x0084,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x0088,             // Range Minimum
                           0x0088,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x008C,             // Range Minimum
                           0x008C,             // Range Maximum
                           0x00,               // Alignment
                           0x03,               // Length
                           )
                       IO (Decode16,
                           0x0090,             // Range Minimum
                           0x0090,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x00A2,             // Range Minimum
                           0x00A2,             // Range Maximum
                           0x00,               // Alignment
                           0x1E,               // Length
                           )
                       IO (Decode16,
                           0x00B1,             // Range Minimum
                           0x00B1,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x00E0,             // Range Minimum
                           0x00E0,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x04D0,             // Range Minimum
                           0x04D0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x040B,             // Range Minimum
                           0x040B,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x04D6,             // Range Minimum
                           0x04D6,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0C00,             // Range Minimum
                           0x0C00,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0C14,             // Range Minimum
                           0x0C14,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0C50,             // Range Minimum
                           0x0C50,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0C52,             // Range Minimum
                           0x0C52,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0C6C,             // Range Minimum
                           0x0C6C,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0C6F,             // Range Minimum
                           0x0C6F,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0CD0,             // Range Minimum
                           0x0CD0,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0CD2,             // Range Minimum
                           0x0CD2,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0CD4,             // Range Minimum
                           0x0CD4,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0CD6,             // Range Minimum
                           0x0CD6,             // Range Maximum
                           0x00,               // Alignment
                           0x02,               // Length
                           )
                       IO (Decode16,
                           0x0CD8,             // Range Minimum
                           0x0CD8,             // Range Maximum
                           0x00,               // Alignment
                           0x08,               // Length
                           )
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y0C)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y0D)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y0E)
                       IO (Decode16,
                           0x0900,             // Range Minimum
                           0x0900,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0x0910,             // Range Minimum
                           0x0910,             // Range Maximum
                           0x00,               // Alignment
                           0x10,               // Length
                           )
                       IO (Decode16,
                           0xFE00,             // Range Minimum
                           0xFE00,             // Range Maximum
                           0x00,               // Alignment
                           0xFF,               // Length
                           )
                       Memory32Fixed (ReadOnly,
                           0xFFB80000,         // Address Base
                           0x00080000,         // Address Length
                           )
                       Memory32Fixed (ReadOnly,
                           0xFEC10000,         // Address Base
                           0x00000020,         // Address Length
                           )
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MIN, GP00)
                       CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._MAX, GP01)
                       CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0C._LEN, GP0L)
                       Store (PMBS, GP00)
                       Store (PMBS, GP01)
                       Store (PMLN, GP0L)
                       If (SMBB)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._MIN, GP10)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._MAX, GP11)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0D._LEN, GP1L)
                           Store (SMBB, GP10)
                           Store (SMBB, GP11)
                           Store (SMBL, GP1L)
                       }

                       If (GPBS)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._MIN, GP20)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._MAX, GP21)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.RMSC._Y0E._LEN, GP2L)
                           Store (GPBS, GP20)
                           Store (GPBS, GP21)
                           Store (GPLN, GP2L)
                       }

                       Return (CRS)
                   }
               }

               Device (PS2K)
               {
                   Name (_HID, EisaId ("PNP0303"))
                   Name (_CID, EisaId ("PNP030B"))
                   Method (_STA, 0, NotSerialized)
                   {
                       ShiftLeft (One, 0x0A, Local0)
                       If (And (IOST, Local0))
                       {
                           Return (0x0F)
                       }

                       Return (Zero)
                   }

                   Name (_CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0060,             // Range Minimum
                           0x0060,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IO (Decode16,
                           0x0064,             // Range Minimum
                           0x0064,             // Range Maximum
                           0x00,               // Alignment
                           0x01,               // Length
                           )
                       IRQNoFlags ()
                           {1}
                   })
               }

               Method (PS2K._PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x03))
               }

               Device (PS2M)
               {
                   Name (_HID, EisaId ("PNP0F03"))
                   Name (_CID, EisaId ("PNP0F13"))
                   Method (_STA, 0, NotSerialized)
                   {
                       ShiftLeft (One, 0x0C, Local0)
                       If (And (IOST, Local0))
                       {
                           Return (0x0F)
                       }

                       Return (Zero)
                   }

                   Name (M2R0, ResourceTemplate ()
                   {
                       IRQNoFlags ()
                           {12}
                   })
                   Name (M2R1, ResourceTemplate ()
                   {
                       FixedIO (
                           0x0060,             // Address
                           0x01,               // Length
                           )
                       FixedIO (
                           0x0064,             // Address
                           0x01,               // Length
                           )
                       IRQNoFlags ()
                           {12}
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       ShiftLeft (One, 0x0A, Local0)
                       If (And (IOST, Local0))
                       {
                           Return (M2R0)
                       }
                       Else
                       {
                           Return (M2R1)
                       }
                   }
               }

               Method (PS2M._PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x03, 0x03))
               }

               Device (SIOR)
               {
                   Name (_HID, EisaId ("PNP0C02"))
                   Method (_UID, 0, NotSerialized)
                   {
                       Return (SPIO)
                   }

                   Name (CRS, ResourceTemplate ()
                   {
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y0F)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y10)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y11)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y12)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y14)
                       IO (Decode16,
                           0x0000,             // Range Minimum
                           0x0000,             // Range Maximum
                           0x00,               // Alignment
                           0x00,               // Length
                           _Y13)
                   })
                   Method (_CRS, 0, NotSerialized)
                   {
                       If (LAnd (LNotEqual (SPIO, 0x03F0), LGreater (SPIO, 0xF0)))
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._MIN, GP10)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._MAX, GP11)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y0F._LEN, GPL1)
                           Store (SPIO, GP10)
                           Store (SPIO, GP11)
                           Store (0x02, GPL1)
                       }

                       If (IOPB)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._MIN, GP20)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._MAX, GP21)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y10._LEN, GPL2)
                           Store (IOPB, GP20)
                           Store (IOPB, GP21)
                           Store (IOPL, GPL2)
                       }

                       If (IOEB)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y11._MIN, GP30)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y11._MAX, GP31)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y11._LEN, GPL3)
                           Store (IOEB, GP30)
                           Store (IOEB, GP31)
                           Store (IOEL, GPL3)
                       }

                       If (IOGB)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y12._MIN, GP40)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y12._MAX, GP41)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y12._LEN, GPL4)
                           Store (IOGB, GP40)
                           Store (IOGB, GP41)
                           If (LEqual (CIRS (0x10), 0x0F))
                           {
                               Store (One, GPL4)
                               CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y13._MIN, GP60)
                               CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y13._MAX, GP61)
                               CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y13._LEN, GPL6)
                               Add (IOGB, 0x02, GP60)
                               Add (IOGB, 0x02, GP61)
                               Subtract (IOGL, 0x02, GPL6)
                           }
                           Else
                           {
                               Store (IOGL, GPL4)
                           }
                       }

                       If (IOSB)
                       {
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y14._MIN, GP50)
                           CreateWordField (CRS, \_SB.PCI0.SBRG.SIOR._Y14._MAX, GP51)
                           CreateByteField (CRS, \_SB.PCI0.SBRG.SIOR._Y14._LEN, GPL5)
                           Store (IOSB, GP50)
                           Store (IOSB, GP51)
                           Store (IOSL, GPL5)
                       }

                       Return (CRS)
                   }

                   Method (CIRS, 1, NotSerialized)
                   {
                       ENFG (CGLD (Arg0))
                       If (ACTR)
                       {
                           Store (0x0F, Local0)
                       }
                       Else
                       {
                           If (IOAH)
                           {
                               Store (0x0D, Local0)
                           }
                           Else
                           {
                               Store (Zero, Local0)
                           }
                       }

                       EXFG ()
                       Return (Local0)
                   }
               }

               Name (DCAT, Package (0x16)
               {
                   One,
                   0x02,
                   0x03,
                   Zero,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0x0A,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF,
                   0xFF
               })
               Name (IKEY, Package (0x02)
               {
                   Package (0x04)
                   {
                       0x87,
                       One,
                       0x55,
                       0x55
                   },

                   Package (0x04)
                   {
                       0x87,
                       One,
                       0x55,
                       0xAA
                   }
               })
               Name (KBFG, One)
               Name (MSFG, One)
               Name (UR1F, One)
               Method (ENFG, 1, NotSerialized)
               {
                   Store (Zero, Local1)
                   If (LEqual (SPIO, 0x2E))
                   {
                       Store (Zero, Local1)
                   }

                   If (LEqual (SPIO, 0x4E))
                   {
                       Store (One, Local1)
                   }

                   Store (Zero, Local0)
                   While (LNotEqual (Local0, 0x04))
                   {
                       Store (DerefOf (Index (DerefOf (Index (IKEY, Local1)), Local0)),
                           INDX)
                       Increment (Local0)
                   }

                   Store (Arg0, LDN)
               }

               Method (EXFG, 0, NotSerialized)
               {
                   Store (0x02, INDX)
                   Store (0x02, DATA)
               }

               Method (LPTM, 1, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   And (OPT0, 0x02, Local0)
                   EXFG ()
                   Return (Local0)
               }

               Method (UHID, 1, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   And (OPT0, 0x70, Local0)
                   EXFG ()
                   If (Local0)
                   {
                       Return (0x1005D041)
                   }

                   Return (0x0105D041)
               }

               Method (ORF0, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   Or (OPT0, Arg1, OPT0)
                   EXFG ()
               }

               Method (ORF1, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   Or (OPT1, Arg1, OPT1)
                   EXFG ()
               }

               Method (ORF2, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   Or (OPT2, Arg1, OPT2)
                   EXFG ()
               }

               Method (ANF0, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   And (OPT0, Arg1, OPT0)
                   EXFG ()
               }

               Method (ANF2, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   And (OPT2, Arg1, OPT2)
                   EXFG ()
               }

               Method (ANF4, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   And (OPT4, Arg1, OPT4)
                   EXFG ()
               }

               Method (STF0, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   Store (Arg1, OPT0)
                   EXFG ()
               }

               Method (STF1, 2, NotSerialized)
               {
                   ENFG (Arg0)
                   Store (Arg1, OPT1)
                   EXFG ()
               }

               Method (SIOS, 1, NotSerialized)
               {
                   Store ("SIOS", Debug)
                   If (LLess (Arg0, 0x05))
                   {
                       ENFG (0x04)
                       Store (One, ACTR)
                       EXFG ()
                       ANF4 (0x04, 0xFC)
                       If (KBFG)
                       {
                           ORF1 (0x04, 0x08)
                           ORF0 (0x04, 0x08)
                       }
                       Else
                       {
                           ANF0 (0x04, 0xF7)
                           ENFG (0x05)
                           Store (Zero, ACTR)
                           EXFG ()
                       }

                       If (MSFG)
                       {
                           ORF1 (0x04, 0x10)
                           ORF0 (0x04, 0x10)
                       }
                       Else
                       {
                           ANF0 (0x04, 0xEF)
                           ENFG (0x06)
                           Store (Zero, ACTR)
                           EXFG ()
                       }

                       ANF2 (0x04, 0xF0)
                       ENFG (0x07)
                       And (OP29, 0xEF, OP29)
                       And (OP28, 0xFC, OP28)
                       EXFG ()
                   }
               }

               Method (SIOW, 1, NotSerialized)
               {
                   Store ("SIOW", Debug)
                   STF0 (0x04, Zero)
                   STF1 (0x04, 0xFF)
                   ENFG (0x07)
                   Or (OP29, 0x10, OP29)
                   Or (OP28, 0x03, OP28)
                   EXFG ()
                   ENFG (0x05)
                   Or (ACTR, One, ACTR)
                   EXFG ()
                   ENFG (0x06)
                   Or (ACTR, One, ACTR)
                   EXFG ()
               }

               Method (SIOH, 0, NotSerialized)
               {
                   Store ("SIOH", Debug)
               }

               OperationRegion (IOID, SystemIO, SPIO, 0x02)
               Field (IOID, ByteAcc, NoLock, Preserve)
               {
                   INDX,   8,
                   DATA,   8
               }

               IndexField (INDX, DATA, ByteAcc, NoLock, Preserve)
               {
                           Offset (0x07),
                   LDN,    8,
                           Offset (0x28),
                   OP28,   8,
                   OP29,   8,
                           Offset (0x30),
                   ACTR,   8,
                           Offset (0x60),
                   IOAH,   8,
                   IOAL,   8,
                   IOH2,   8,
                   IOL2,   8,
                           Offset (0x70),
                   INTR,   8,
                           Offset (0x74),
                   DMCH,   8,
                           Offset (0xF0),
                   OPT0,   8,
                   OPT1,   8,
                   OPT2,   8,
                   OPT3,   8,
                   OPT4,   8
               }

               Method (PS2K._PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (One, KBFG)
                   }
                   Else
                   {
                       Store (Zero, KBFG)
                   }
               }

               Method (PS2M._PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (One, MSFG)
                   }
                   Else
                   {
                       Store (Zero, MSFG)
                   }
               }

               Method (UAR1._PSW, 1, NotSerialized)
               {
                   If (Arg0)
                   {
                       Store (One, UR1F)
                   }
                   Else
                   {
                       Store (Zero, UR1F)
                   }
               }

               Method (CGLD, 1, NotSerialized)
               {
                   Return (DerefOf (Index (DCAT, Arg0)))
               }

               Method (DSTA, 1, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   Store (ACTR, Local0)
                   EXFG ()
                   If (LEqual (Local0, 0xFF))
                   {
                       Return (Zero)
                   }

                   And (Local0, One, Local0)
                   Or (IOST, ShiftLeft (Local0, Arg0), IOST)
                   If (Local0)
                   {
                       Return (0x0F)
                   }
                   Else
                   {
                       If (And (ShiftLeft (One, Arg0), IOST))
                       {
                           Return (0x0D)
                       }
                       Else
                       {
                           Return (Zero)
                       }
                   }
               }

               Method (DCNT, 2, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   ShiftLeft (IOAH, 0x08, Local1)
                   Or (IOAL, Local1, Local1)
                   If (LAnd (LLess (DMCH, 0x04), LNotEqual (And (DMCH, 0x03,
                       Local1), Zero)))
                   {
                       RDMA (Arg0, Arg1, Increment (Local1))
                   }

                   Store (Arg1, ACTR)
                   RRIO (Arg0, Arg1, Local1, 0x08)
                   EXFG ()
               }

               Name (CRS1, ResourceTemplate ()
               {
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y17)
                   IRQNoFlags (_Y15)
                       {}
                   DMA (Compatibility, NotBusMaster, Transfer8, _Y16)
                       {}
               })
               CreateWordField (CRS1, \_SB.PCI0.SBRG._Y15._INT, IRQM)
               CreateByteField (CRS1, \_SB.PCI0.SBRG._Y16._DMA, DMAM)
               CreateWordField (CRS1, \_SB.PCI0.SBRG._Y17._MIN, IO11)
               CreateWordField (CRS1, \_SB.PCI0.SBRG._Y17._MAX, IO12)
               CreateByteField (CRS1, \_SB.PCI0.SBRG._Y17._LEN, LEN1)
               Name (CRS2, ResourceTemplate ()
               {
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y1A)
                   IO (Decode16,
                       0x0000,             // Range Minimum
                       0x0000,             // Range Maximum
                       0x01,               // Alignment
                       0x00,               // Length
                       _Y1B)
                   IRQNoFlags (_Y18)
                       {6}
                   DMA (Compatibility, NotBusMaster, Transfer8, _Y19)
                       {2}
               })
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y18._INT, IRQE)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y19._DMA, DMAE)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1A._MIN, IO21)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1A._MAX, IO22)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y1A._LEN, LEN2)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1B._MIN, IO31)
               CreateWordField (CRS2, \_SB.PCI0.SBRG._Y1B._MAX, IO32)
               CreateByteField (CRS2, \_SB.PCI0.SBRG._Y1B._LEN, LEN3)
               Method (DCRS, 2, NotSerialized)
               {
                   ENFG (CGLD (Arg0))
                   ShiftLeft (IOAH, 0x08, IO11)
                   Or (IOAL, IO11, IO11)
                   Store (IO11, IO12)
                   Subtract (FindSetRightBit (IO11), One, Local0)
                   ShiftLeft (One, Local0, LEN1)
                   If (INTR)
                   {
                       ShiftLeft (One, INTR, IRQM)
                   }
                   Else
                   {
                       Store (Zero, IRQM)
                   }

                   If (LOr (LGreater (DMCH, 0x03), LEqual (Arg1, Zero)))
                   {
                       Store (Zero, DMAM)
                   }
                   Else
                   {
                       And (DMCH, 0x03, Local1)
                       ShiftLeft (One, Local1, DMAM)
                   }

                   EXFG ()
                   Return (CRS1)
               }

               Method (DSRS, 2, NotSerialized)
               {
                   CreateWordField (Arg0, 0x09, IRQM)
                   CreateByteField (Arg0, 0x0C, DMAM)
                   CreateWordField (Arg0, 0x02, IO11)
                   ENFG (CGLD (Arg1))
                   ShiftLeft (IOAH, 0x08, Local1)
                   Or (IOAL, Local1, Local1)
                   RRIO (Arg1, Zero, Local1, 0x08)
                   RRIO (Arg1, One, IO11, 0x08)
                   And (IO11, 0xFF, IOAL)
                   ShiftRight (IO11, 0x08, IOAH)
                   If (IRQM)
                   {
                       FindSetRightBit (IRQM, Local0)
                       Subtract (Local0, One, INTR)
                   }
                   Else
                   {
                       Store (Zero, INTR)
                   }

                   If (DMAM)
                   {
                       FindSetRightBit (DMAM, Local0)
                       Subtract (Local0, One, DMCH)
                   }
                   Else
                   {
                       Store (0x04, DMCH)
                   }

                   EXFG ()
                   DCNT (Arg1, One)
               }
           }

           Device (P0PC)
           {
               Name (_ADR, 0x00140004)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x04, 0x04))
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR0C)
                   }

                   Return (PR0C)
               }
           }

           Device (UHC1)
           {
               Name (_ADR, 0x00120000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (UHC2)
           {
               Name (_ADR, 0x00120001)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (UHC3)
           {
               Name (_ADR, 0x00120002)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (USB4)
           {
               Name (_ADR, 0x00130000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (UHC5)
           {
               Name (_ADR, 0x00130001)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (UHC6)
           {
               Name (_ADR, 0x00130002)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (UHC7)
           {
               Name (_ADR, 0x00140005)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x0B, 0x04))
               }
           }

           Device (SATA)
           {
               Name (_ADR, 0x00110000)
           }
       }

       Scope (\_GPE)
       {
           Method (_L18, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.PCE2, 0x02)
               Notify (\_SB.PCI0.PCE3, 0x02)
               Notify (\_SB.PCI0.PCE4, 0x02)
               Notify (\_SB.PCI0.PCE5, 0x02)
               Notify (\_SB.PCI0.PCE6, 0x02)
               Notify (\_SB.PCI0.PCE7, 0x02)
               Notify (\_SB.PCI0.PCE9, 0x02)
               Notify (\_SB.PCI0.PCEA, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L1B, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.SBAZ, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L03, 0, NotSerialized)
           {
               \_SB.PCI0.SBRG.SIOH ()
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L04, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.P0PC, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }

           Method (_L0B, 0, NotSerialized)
           {
               Notify (\_SB.PCI0.UHC1, 0x02)
               Notify (\_SB.PCI0.UHC2, 0x02)
               Notify (\_SB.PCI0.UHC3, 0x02)
               Notify (\_SB.PCI0.USB4, 0x02)
               Notify (\_SB.PCI0.UHC5, 0x02)
               Notify (\_SB.PCI0.UHC6, 0x02)
               Notify (\_SB.PCI0.UHC7, 0x02)
               Notify (\_SB.PWRB, 0x02)
           }
       }

       Device (PWRB)
       {
           Name (_HID, EisaId ("PNP0C0C"))
           Name (_UID, 0xAA)
           Name (_STA, 0x0B)
           Method (_PRW, 0, NotSerialized)
           {
               Return (GPRW (0x03, 0x03))
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (G0T0, Package (0x07)
       {
           0x00060000,
           "AP version",
           0x40000000,
           Zero,
           Zero,
           One,
           0x02
       })
       Name (G0T1, Package (0x07)
       {
           0x00060001,
           "Feature Flag",
           One,
           Zero,
           Zero,
           One,
           0x08
       })
       Name (G0T3, Package (0x07)
       {
           0x00020003,
           "CnQ Flag",
           0x40000000,
           Zero,
           Zero,
           One,
           0x02
       })
       Name (GRP0, Package (0x03)
       {
           G0T0,
           G0T1,
           G0T3
       })
       Method (GIT0, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero)) {}
           Else
           {
               If (LEqual (_T_0, One)) {}
               Else
               {
                   If (LEqual (_T_0, 0x03))
                   {
                       Store (GNVS (0x173F), ASB1)
                   }
                   Else
                   {
                       Store (Zero, ASB0)
                   }
               }
           }
       }

       Method (SIT0, 3, NotSerialized)
       {
           If (And (Arg2, 0xFFFF))
           {
               Name (_T_0, Zero)
               Store (And (Arg0, 0xFFFF), _T_0)
               If (LEqual (_T_0, Zero)) {}
               Else
               {
                   If (LEqual (_T_0, One)) {}
                   Else
                   {
                       If (LEqual (_T_0, 0x03)) {}
                       Else
                       {
                           Store (Zero, ASB0)
                       }
                   }
               }
           }
           Else
           {
               Store (0x03, ASB0)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (G311, Package (0x07)
       {
           0x03010011,
           "CPU Frequency",
           Zero,
           Zero,
           0x4E20,
           0x64,
           0xC9
       })
       Name (G312, Package (0x09)
       {
           0x03820012,
           "CPU Voltage",
           Zero,
           Zero,
           0xFF001F40,
           0x7D,
           0x4A,
           One,
           "Auto"
       })
       Name (G313, Package (0x07)
       {
           0x03060013,
           "CPU Ratio",
           Zero,
           0x10,
           0xFF000028,
           0x05,
           0x11
       })
       Name (G314, Package (0x09)
       {
           0x03860014,
           "Hyper Transport Ratio",
           0x40000000,
           Zero,
           0xFF000028,
           0x05,
           0x11,
           One,
           "Auto"
       })
       Name (G331, Package (0x0B)
       {
           0x03080031,
           "DRAM Frequency",
           Zero,
           Zero,
           0x06,
           "Auto",
           "400",
           "533",
           "667",
           "800",
           "1066"
       })
       Name (G351, Package (0x07)
       {
           0x03010051,
           "PCIE Frequency",
           Zero,
           Zero,
           0x2710,
           0x64,
           0x33
       })
       Name (GRP3, Package (0x06)
       {
           G311,
           G312,
           G313,
           G314,
           G331,
           G351
       })
       Method (GIT3, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, 0x11))
           {
               Divide (0x4E20, 0x64, , Local0)
               Subtract (GNVS (0xA2B8), Local0, ASB1)
           }
           Else
           {
               If (LEqual (_T_0, 0x12))
               {
                   Store (GNVS (0x7388), ASB1)
               }
               Else
               {
                   If (LEqual (_T_0, 0x13))
                   {
                       Store (GNVS (0x626A), Local0)
                       If (LEqual (Zero, Local0))
                       {
                           Store (0x10, Local0)
                       }
                       Else
                       {
                           Subtract (Local0, One, Local0)
                       }

                       Store (Local0, ASB1)
                   }
                   Else
                   {
                       If (LEqual (_T_0, 0x14))
                       {
                           Name (_T_1, Zero)
                           Store (GNVS (0x4514), _T_1)
                           If (LEqual (_T_1, Zero))
                           {
                               Store (Zero, ASB1)
                           }
                           Else
                           {
                               If (LEqual (_T_1, 0x02))
                               {
                                   Store (One, ASB1)
                               }
                               Else
                               {
                                   If (LEqual (_T_1, 0x04))
                                   {
                                       Store (0x02, ASB1)
                                   }
                                   Else
                                   {
                                       If (LEqual (_T_1, 0x05))
                                       {
                                           Store (0x03, ASB1)
                                       }
                                       Else
                                       {
                                           If (LEqual (_T_1, 0x06))
                                           {
                                               Store (0x04, ASB1)
                                           }
                                           Else
                                           {
                                               If (LEqual (_T_1, 0x07))
                                               {
                                                   Store (PAR3, ASB1)
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                       Else
                       {
                           If (LEqual (_T_0, 0x31))
                           {
                               Store (GNVS (0x267A), Local0)
                               If (LEqual (Zero, Local0))
                               {
                                   Store (Local0, ASB1)
                               }
                               Else
                               {
                                   Store (GNVS (0x35A8), Local0)
                                   Add (Local0, One, Local0)
                                   Store (Local0, ASB1)
                               }
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x51))
                               {
                                   Divide (0x2710, 0x64, , Local0)
                                   Subtract (GNVS (0x8380), Local0, ASB1)
                               }
                               Else
                               {
                                   Store (Zero, ASB0)
                               }
                           }
                       }
                   }
               }
           }
       }

       Method (SIT3, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, 0x11))
           {
               Divide (0x4E20, 0x64, , Local0)
               Add (Arg1, Local0, Local0)
               If (LNotEqual (GNVS (0xA2B8), Local0))
               {
                   SNVS (0xA2B8, Local0)
                   Or (ASB0, 0x02, ASB0)
               }
           }
           Else
           {
               If (LEqual (_T_0, 0x12))
               {
                   If (LNotEqual (GNVS (0x7388), Arg1))
                   {
                       SNVS (0x7388, Arg1)
                       Or (ASB0, 0x02, ASB0)
                   }
               }
               Else
               {
                   If (LEqual (_T_0, 0x13))
                   {
                       Add (Arg1, One, Arg1)
                       If (LNotEqual (GNVS (0x626A), Arg1))
                       {
                           SNVS (0x626A, Arg1)
                           Or (ASB0, 0x02, ASB0)
                       }
                   }
                   Else
                   {
                       If (LEqual (_T_0, 0x14))
                       {
                           If (LNotEqual (GNVS (0x4514), Arg1))
                           {
                               SNVS (0x4514, Arg1)
                               Or (ASB0, 0x02, ASB0)
                           }
                       }
                       Else
                       {
                           If (LEqual (_T_0, 0x31))
                           {
                               If (LEqual (Zero, Arg1))
                               {
                                   SNVS (0x267A, Arg1)
                               }
                               Else
                               {
                                   SNVS (0x267A, 0x02)
                                   Subtract (Arg1, One, Arg1)
                                   SNVS (0x35A8, Arg1)
                                   Or (ASB0, 0x02, ASB0)
                               }
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x51))
                               {
                                   Divide (0x2710, 0x64, , Local0)
                                   Add (Arg1, Local0, Local0)
                                   If (LNotEqual (GNVS (0x8380), Local0))
                                   {
                                       SNVS (0x8380, Local0)
                                       Or (ASB0, 0x02, ASB0)
                                   }
                               }
                               Else
                               {
                                   Store (Zero, ASB0)
                               }
                           }
                       }
                   }
               }
           }
       }

       Name (CLKR, Buffer (0x18)
       {
           /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
           /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
           /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
       })
       Name (PCEF, Buffer (0x68)
       {
           /* 0000 */    0x9F, 0xD8, 0x9F, 0xD8, 0x9C, 0xC5, 0x62, 0xF2,
           /* 0008 */    0x5B, 0xC2, 0xD2, 0x82, 0x21, 0xF2, 0x9A, 0xC0,
           /* 0010 */    0x13, 0x8E, 0xDD, 0xDA, 0x1F, 0xEC, 0xDA, 0xC7,
           /* 0018 */    0xE1, 0xFF, 0x9F, 0xF2, 0x1C, 0xDD, 0x54, 0x9F,
           /* 0020 */    0x1F, 0xF9, 0xDB, 0xDA, 0xD0, 0x82, 0x5E, 0xF7,
           /* 0028 */    0x1D, 0xF1, 0x15, 0xB0, 0xDA, 0xDB, 0x98, 0xCC,
           /* 0030 */    0x16, 0xBD, 0x9C, 0xF2, 0x59, 0xDA, 0x19, 0xDC,
           /* 0038 */    0xD9, 0xDD, 0x99, 0xDF, 0x5A, 0xEA, 0xD6, 0xC7,
           /* 0040 */    0xD9, 0xE4, 0x58, 0xDD, 0x9A, 0xF1, 0x57, 0xD7,
           /* 0048 */    0x15, 0xC6, 0x1A, 0xF7, 0x96, 0xD2, 0xD4, 0xC0,
           /* 0050 */    0x18, 0xE9, 0x12, 0xB0, 0x52, 0xB1, 0x18, 0xEE,
           /* 0058 */    0xD3, 0xBD, 0x56, 0xDD, 0x18, 0xF3, 0xCE, 0x8E,
           /* 0060 */    0x0F, 0x9A, 0xD7, 0xED, 0xD8, 0xF9, 0x15, 0xDC
       })
       Name (MNBF, Buffer (0x070B)
       {
           /* 0000 */    0x01, 0x64, 0xFC, 0x01, 0x5F, 0xDA, 0x01, 0xA1,
           /* 0008 */    0xE9, 0x01, 0xE2, 0xF1, 0x01, 0x98, 0xAB, 0x01,
           /* 0010 */    0x5D, 0xD0, 0x01, 0x5D, 0xD1, 0x01, 0x23, 0xFE,
           /* 0018 */    0x01, 0x15, 0x99, 0x01, 0x1C, 0xCD, 0x01, 0x5A,
           /* 0020 */    0xBF, 0x01, 0xA0, 0xEC, 0x01, 0xA2, 0xFC, 0x01,
           /* 0028 */    0xD3, 0x8D, 0x01, 0x22, 0xFF, 0x01, 0xD8, 0xB4,
           /* 0030 */    0x01, 0xD3, 0x8F, 0x01, 0x60, 0xF3, 0x01, 0x21,
           /* 0038 */    0xFC, 0x01, 0xA0, 0xF5, 0x01, 0x57, 0xB1, 0x03,
           /* 0040 */    0xA7, 0x96, 0x03, 0x7F, 0xF4, 0x03, 0xA1, 0x80,
           /* 0048 */    0x03, 0xBE, 0xF2, 0x03, 0xB1, 0xC0, 0x03, 0x73,
           /* 0050 */    0xC9, 0x03, 0xFE, 0xF5, 0x03, 0x35, 0xD3, 0x03,
           /* 0058 */    0x35, 0xD4, 0x03, 0x3E, 0xF9, 0x03, 0xF4, 0xD1,
           /* 0060 */    0x03, 0xB1, 0xC6, 0x03, 0x7E, 0xFC, 0x03, 0xE0,
           /* 0068 */    0x82, 0x03, 0x3A, 0xEE, 0x03, 0x7C, 0xF7, 0x03,
           /* 0070 */    0xAF, 0xC2, 0x03, 0xBD, 0xFD, 0x03, 0x34, 0xD9,
           /* 0078 */    0x03, 0x7B, 0xF7, 0x03, 0xEA, 0xB0, 0x03, 0x69,
           /* 0080 */    0xAD, 0x03, 0xE4, 0x98, 0x03, 0x6F, 0xC8, 0x03,
           /* 0088 */    0x36, 0xE7, 0x03, 0x77, 0xEC, 0x03, 0xB8, 0xF1,
           /* 0090 */    0x03, 0xB8, 0xF2, 0x03, 0x2E, 0xC8, 0x03, 0x34,
           /* 0098 */    0xE3, 0x03, 0x60, 0x8C, 0x03, 0x37, 0xF2, 0x03,
           /* 00A0 */    0x37, 0xF3, 0x03, 0xB6, 0xEF, 0x03, 0xE5, 0xA4,
           /* 00A8 */    0x03, 0xB2, 0xDF, 0x03, 0xA8, 0xB3, 0x03, 0x72,
           /* 00B0 */    0xE1, 0x03, 0x78, 0xFD, 0x03, 0x32, 0xE3, 0x03,
           /* 00B8 */    0xF0, 0xDA, 0x03, 0xF2, 0xE4, 0x03, 0x6E, 0xD3,
           /* 00C0 */    0x03, 0x29, 0xBD, 0x03, 0xB7, 0xFE, 0x03, 0x36,
           /* 00C8 */    0xFC, 0x03, 0xEC, 0xCD, 0x03, 0x9F, 0xF1, 0x03,
           /* 00D0 */    0xE0, 0x96, 0x03, 0xA3, 0xA5, 0x03, 0xB5, 0xFB,
           /* 00D8 */    0x03, 0x65, 0xB0, 0x03, 0x71, 0xEA, 0x03, 0xDF,
           /* 00E0 */    0x94, 0x03, 0x26, 0xB7, 0x03, 0xB3, 0xF6, 0x03,
           /* 00E8 */    0x74, 0xFC, 0x03, 0x64, 0xAF, 0x03, 0xB0, 0xEA,
           /* 00F0 */    0x03, 0x71, 0xF0, 0x03, 0xB0, 0xEB, 0x03, 0xAE,
           /* 00F8 */    0xE2, 0x03, 0x6F, 0xE8, 0x03, 0x31, 0xF3, 0x03,
           /* 0100 */    0x2A, 0xD1, 0x03, 0xE8, 0xC7, 0x03, 0xAC, 0xDC,
           /* 0108 */    0x03, 0x23, 0xB0, 0x03, 0xE6, 0xBF, 0x03, 0x2F,
           /* 0110 */    0xEE, 0x03, 0x25, 0xBC, 0x03, 0x61, 0xA8, 0x03,
           /* 0118 */    0x5C, 0x8F, 0x02, 0x2D, 0xE7, 0x02, 0x70, 0xF7,
           /* 0120 */    0x02, 0x71, 0xFD, 0x02, 0x67, 0xCA, 0x02, 0xA0,
           /* 0128 */    0xA6, 0x02, 0xA2, 0xB1, 0x02, 0x2A, 0xDC, 0x02,
           /* 0130 */    0x6C, 0xE7, 0x02, 0xEB, 0xE2, 0x02, 0xE5, 0xC3,
           /* 0138 */    0x02, 0x6B, 0xE4, 0x02, 0x2B, 0xE5, 0x02, 0x23,
           /* 0140 */    0xBB, 0x02, 0x62, 0xB6, 0x02, 0x2D, 0xF2, 0x02,
           /* 0148 */    0x2B, 0xE8, 0x02, 0xEB, 0xE8, 0x02, 0xAB, 0xE9,
           /* 0150 */    0x02, 0x6B, 0xEA, 0x02, 0x2B, 0xEB, 0x02, 0xEB,
           /* 0158 */    0xEB, 0x02, 0x2C, 0xF2, 0x02, 0x6B, 0xED, 0x02,
           /* 0160 */    0x2B, 0xEE, 0x02, 0xEB, 0xEE, 0x02, 0xAB, 0xEF,
           /* 0168 */    0x02, 0x6B, 0xF0, 0x02, 0xDF, 0xAD, 0x02, 0x2D,
           /* 0170 */    0xFD, 0x02, 0xE2, 0xBF, 0x02, 0x23, 0xC6, 0x02,
           /* 0178 */    0x2B, 0xF4, 0x02, 0xEB, 0xF4, 0x02, 0x65, 0xD3,
           /* 0180 */    0x02, 0x6B, 0xF6, 0x02, 0xEC, 0xFC, 0x02, 0x2A,
           /* 0188 */    0xF2, 0x02, 0xA2, 0xC4, 0x02, 0xA0, 0xB9, 0x02,
           /* 0190 */    0x62, 0xC6, 0x02, 0xDC, 0xA3, 0x02, 0xA9, 0xF0,
           /* 0198 */    0x02, 0x9E, 0xB0, 0x02, 0xEB, 0xFD, 0x02, 0xAB,
           /* 01A0 */    0xFE, 0x02, 0x1F, 0xB8, 0x02, 0xA0, 0xBE, 0x02,
           /* 01A8 */    0x22, 0xCB, 0x02, 0xA9, 0xF5, 0x02, 0x6A, 0xFC,
           /* 01B0 */    0x02, 0xE1, 0xC6, 0x02, 0x5F, 0xBB, 0x02, 0x67,
           /* 01B8 */    0xEC, 0x02, 0x28, 0xF3, 0x02, 0x9B, 0xA4, 0x02,
           /* 01C0 */    0xD9, 0x98, 0x02, 0x69, 0xFB, 0x02, 0xE5, 0xE2,
           /* 01C8 */    0x02, 0x64, 0xDD, 0x02, 0x5A, 0xA0, 0x02, 0x5D,
           /* 01D0 */    0xB3, 0x02, 0xDD, 0xB3, 0x02, 0xD6, 0x88, 0x02,
           /* 01D8 */    0x1E, 0xBB, 0x02, 0x28, 0xFA, 0x02, 0x9C, 0xAF,
           /* 01E0 */    0x02, 0x1C, 0xB0, 0x02, 0x21, 0xD0, 0x02, 0xA7,
           /* 01E8 */    0xF6, 0x02, 0xA5, 0xEA, 0x02, 0xA6, 0xF1, 0x02,
           /* 01F0 */    0xA7, 0xF8, 0x02, 0xD9, 0x9F, 0x02, 0xA6, 0xF3,
           /* 01F8 */    0x02, 0xDE, 0xC0, 0x02, 0xA3, 0xE1, 0x02, 0x99,
           /* 0200 */    0xA1, 0x02, 0x96, 0x8E, 0x02, 0x67, 0xFD, 0x02,
           /* 0208 */    0x54, 0x82, 0x02, 0x59, 0xA3, 0x02, 0x65, 0xF2,
           /* 0210 */    0x02, 0x5B, 0xB1, 0x02, 0x24, 0xED, 0x02, 0x19,
           /* 0218 */    0xA5, 0x02, 0xE0, 0xD3, 0x02, 0x9A, 0xAC, 0x02,
           /* 0220 */    0x17, 0x99, 0x02, 0xDC, 0xBA, 0x02, 0x5C, 0xBB,
           /* 0228 */    0x02, 0x96, 0x93, 0x02, 0x24, 0xF2, 0x02, 0xD8,
           /* 0230 */    0xA1, 0x02, 0x64, 0xF3, 0x02, 0x1F, 0xD2, 0x02,
           /* 0238 */    0xA4, 0xF4, 0x02, 0x15, 0x8F, 0x02, 0x9A, 0xB1,
           /* 0240 */    0x02, 0x20, 0xDB, 0x02, 0x1D, 0xC7, 0x02, 0x5F,
           /* 0248 */    0xD5, 0x02, 0x1D, 0xC8, 0x02, 0x60, 0xDD, 0x02,
           /* 0250 */    0xE1, 0xE4, 0x02, 0x62, 0xEC, 0x02, 0x1E, 0xD1,
           /* 0258 */    0x02, 0x9F, 0xD8, 0x02, 0x24, 0xFC, 0x02, 0x9B,
           /* 0260 */    0xBD, 0x02, 0xD5, 0x93, 0x02, 0x9C, 0xC5, 0x02,
           /* 0268 */    0xA3, 0xF7, 0x02, 0x9C, 0xC6, 0x02, 0xE3, 0xF8,
           /* 0270 */    0x02, 0x62, 0xF2, 0x02, 0x5E, 0xD6, 0x02, 0x61,
           /* 0278 */    0xEC, 0x02, 0x22, 0xF4, 0x02, 0x5B, 0xC2, 0x02,
           /* 0280 */    0x9A, 0xBB, 0x02, 0x9B, 0xAD, 0x02, 0xA2, 0xF6,
           /* 0288 */    0x02, 0xD2, 0x82, 0x02, 0x20, 0xE9, 0x02, 0x5F,
           /* 0290 */    0xE2, 0x02, 0xE2, 0xF8, 0x02, 0x21, 0xF2, 0x02,
           /* 0298 */    0x60, 0xEB, 0x02, 0x13, 0x8C, 0x02, 0xE1, 0xF3,
           /* 02A0 */    0x02, 0x9A, 0xC0, 0x02, 0x13, 0x8D, 0x02, 0xA1,
           /* 02A8 */    0xF5, 0x02, 0xA2, 0xFD, 0x02, 0x13, 0x8E, 0x02,
           /* 02B0 */    0xDC, 0xD1, 0x02, 0x5E, 0xE1, 0x02, 0x5D, 0xDA,
           /* 02B8 */    0x02, 0xDD, 0xDA, 0x02, 0xA1, 0xF9, 0x02, 0xA0,
           /* 02C0 */    0xF2, 0x02, 0x95, 0x9F, 0x02, 0x1F, 0xEC, 0x02,
           /* 02C8 */    0x97, 0xAF, 0x02, 0x9B, 0xCE, 0x02, 0x18, 0xB8,
           /* 02D0 */    0x02, 0xDA, 0xC7, 0x02, 0x88, 0x82, 0x02, 0x5F,
           /* 02D8 */    0xEF, 0x02, 0x91, 0x83, 0x02, 0xE1, 0xFF, 0x02,
           /* 02E0 */    0x59, 0xC2, 0x02, 0xD4, 0x9B, 0x02, 0xE0, 0xF9,
           /* 02E8 */    0x02, 0x9F, 0xF2, 0x02, 0x19, 0xC4, 0x02, 0x1C,
           /* 02F0 */    0xDC, 0x02, 0xDA, 0xCC, 0x02, 0x1C, 0xDB, 0x02,
           /* 02F8 */    0xD9, 0xC5, 0x02, 0xDF, 0xF5, 0x02, 0x12, 0x8F,
           /* 0300 */    0x02, 0x54, 0x9F, 0x02, 0x99, 0xC7, 0x02, 0x17,
           /* 0308 */    0xB8, 0x02, 0x51, 0x88, 0x02, 0x1F, 0xF9, 0x02,
           /* 0310 */    0x14, 0xA1, 0x02, 0x1E, 0xF2, 0x02, 0x5B, 0xDA,
           /* 0318 */    0x02, 0xDB, 0xDA, 0x02, 0xD7, 0xBA, 0x02, 0x5F,
           /* 0320 */    0xFC, 0x02, 0x1A, 0xD4, 0x02, 0xD0, 0x82, 0x02,
           /* 0328 */    0x9D, 0xED, 0x02, 0xD7, 0xBC, 0x02, 0x9D, 0xEE,
           /* 0330 */    0x02, 0x5E, 0xF7, 0x02, 0x5C, 0xE7, 0x02, 0x53,
           /* 0338 */    0x9D, 0x02, 0x11, 0x8D, 0x02, 0x1D, 0xF1, 0x02,
           /* 0340 */    0x53, 0x9E, 0x02, 0x1A, 0xD9, 0x02, 0x16, 0xB8,
           /* 0348 */    0x02, 0x15, 0xB0, 0x02, 0xDB, 0xE2, 0x02, 0xD5,
           /* 0350 */    0xB0, 0x02, 0x1E, 0xFD, 0x02, 0xDA, 0xDB, 0x02,
           /* 0358 */    0x58, 0xCB, 0x02, 0xD2, 0x98, 0x02, 0x95, 0xB2,
           /* 0360 */    0x02, 0x98, 0xCC, 0x02, 0x1A, 0xDE, 0x02, 0x1B,
           /* 0368 */    0xE7, 0x02, 0xD8, 0xCD, 0x02, 0x16, 0xBD, 0x02,
           /* 0370 */    0x17, 0xC6, 0x02, 0x9C, 0xF1, 0x02, 0x1C, 0xF2,
           /* 0378 */    0x02, 0x9C, 0xF2, 0x02, 0x1C, 0xF3, 0x02, 0x17,
           /* 0380 */    0xC8, 0x02, 0x5B, 0xEB, 0x02, 0x59, 0xDA, 0x02,
           /* 0388 */    0x18, 0xD2, 0x02, 0x50, 0x8C, 0x02, 0x17, 0xCA,
           /* 0390 */    0x02, 0x19, 0xDC, 0x02, 0x5A, 0xE5, 0x02, 0xDA,
           /* 0398 */    0xE5, 0x02, 0xD6, 0xC2, 0x02, 0xD9, 0xDD, 0x02,
           /* 03A0 */    0xD4, 0xB1, 0x02, 0x15, 0xBB, 0x02, 0xD0, 0x8E,
           /* 03A8 */    0x02, 0x99, 0xDF, 0x02, 0x17, 0xCE, 0x02, 0x94,
           /* 03B0 */    0xB3, 0x02, 0xDC, 0xFB, 0x02, 0x5A, 0xEA, 0x02,
           /* 03B8 */    0xDC, 0xFC, 0x02, 0x5C, 0xFD, 0x02, 0x54, 0xB5,
           /* 03C0 */    0x02, 0xD6, 0xC7, 0x02, 0xD2, 0xA3, 0x02, 0xD8,
           /* 03C8 */    0xDA, 0x02, 0x93, 0xAD, 0x02, 0xD9, 0xE4, 0x02,
           /* 03D0 */    0x9B, 0xF7, 0x02, 0x93, 0xAE, 0x02, 0x5A, 0xEF,
           /* 03D8 */    0x02, 0x58, 0xDD, 0x02, 0x93, 0xAF, 0x02, 0x92,
           /* 03E0 */    0xA6, 0x02, 0x57, 0xD5, 0x02, 0x9A, 0xF1, 0x02,
           /* 03E8 */    0xD6, 0xCC, 0x02, 0xDB, 0xFB, 0x02, 0x96, 0xCD,
           /* 03F0 */    0x02, 0x57, 0xD7, 0x02, 0x56, 0xCE, 0x02, 0x5A,
           /* 03F8 */    0xF4, 0x02, 0xCE, 0x83, 0x02, 0x15, 0xC6, 0x02,
           /* 0400 */    0x57, 0xD9, 0x02, 0x9B, 0xFF, 0x02, 0x9A, 0xF6,
           /* 0408 */    0x02, 0x1A, 0xF7, 0x02, 0x50, 0x98, 0x02, 0x0F,
           /* 0410 */    0x8F, 0x02, 0xD9, 0xEE, 0x02, 0x96, 0xD2, 0x02,
           /* 0418 */    0x5A, 0xF9, 0x02, 0x51, 0xA3, 0x02, 0x99, 0xF0,
           /* 0420 */    0x02, 0xD4, 0xC0, 0x02, 0xD5, 0xCA, 0x02, 0x9A,
           /* 0428 */    0xFB, 0x02, 0x95, 0xCB, 0x02, 0x18, 0xE9, 0x02,
           /* 0430 */    0x94, 0xC2, 0x02, 0x5A, 0xFD, 0x02, 0x58, 0xEA,
           /* 0438 */    0x02, 0x12, 0xB0, 0x02, 0x96, 0xD7, 0x02, 0x98,
           /* 0440 */    0xEB, 0x02, 0xD9, 0xF5, 0x02, 0x52, 0xB1, 0x02,
           /* 0448 */    0xD8, 0xEC, 0x02, 0x11, 0xA8, 0x02, 0x99, 0xF7,
           /* 0450 */    0x02, 0x18, 0xEE, 0x02, 0x97, 0xE4, 0x02, 0x15,
           /* 0458 */    0xD1, 0x02, 0x59, 0xF9, 0x02, 0xD3, 0xBD, 0x02,
           /* 0460 */    0x19, 0xFA, 0x02, 0x97, 0xE6, 0x02, 0xD3, 0xBE,
           /* 0468 */    0x02, 0x56, 0xDD, 0x02, 0x94, 0xC9, 0x02, 0xD3,
           /* 0470 */    0xBF, 0x02, 0xD0, 0xA1, 0x02, 0x18, 0xF3, 0x02,
           /* 0478 */    0xD3, 0xC0, 0x02, 0xD1, 0xAC, 0x02, 0x8E, 0x8E,
           /* 0480 */    0x02, 0xCE, 0x8E, 0x02, 0x95, 0xD6, 0x02, 0x4E,
           /* 0488 */    0x8F, 0x02, 0x55, 0xD7, 0x02, 0x0F, 0x9A, 0x02,
           /* 0490 */    0x56, 0xE2, 0x02, 0x58, 0xF7, 0x02, 0xD2, 0xB9,
           /* 0498 */    0x02, 0xD7, 0xED, 0x02, 0x98, 0xF8, 0x02, 0x97,
           /* 04A0 */    0xEE, 0x02, 0x12, 0xBB, 0x02, 0xD8, 0xF9, 0x02,
           /* 04A8 */    0xD7, 0xEF, 0x02, 0x91, 0xB1, 0x02, 0x18, 0xFB,
           /* 04B0 */    0x02, 0x15, 0xDC, 0x02, 0xD8, 0xFB, 0x02, 0xD7,
           /* 04B8 */    0xF1, 0x02, 0x92, 0xBD, 0x02, 0x16, 0xE8, 0x02,
           /* 04C0 */    0x98, 0xFD, 0x02, 0xD6, 0xE8, 0x02, 0xD7, 0xF3,
           /* 04C8 */    0x02, 0x0D, 0x8A, 0x02, 0x8F, 0x9F, 0x02, 0x14,
           /* 04D0 */    0xD5, 0x02, 0xD6, 0xEA, 0x02, 0xD4, 0xD5, 0x02,
           /* 04D8 */    0x50, 0xAB, 0x02, 0x51, 0xB6, 0x02, 0x56, 0xEC,
           /* 04E0 */    0x02, 0x97, 0xF7, 0x02, 0x55, 0xE2, 0x02, 0x52,
           /* 04E8 */    0xC2, 0x02, 0xD1, 0xB7, 0x02, 0x17, 0xF9, 0x02,
           /* 04F0 */    0x90, 0xAD, 0x02, 0x92, 0xC3, 0x02, 0x57, 0xFA,
           /* 04F8 */    0x02, 0xCC, 0x82, 0x02, 0x17, 0xFB, 0x02, 0xD2,
           /* 0500 */    0xC4, 0x02, 0x13, 0xD0, 0x02, 0x56, 0xF1, 0x02,
           /* 0508 */    0xCF, 0xA4, 0x02, 0x16, 0xF2, 0x02, 0x4E, 0x9A,
           /* 0510 */    0x02, 0xD5, 0xE7, 0x02, 0x13, 0xD2, 0x02, 0x52,
           /* 0518 */    0xC7, 0x02, 0xD4, 0xDD, 0x02, 0x13, 0xD3, 0x02,
           /* 0520 */    0xD6, 0xF4, 0x02, 0x50, 0xB2, 0x02, 0x13, 0xD4,
           /* 0528 */    0x02, 0x94, 0xDF, 0x02, 0x8D, 0x91, 0x02, 0x13,
           /* 0530 */    0xD5, 0x02, 0x16, 0xF7, 0x02, 0x96, 0xF7, 0x02,
           /* 0538 */    0x54, 0xE1, 0x02, 0xD1, 0xBF, 0x02, 0x55, 0xED,
           /* 0540 */    0x02, 0x13, 0xD7, 0x02, 0x15, 0xEE, 0x02, 0x14,
           /* 0548 */    0xE3, 0x02, 0x8F, 0xAA, 0x02, 0x0D, 0x94, 0x02,
           /* 0550 */    0x52, 0xCD, 0x02, 0x56, 0xFB, 0x02, 0xD4, 0xE4,
           /* 0558 */    0x02, 0x16, 0xFC, 0x02, 0x92, 0xCE, 0x02, 0xD6,
           /* 0560 */    0xFC, 0x02, 0x56, 0xFD, 0x02, 0x15, 0xF2, 0x02,
           /* 0568 */    0xD2, 0xCF, 0x02, 0x91, 0xC4, 0x02, 0x8D, 0x96,
           /* 0570 */    0x02, 0x90, 0xB9, 0x02, 0x12, 0xD1, 0x02, 0x55,
           /* 0578 */    0xF4, 0x02, 0xCC, 0x8B, 0x02, 0x54, 0xE9, 0x02,
           /* 0580 */    0x8B, 0x80, 0x02, 0x8F, 0xAF, 0x02, 0xCF, 0xAF,
           /* 0588 */    0x02, 0x0F, 0xB0, 0x02, 0xD5, 0xF6, 0x02, 0x0D,
           /* 0590 */    0x99, 0x02, 0x95, 0xF7, 0x02, 0x4E, 0xA5, 0x02,
           /* 0598 */    0x55, 0xF8, 0x02, 0x51, 0xC9, 0x02, 0x53, 0xE1,
           /* 05A0 */    0x02, 0x4E, 0xA6, 0x02, 0x50, 0xBE, 0x02, 0x53,
           /* 05A8 */    0xE2, 0x02, 0x94, 0xEE, 0x02, 0x4D, 0x9B, 0x02,
           /* 05B0 */    0x53, 0xE3, 0x02, 0xCB, 0x83, 0x02, 0x14, 0xF0,
           /* 05B8 */    0x02, 0x53, 0xE4, 0x02, 0x90, 0xC0, 0x02, 0x15,
           /* 05C0 */    0xFD, 0x02, 0x53, 0xE5, 0x02, 0xD5, 0xFD, 0x02,
           /* 05C8 */    0x14, 0xF2, 0x02, 0x11, 0xCE, 0x02, 0xCD, 0x9D,
           /* 05D0 */    0x02, 0xD2, 0xDA, 0x02, 0x53, 0xE7, 0x02, 0x4C,
           /* 05D8 */    0x92, 0x02, 0x4B, 0x86, 0x02, 0x12, 0xDC, 0x02,
           /* 05E0 */    0xD4, 0xF4, 0x02, 0x54, 0xF5, 0x02, 0x94, 0xF5,
           /* 05E8 */    0x02, 0x52, 0xDD, 0x02, 0x51, 0xD1, 0x02, 0x4D,
           /* 05F0 */    0xA0, 0x02, 0x90, 0xC5, 0x02, 0x54, 0xF7, 0x02,
           /* 05F8 */    0x53, 0xEB, 0x02, 0xD1, 0xD2, 0x02, 0x54, 0xF8,
           /* 0600 */    0x02, 0xCB, 0x88, 0x02, 0x14, 0xF9, 0x02, 0x0F,
           /* 0608 */    0xBB, 0x02, 0xD0, 0xC7, 0x02, 0x14, 0xFA, 0x02,
           /* 0610 */    0xCD, 0xA2, 0x02, 0xD4, 0xFA, 0x02, 0xCE, 0xAF,
           /* 0618 */    0x02, 0x0E, 0xB0, 0x02, 0x4E, 0xB0, 0x02, 0x8E,
           /* 0620 */    0xB0, 0x02, 0x94, 0xFC, 0x02, 0x50, 0xCA, 0x02,
           /* 0628 */    0x4B, 0x8B, 0x02, 0x91, 0xD7, 0x02, 0x92, 0xE4,
           /* 0630 */    0x02, 0x4D, 0xA5, 0x02, 0xCC, 0x98, 0x02, 0x14,
           /* 0638 */    0xFF, 0x02, 0xD2, 0xE5, 0x02, 0x90, 0xCC, 0x02,
           /* 0640 */    0x0F, 0xC0, 0x02, 0x93, 0xF3, 0x02, 0x12, 0xE7,
           /* 0648 */    0x02, 0xCF, 0xC0, 0x02, 0x93, 0xF4, 0x02, 0xCB,
           /* 0650 */    0x8D, 0x02, 0x52, 0xE8, 0x02, 0x93, 0xF5, 0x02,
           /* 0658 */    0x10, 0xCF, 0x02, 0x51, 0xDC, 0x02, 0x93, 0xF6,
           /* 0660 */    0x02, 0xD3, 0xF6, 0x02, 0x53, 0xF7, 0x02, 0x4A,
           /* 0668 */    0x82, 0x02, 0xD2, 0xEA, 0x02, 0x11, 0xDE, 0x02,
           /* 0670 */    0x50, 0xD1, 0x02, 0x4D, 0xAA, 0x02, 0x0A, 0x83,
           /* 0678 */    0x02, 0x93, 0xF9, 0x02, 0x8B, 0x90, 0x02, 0x13,
           /* 0680 */    0xFA, 0x02, 0x4D, 0xAB, 0x02, 0x0F, 0xC6, 0x02,
           /* 0688 */    0x13, 0xFB, 0x02, 0xD0, 0xD3, 0x02, 0xCF, 0xC6,
           /* 0690 */    0x02, 0x13, 0xFC, 0x02, 0xD1, 0xE1, 0x02, 0xD0,
           /* 0698 */    0xD4, 0x02, 0x13, 0xFD, 0x02, 0xCE, 0xBA, 0x02,
           /* 06A0 */    0x0E, 0xBB, 0x02, 0x13, 0xFE, 0x02, 0xCF, 0xC8,
           /* 06A8 */    0x02, 0x8B, 0x93, 0x02, 0x51, 0xE4, 0x02, 0x12,
           /* 06B0 */    0xF2, 0x02, 0x0D, 0xAF, 0x02, 0x92, 0xF2, 0x02,
           /* 06B8 */    0x91, 0xE5, 0x02, 0x52, 0xF3, 0x02, 0x90, 0xD8,
           /* 06C0 */    0x02, 0xD2, 0xF3, 0x02, 0x91, 0xE6, 0x02, 0x92,
           /* 06C8 */    0xF4, 0x02, 0x90, 0xD9, 0x02, 0x12, 0xF5, 0x02,
           /* 06D0 */    0x0B, 0x96, 0x02, 0x8D, 0xB1, 0x02, 0x4B, 0x96,
           /* 06D8 */    0x02, 0x4C, 0xA4, 0x02, 0x11, 0xE9, 0x02, 0x0E,
           /* 06E0 */    0xC0, 0x02, 0x4E, 0xC0, 0x02, 0x4F, 0xCE, 0x02,
           /* 06E8 */    0xCA, 0x89, 0x02, 0x91, 0xEA, 0x02, 0x92, 0xF8,
           /* 06F0 */    0x02, 0x50, 0xDD, 0x02, 0x51, 0xEB, 0x02, 0x8B,
           /* 06F8 */    0x98, 0x02, 0xD2, 0xF9, 0x02, 0xCB, 0x98, 0x02,
           /* 0700 */    0xCF, 0xD0, 0x02, 0x0D, 0xB5, 0x02, 0x4F, 0xD1,
           /* 0708 */    0x02, 0x90, 0xDF
       })
       Method (G03I, 0, NotSerialized)
       {
           CPUV ()
       }

       Method (CPUV, 0, NotSerialized)
       {
           If (LEqual (One, ShiftRight (PAR4, 0x08)))
           {
               Store (0xFA, Index (G312, 0x05))
           }

           Store (And (PAR4, 0xFF), Index (G312, 0x06))
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (G4T0, Package (0x04)
       {
           0x04070010,
           "CPU Q-FAN control",
           0x80000000,
           Zero
       })
       Name (GRP4, Package (0x01)
       {
           G4T0
       })
       Method (GIT4, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, 0x10))
           {
               Store (GNVS (0x17AE), ASB1)
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }

       Method (SIT4, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, 0x10))
           {
               If (LNotEqual (GNVS (0x17AE), Arg1))
               {
                   SNVS (0x17AE, Arg1)
                   Or (ASB0, 0x02, ASB0)
               }
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (G5T0, Package (0x0C)
       {
           0x05080000,
           "AI Profile",
           Zero,
           Zero,
           0x07,
           "Disabled",
           "Overclock  3%",
           "Overclock  5%",
           "Overclock 10%",
           "Overclock 15%",
           "Overclock 20%",
           "Overclock 30%"
       })
       Name (GRP5, Package (0x01)
       {
           G5T0
       })
       Method (GIT5, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero))
           {
               Store (GNVS (0x3628), ASB1)
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }

       Method (SIT5, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero))
           {
               Store (GNVS (0x3623), Local0)
               Store (GNVS (0x3628), Local1)
               If (LNotEqual (Arg1, Local1))
               {
                   SNVS (0x3623, 0x03)
                   SNVS (0x3628, Arg1)
                   Or (ASB0, 0x02, ASB0)
               }
               Else
               {
                   If (LNotEqual (0x03, Local0))
                   {
                       SNVS (0x3623, 0x03)
                       Or (ASB0, 0x02, ASB0)
                   }
               }
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (G9T0, Package (0x09)
       {
           0x09080000,
           "AI-Overclocking",
           Zero,
           One,
           0x04,
           "Manual",
           "Auto",
           "Standard",
           "Over Clock Profile"
       })
       Name (GRP9, Package (0x01)
       {
           G9T0
       })
       Method (GIT9, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero))
           {
               Store (GNVS (0x3623), ASB1)
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }

       Method (SIT9, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero))
           {
               If (LNotEqual (GNVS (0x3623), Arg1))
               {
                   If (And (Arg2, One))
                   {
                       SNVS (0x3623, Arg1)
                   }

                   Or (ASB0, 0x02, ASB0)
               }
           }
           Else
           {
               Store (Zero, ASB0)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (GBT1, Package (0x07)
       {
           0x0B060001,
           "System performance",
           0x00400000,
           Zero,
           0x03,
           One,
           0x04
       })
       Name (GBT3, Package (0x07)
       {
           0x0B060003,
           "System GUI",
           One,
           Zero,
           Zero,
           Zero,
           Zero
       })
       Name (GRPB, Package (0x02)
       {
           GBT1,
           GBT3
       })
       Name (VEAL, Zero)
       Method (GITB, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, One))
           {
               Store (VEAL, ASB1)
           }
           Else
           {
               If (LEqual (_T_0, 0x03))
               {
                   Store (One, ASB1)
               }
               Else
               {
                   Store (Zero, ASB0)
               }
           }
       }

       Method (SITB, 3, NotSerialized)
       {
           If (LEqual (And (Arg2, 0xFFFF), One))
           {
               And (Arg1, 0xFFFF, VEAL)
               Store (VEAL, ASB1)
               Store (VEAL, PAR0)
               ISMI (0x88)
           }

           If (LEqual (And (Arg2, 0xFFFF), Zero))
           {
               If (LEqual (VEAL, Zero))
               {
                   Store (VEAL, PAR0)
                   ISMI (0x88)
               }
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (GCT0, Package (0x07)
       {
           0x0C060001,
           "Thermostat(AFSC)",
           0x00400000,
           Zero,
           0x03,
           One,
           0x04
       })
       Name (GRPC, Package (0x01)
       {
           GCT0
       })
       Method (GITC, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero)) {}
           Else
           {
               Store (Zero, ASB0)
           }
       }

       Method (SITC, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, Zero)) {}
           Else
           {
               Store (Zero, ASB0)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       Name (GDT1, Package (0x07)
       {
           0x0D070001,
           "RTC Alarm",
           0x40000000,
           Zero,
           Zero,
           Zero,
           0x02
       })
       Name (GDT2, Package (0x07)
       {
           0x0D060002,
           "Alarm Date",
           Zero,
           Zero,
           Zero,
           One,
           0x20
       })
       Name (GDT3, Package (0x07)
       {
           0x0D060003,
           "Alarm Hour",
           Zero,
           Zero,
           Zero,
           One,
           0x18
       })
       Name (GDT4, Package (0x07)
       {
           0x0D060004,
           "Alarm Minute",
           Zero,
           Zero,
           Zero,
           One,
           0x3C
       })
       Name (GDT5, Package (0x07)
       {
           0x0D060005,
           "Alarm Second",
           Zero,
           Zero,
           Zero,
           One,
           0x3C
       })
       Name (GRPD, Package (0x05)
       {
           GDT1,
           GDT2,
           GDT3,
           GDT4,
           GDT5
       })
       Method (GITD, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, One))
           {
               Store (GNVS (0x17B5), ASB1)
           }
           Else
           {
               If (LEqual (_T_0, 0x02))
               {
                   Store (GNVS (0x5468), ASB1)
               }
               Else
               {
                   If (LEqual (_T_0, 0x03))
                   {
                       Store (GNVS (0x5470), ASB1)
                   }
                   Else
                   {
                       If (LEqual (_T_0, 0x04))
                       {
                           Store (GNVS (0x63F0), ASB1)
                       }
                       Else
                       {
                           If (LEqual (_T_0, 0x05))
                           {
                               Store (GNVS (0x6400), ASB1)
                           }
                           Else
                           {
                               Store (Zero, ASB0)
                           }
                       }
                   }
               }
           }
       }

       Method (SITD, 3, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, One))
           {
               SNVS (0x17B5, Arg1)
               Store (0x03, ASB0)
           }
           Else
           {
               If (LEqual (_T_0, 0x02))
               {
                   SNVS (0x5468, Arg1)
                   Store (0x03, ASB0)
               }
               Else
               {
                   If (LEqual (_T_0, 0x03))
                   {
                       SNVS (0x5470, Arg1)
                       Store (0x03, ASB0)
                   }
                   Else
                   {
                       If (LEqual (_T_0, 0x04))
                       {
                           SNVS (0x63F0, Arg1)
                           Store (0x03, ASB0)
                       }
                       Else
                       {
                           If (LEqual (_T_0, 0x05))
                           {
                               SNVS (0x6400, Arg1)
                               Store (0x03, ASB0)
                           }
                           Else
                           {
                               Store (Zero, ASB0)
                           }
                       }
                   }
               }
           }
       }
   }

   Scope (_SB)
   {
       OperationRegion (PIRQ, SystemIO, 0x0C00, 0x02)
       Field (PIRQ, ByteAcc, NoLock, Preserve)
       {
           PIDX,   8,
           PDAT,   8
       }

       IndexField (PIDX, PDAT, ByteAcc, NoLock, Preserve)
       {
           PIRA,   8,
           PIRB,   8,
           PIRC,   8,
           PIRD,   8,
           PIRS,   8,
                   Offset (0x09),
           PIRE,   8,
           PIRF,   8,
           PIRG,   8,
           PIRH,   8
       }

       OperationRegion (KBDD, SystemIO, 0x64, One)
       Field (KBDD, ByteAcc, NoLock, Preserve)
       {
           PD64,   8
       }

       Method (IRQC, 0, NotSerialized)
       {
           Store (Zero, PIRA)
           Store (Zero, PIRB)
           Store (Zero, PIRC)
           Store (Zero, PIRD)
           Store (Zero, PIRE)
           Store (Zero, PIRF)
           Store (Zero, PIRG)
           Store (Zero, PIRH)
       }

       Name (BUFA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {15}
       })
       Name (IPRA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {5,10,11}
       })
       Name (IPRB, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {5,10,11}
       })
       Name (IPRC, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {5,10,11}
       })
       Name (IPRD, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {5,10,11}
       })
       Device (LNKA)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, One)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRA)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSA)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRA)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRA, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRA)
           }
       }

       Device (LNKB)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x02)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRB)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSB)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRB)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRB, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRB)
           }
       }

       Device (LNKC)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x03)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRC)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSC)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRC)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRC, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRC)
           }
       }

       Device (LNKD)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x04)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRD)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSD)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRD)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRD, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRD)
           }
       }

       Device (LNKE)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x05)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRE)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSE)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRE)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRE, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (PIRE, Local0)
               Decrement (Local0)
               Store (Local0, PIRE)
           }
       }

       Device (LNKF)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x02)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRF)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSF)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRF)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRF, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRF)
           }
       }

       Device (LNKG)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x03)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRG)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSG)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRG)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRG, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRG)
           }
       }

       Device (LNKH)
       {
           Name (_HID, EisaId ("PNP0C0F"))
           Name (_UID, 0x04)
           Method (_STA, 0, NotSerialized)
           {
               If (PIRH)
               {
                   Return (0x0B)
               }
               Else
               {
                   Return (0x09)
               }
           }

           Method (_PRS, 0, NotSerialized)
           {
               Return (PRSH)
           }

           Method (_DIS, 0, NotSerialized)
           {
               Store (Zero, PIRH)
           }

           Method (_CRS, 0, NotSerialized)
           {
               CreateWordField (BUFA, One, IRQX)
               ShiftLeft (One, PIRH, IRQX)
               Return (BUFA)
           }

           Method (_SRS, 1, NotSerialized)
           {
               CreateWordField (Arg0, One, IRA)
               FindSetRightBit (IRA, Local0)
               Decrement (Local0)
               Store (Local0, PIRH)
           }
       }
   }

   Scope (_SB)
   {
       Name (XCPD, Zero)
       Name (XNPT, One)
       Name (XCAP, 0x02)
       Name (XDCP, 0x04)
       Name (XDCT, 0x08)
       Name (XDST, 0x0A)
       Name (XLCP, 0x0C)
       Name (XLCT, 0x10)
       Name (XLST, 0x12)
       Name (XSCP, 0x14)
       Name (XSCT, 0x18)
       Name (XSST, 0x1A)
       Name (XRCT, 0x1C)
       Mutex (MUTE, 0x00)
       Method (RBPE, 1, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, One)
           Field (PCFG, ByteAcc, NoLock, Preserve)
           {
               XCFG,   8
           }

           Release (MUTE)
           Return (XCFG)
       }

       Method (RWPE, 1, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           And (Arg0, 0xFFFFFFFE, Arg0)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, 0x02)
           Field (PCFG, WordAcc, NoLock, Preserve)
           {
               XCFG,   16
           }

           Release (MUTE)
           Return (XCFG)
       }

       Method (RDPE, 1, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           And (Arg0, 0xFFFFFFFC, Arg0)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, 0x04)
           Field (PCFG, DWordAcc, NoLock, Preserve)
           {
               XCFG,   32
           }

           Release (MUTE)
           Return (XCFG)
       }

       Method (WBPE, 2, NotSerialized)
       {
           Acquire (MUTE, 0x0FFF)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, One)
           Field (PCFG, ByteAcc, NoLock, Preserve)
           {
               XCFG,   8
           }

           Store (Arg1, XCFG)
           Release (MUTE)
       }

       Method (WWPE, 2, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           And (Arg0, 0xFFFFFFFE, Arg0)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, 0x02)
           Field (PCFG, WordAcc, NoLock, Preserve)
           {
               XCFG,   16
           }

           Store (Arg1, XCFG)
           Release (MUTE)
       }

       Method (WDPE, 2, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           And (Arg0, 0xFFFFFFFC, Arg0)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, 0x04)
           Field (PCFG, DWordAcc, NoLock, Preserve)
           {
               XCFG,   32
           }

           Store (Arg1, XCFG)
           Release (MUTE)
       }

       Method (RWDP, 3, NotSerialized)
       {
           Acquire (MUTE, 0x03E8)
           And (Arg0, 0xFFFFFFFC, Arg0)
           Add (Arg0, PCIB, Local0)
           OperationRegion (PCFG, SystemMemory, Local0, 0x04)
           Field (PCFG, DWordAcc, NoLock, Preserve)
           {
               XCFG,   32
           }

           And (XCFG, Arg2, Local1)
           Or (Local1, Arg1, XCFG)
           Release (MUTE)
       }

       Method (RPME, 1, NotSerialized)
       {
           Add (Arg0, 0x84, Local0)
           Store (RDPE (Local0), Local1)
           If (LEqual (Local1, Ones))
           {
               Return (Zero)
           }
           Else
           {
               If (LAnd (Local1, 0x00010000))
               {
                   WDPE (Local0, And (Local1, 0x00010000))
                   Return (One)
               }

               Return (Zero)
           }
       }
   }

   Scope (_SB.PCI0.SBRG.ASOC)
   {
       OperationRegion (HWRE, SystemIO, 0x0E85, 0x02)
       Field (HWRE, ByteAcc, NoLock, Preserve)
       {
           HIDX,   8,
           HDAT,   8
       }

       IndexField (HIDX, HDAT, ByteAcc, NoLock, Preserve)
       {
                   Offset (0x0B),
           CPUD,   3,
           CHAD,   3,
           PWRD,   1,
                   Offset (0x0C),
                   Offset (0x0D),
           CPUF,   8,
           CHAF,   8,
           PWRF,   8,
                   Offset (0x18),
           ECPF,   8,
           ECHF,   8,
           EPWF,   8,
                   Offset (0x21),
           V12V,   8,
           V33V,   8,
           V50V,   8,
           VIN4,   8,
           VIN5,   8,
           VIN6,   8,
           VIN7,   8,
                   Offset (0x29),
           CPUT,   8,
           MBTE,   8,
           TMP3,   8
       }

       OperationRegion (PM2I, SystemIO, 0x0CD0, 0x02)
       Field (PM2I, ByteAcc, NoLock, Preserve)
       {
           IPM2,   8,
           DPM2,   8
       }

       IndexField (IPM2, DPM2, ByteAcc, NoLock, Preserve)
       {
                   Offset (0x59),
               ,   6,
           VCOR,   10
       }

       Name (G611, Package (0x07)
       {
           0x06020011,
           "Vcore Voltage",
           0x20000000,
           Zero,
           0x0352,
           0x02EE,
           0x02
       })
       Name (G612, Package (0x07)
       {
           0x06030012,
           "CPU Temperature",
           0x20000000,
           Zero,
           0x028A,
           0x012C,
           0x02
       })
       Name (G613, Package (0x07)
       {
           0x06040013,
           "CPU FAN Speed",
           0x20000000,
           Zero,
           0x0320,
           0x1900,
           0x02
       })
       Name (G673, Package (0x07)
       {
           0x06040073,
           "Chassis FAN Speed",
           0x20000000,
           Zero,
           0x0320,
           0x1900,
           0x02
       })
       Name (G6C3, Package (0x07)
       {
           0x060400C3,
           "Power Fan Speed",
           0x20000000,
           Zero,
           0x0320,
           0x1900,
           0x02
       })
       Name (G661, Package (0x07)
       {
           0x06020061,
           "+12V Voltage",
           0x20000000,
           Zero,
           0x27D8,
           0x0E10,
           0x02
       })
       Name (G662, Package (0x07)
       {
           0x06020062,
           "+5V Voltage",
           0x20000000,
           Zero,
           0x1194,
           0x03E8,
           0x02
       })
       Name (G663, Package (0x07)
       {
           0x06020063,
           "+3.3V Voltage",
           0x20000000,
           Zero,
           0x0B9A,
           0x0294,
           0x02
       })
       Name (G674, Package (0x07)
       {
           0x06030074,
           "MB Temperature",
           0x20000000,
           Zero,
           0x01C2,
           0x01F4,
           0x02
       })
       Name (GRP6, Package (0x09)
       {
           G611,
           G612,
           G613,
           G673,
           G6C3,
           G661,
           G662,
           G663,
           G674
       })
       Method (GIT6, 1, NotSerialized)
       {
           Name (_T_0, Zero)
           Store (And (Arg0, 0xFFFF), _T_0)
           If (LEqual (_T_0, 0x11))
           {
               Store (VCOR, Local0)
               Store (Zero, Local1)
               While (LEqual (Local0, 0xFF))
               {
                   Store (VCOR, Local0)
                   If (LEqual (Local1, 0x000186A0))
                   {
                       Break
                   }

                   Add (Local1, One, Local1)
               }

               Multiply (Local0, 0x0B75, Local0)
               Divide (Local0, 0x03E8, , Local0)
               Store (Local0, ASB1)
           }
           Else
           {
               If (LEqual (_T_0, 0x12))
               {
                   Store (CPUT, Local0)
                   Store (Zero, Local1)
                   While (LEqual (Local0, 0x80))
                   {
                       Store (CPUT, Local0)
                       If (LEqual (Local1, 0x000186A0))
                       {
                           Break
                       }

                       Add (Local1, One, Local1)
                   }

                   Multiply (Local0, 0x0A, Local0)
                   Store (0x0C, Local1)
                   Divide (Local1, 0x02, , Local1)
                   Multiply (Local1, 0x0A, Local1)
                   Subtract (Local0, Local1, Local0)
                   Store (Local0, ASB1)
               }
               Else
               {
                   If (LEqual (_T_0, 0x13))
                   {
                       Store (FANC (CPUF, ECPF), Local0)
                       Store (Local0, ASB1)
                   }
                   Else
                   {
                       If (LEqual (_T_0, 0x73))
                       {
                           Store (FANC (CHAF, ECHF), Local0)
                           Store (Local0, ASB1)
                       }
                       Else
                       {
                           If (LEqual (_T_0, 0xC3))
                           {
                               Store (FANC (PWRF, EPWF), Local0)
                               Store (Local0, ASB1)
                           }
                           Else
                           {
                               If (LEqual (_T_0, 0x61))
                               {
                                   Store (V12V, Local0)
                                   Store (Zero, Local1)
                                   While (LEqual (Local0, 0xFF))
                                   {
                                       Store (V12V, Local0)
                                       If (LEqual (Local1, 0x000186A0))
                                       {
                                           Break
                                       }

                                       Add (Local1, One, Local1)
                                   }

                                   Multiply (Local0, 0x10, Local0)
                                   Store (0x1E, Local1)
                                   Store (0x0A, Local2)
                                   Add (Local1, Local2, Local1)
                                   Multiply (Local0, Local1, Local0)
                                   Divide (Local0, Local2, Local3, Local0)
                                   Store (Local0, ASB1)
                               }
                               Else
                               {
                                   If (LEqual (_T_0, 0x62))
                                   {
                                       Store (V50V, Local0)
                                       Store (Zero, Local1)
                                       While (LEqual (Local0, 0xFF))
                                       {
                                           Store (V50V, Local0)
                                           If (LEqual (Local1, 0x000186A0))
                                           {
                                               Break
                                           }

                                           Add (Local1, One, Local1)
                                       }

                                       Multiply (Local0, 0x10, Local0)
                                       Store (0x22, Local1)
                                       Store (0x32, Local2)
                                       Add (Local1, Local2, Local1)
                                       Multiply (Local0, Local1, Local0)
                                       Divide (Local0, Local2, Local3, Local0)
                                       Store (Local0, ASB1)
                                   }
                                   Else
                                   {
                                       If (LEqual (_T_0, 0x63))
                                       {
                                           Store (V33V, Local0)
                                           Store (Zero, Local1)
                                           While (LEqual (Local0, 0xFF))
                                           {
                                               Store (V33V, Local0)
                                               If (LEqual (Local1, 0x000186A0))
                                               {
                                                   Break
                                               }

                                               Add (Local1, One, Local1)
                                           }

                                           Multiply (Local0, 0x10, Local0)
                                           Store (Local0, ASB1)
                                       }
                                       Else
                                       {
                                           If (LEqual (_T_0, 0x74))
                                           {
                                               Store (MBTE, Local0)
                                               Store (Zero, Local1)
                                               While (LEqual (Local0, 0x80))
                                               {
                                                   Store (MBTE, Local0)
                                                   If (LEqual (Local1, 0x000186A0))
                                                   {
                                                       Break
                                                   }

                                                   Add (Local1, One, Local1)
                                               }

                                               Multiply (Local0, 0x0A, Local0)
                                               Store (Local0, ASB1)
                                           }
                                           Else
                                           {
                                               Store (Zero, ASB0)
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }

       Method (SIT6, 3, NotSerialized)
       {
       }

       Method (FANC, 2, NotSerialized)
       {
           Store (Arg1, Local0)
           Multiply (Local0, 0x0100, Local0)
           Store (Arg0, Local1)
           Add (Local0, Local1, Local0)
           If (LAnd (LLess (Local0, 0x0FFF), LNotEqual (Local0, Zero)))
           {
               Divide (0x000A4CB8, Local0, Local1, Local0)
           }
           Else
           {
               Store (Zero, Local0)
           }

           Return (Local0)
       }
   }

   If (OSCF)
   {
       Scope (_SB.PCI0)
       {
           Method (_OSC, 4, NotSerialized)
           {
               Name (SUPP, Zero)
               Name (CTRL, Zero)
               If (LEqual (Arg0, Buffer (0x10)
                       {
                           /* 0000 */    0x5B, 0x4D, 0xDB, 0x33, 0xF7, 0x1F, 0x1C, 0x40,
                           /* 0008 */    0x96, 0x57, 0x74, 0x41, 0xC0, 0x3D, 0xD7, 0x66
                       }))
               {
                   CreateDWordField (Arg3, Zero, CDW1)
                   CreateDWordField (Arg3, 0x04, CDW2)
                   CreateDWordField (Arg3, 0x08, CDW3)
                   Store (CDW2, SUPP)
                   Store (CDW3, CTRL)
                   If (LNotEqual (And (SUPP, 0x16), 0x16))
                   {
                       And (CTRL, 0x1E)
                   }

                   And (CTRL, 0x1D, CTRL)
                   If (Not (And (CDW1, One)))
                   {
                       If (And (CTRL, One)) {}
                       If (And (CTRL, 0x04))
                       {
                           Store (One, EPNM)
                           Store (One, DPPF)
                           Store (One, FNGS)
                       }
                       Else
                       {
                           Store (Zero, EPNM)
                           Store (Zero, DPPF)
                           Store (Zero, FNGS)
                       }

                       If (And (CTRL, 0x10)) {}
                   }

                   If (LNotEqual (Arg1, One))
                   {
                       Or (CDW1, 0x08, CDW1)
                   }

                   If (LNotEqual (CDW3, CTRL))
                   {
                       Or (CDW1, 0x10, CDW1)
                   }

                   Store (CTRL, CDW3)
                   Return (Arg3)
               }
               Else
               {
                   Or (CDW1, 0x04, CDW1)
                   Return (Arg3)
               }
           }
       }
   }

   Scope (_SB.PCI0)
   {
       Method (_INI, 0, NotSerialized)
       {
           If (LLessEqual (RVID, 0x13))
           {
               Store (Zero, PWDE)
           }
       }
   }

   Scope (_SB)
   {
       Method (_INI, 0, NotSerialized)
       {
           Store (OSFL (), OSTY)
           If (LEqual (OSFL (), Zero))
           {
               Store (0x05, OSTY)
           }

           If (LEqual (OSFL (), 0x05))
           {
               Store (0x06, OSTY)
           }
       }

       Scope (PCI0)
       {
           Name (CRS, ResourceTemplate ()
           {
               WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
                   0x0000,             // Granularity
                   0x0000,             // Range Minimum
                   0x00FF,             // Range Maximum
                   0x0000,             // Translation Offset
                   0x0100,             // Length
                   ,, )
               IO (Decode16,
                   0x0CF8,             // Range Minimum
                   0x0CF8,             // Range Maximum
                   0x01,               // Alignment
                   0x08,               // Length
                   )
               WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                   0x0000,             // Granularity
                   0x0000,             // Range Minimum
                   0x0CF7,             // Range Maximum
                   0x0000,             // Translation Offset
                   0x0CF8,             // Length
                   ,, , TypeStatic)
               WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
                   0x0000,             // Granularity
                   0x0D00,             // Range Minimum
                   0xFFFF,             // Range Maximum
                   0x0000,             // Translation Offset
                   0xF300,             // Length
                   ,, , TypeStatic)
               DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                   0x00000000,         // Granularity
                   0x000A0000,         // Range Minimum
                   0x000BFFFF,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00020000,         // Length
                   ,, , AddressRangeMemory, TypeStatic)
               DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                   0x00000000,         // Granularity
                   0x000C0000,         // Range Minimum
                   0x000DFFFF,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00020000,         // Length
                   ,, _Y1C, AddressRangeMemory, TypeStatic)
               DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                   0x00000000,         // Granularity
                   0x00000000,         // Range Minimum
                   0x00000000,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00000000,         // Length
                   ,, _Y1D, AddressRangeMemory, TypeStatic)
               DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
                   0x00000000,         // Granularity
                   0x00000000,         // Range Minimum
                   0x00000000,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00000000,         // Length
                   ,, _Y1E, AddressRangeMemory, TypeStatic)
           })
           CreateDWordField (CRS, \_SB.PCI0._Y1C._MIN, MIN5)
           CreateDWordField (CRS, \_SB.PCI0._Y1C._MAX, MAX5)
           CreateDWordField (CRS, \_SB.PCI0._Y1C._LEN, LEN5)
           CreateDWordField (CRS, \_SB.PCI0._Y1D._MIN, MIN6)
           CreateDWordField (CRS, \_SB.PCI0._Y1D._MAX, MAX6)
           CreateDWordField (CRS, \_SB.PCI0._Y1D._LEN, LEN6)
           CreateDWordField (CRS, \_SB.PCI0._Y1E._MIN, MIN7)
           CreateDWordField (CRS, \_SB.PCI0._Y1E._MAX, MAX7)
           CreateDWordField (CRS, \_SB.PCI0._Y1E._LEN, LEN7)
           Method (_CRS, 0, NotSerialized)
           {
               Store (MG1L, Local0)
               If (Local0)
               {
                   Store (MG1B, MIN5)
                   Store (MG1L, LEN5)
                   Add (MIN5, Decrement (Local0), MAX5)
               }

               Store (MG2B, MIN6)
               Store (MG2L, LEN6)
               Store (MG2L, Local0)
               Add (MIN6, Decrement (Local0), MAX6)
               Store (MG3B, MIN7)
               Store (MG3L, LEN7)
               Store (MG3L, Local0)
               Add (MIN7, Decrement (Local0), MAX7)
               Return (CRS)
           }
       }
   }

   Name (WOTB, Zero)
   Name (WSSB, Zero)
   Name (WAXB, Zero)
   Method (_PTS, 1, NotSerialized)
   {
       Store (Arg0, DBG8)
       PTS (Arg0)
       Store (Zero, Index (WAKP, Zero))
       Store (Zero, Index (WAKP, One))
       If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
       {
           Sleep (0x0BB8)
       }

       Store (ASSB, WSSB)
       Store (AOTB, WOTB)
       Store (AAXB, WAXB)
       Store (Arg0, ASSB)
       Store (OSFL (), AOTB)
       Store (Zero, AAXB)
   }

   Method (_WAK, 1, NotSerialized)
   {
       ShiftLeft (Arg0, 0x04, DBG8)
       WAK (Arg0)
       If (ASSB)
       {
           Store (WSSB, ASSB)
           Store (WOTB, AOTB)
           Store (WAXB, AAXB)
       }

       If (DerefOf (Index (WAKP, Zero)))
       {
           Store (Zero, Index (WAKP, One))
       }
       Else
       {
           Store (Arg0, Index (WAKP, One))
       }

       Return (WAKP)
   }

   Scope (\)
   {
       OperationRegion (NCLK, SystemMemory, PCIE, 0x02000000)
       Field (NCLK, AnyAcc, NoLock, Preserve)
       {
                   Offset (0x4C),
           CLKE,   1,
                   Offset (0x1048),
           P3HH,   12,
               ,   19,
           P3EE,   1,
           P4EN,   1,
           P4NM,   12,
           P4HI,   12,
           P4IO,   1,
                   Offset (0x1050),
           P5EN,   1,
           P5NM,   12,
           P5HI,   12,
           P5IO,   1,
                   Offset (0x1054),
           P6EN,   1,
           P6NM,   12,
           P6HI,   12,
           P6IO,   1,
                   Offset (0x10B0),
           P1NM,   12,
           P1HI,   12,
           P1EN,   1,
           P1IO,   1,
                   Offset (0x10B4),
           P2NM,   12,
           P2HI,   12,
           P2EN,   1,
           P2IO,   1,
                   Offset (0x10CC),
           P3EN,   1,
           P3NM,   12,
           P3HI,   12,
           P3IO,   1
       }

       OperationRegion (SOR1, SystemIO, SBA1, 0x10)
       Field (SOR1, ByteAcc, NoLock, Preserve)
       {
           SMSA,   8,
           SSSA,   8,
           SBCA,   8,
           SHCA,   8,
           SBAA,   8,
           SD0A,   8,
           SD1A,   8,
           SBDA,   8,
           SSCA,   8,
           SMCA,   8,
           SSEA,   16,
           SSDA,   16,
           SMTA,   8
       }

       OperationRegion (SOR2, SystemIO, SBA2, 0x10)
       Field (SOR2, ByteAcc, NoLock, Preserve)
       {
           SMSB,   8,
           SSSB,   8,
           SBCB,   8,
           SHCB,   8,
           SBAB,   8,
           SD0B,   8,
           SD1B,   8,
           SBDB,   8,
           SSCB,   8,
           SMCB,   8,
           SSEB,   16,
           SSDB,   16,
           SMTB,   8
       }

       Mutex (MSMB, 0x00)
       Method (RWBK, 5, NotSerialized)
       {
           Acquire (MSMB, 0xFFFF)
           If (LEqual (Arg0, Zero))
           {
               Store (SMSA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0xFF, Local0)
               Store (Local0, SMSA)
               Sleep (0x02)
               Store (SBAA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg1, Local0)
               Store (Local0, SBAA)
               Sleep (0x02)
               Store (SHCA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg2, Local0)
               Store (Local0, SHCA)
               Sleep (0x02)
               Store (SBCA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x14, Local0)
               Store (Local0, SBCA)
               Sleep (0x02)
               Store (SD0A, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg3, Local0)
               Store (Local0, SD0A)
               Sleep (0x02)
               And (Arg1, One, Local1)
               If (LEqual (Local1, Zero))
               {
                   Store (Arg3, Local2)
                   Store (Arg2, Local3)
                   While (Local2)
                   {
                       Store (DerefOf (Index (Arg4, Local3)), Local4)
                       Store (Local4, SBDA)
                       Sleep (0x02)
                       Decrement (Local2)
                       Increment (Local3)
                   }
               }

               Store (SBCA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x54, Local0)
               Store (Local0, SBCA)
               Sleep (0x02)
               Store (SMSA, Local1)
               While (LNot (And (Local1, One)))
               {
                   Store (SMSA, Local1)
                   If (And (Local1, 0x1C))
                   {
                       Release (MSMB)
                       Return (One)
                   }

                   If (And (Local1, 0x02))
                   {
                       Break
                   }

                   Sleep (0x02)
               }

               Store (SMSA, Local1)
               While (And (Local1, One))
               {
                   Store (SMSA, Local1)
                   Sleep (0x02)
               }

               And (Arg1, One, Local1)
               If (Local1)
               {
                   Store (Arg2, Local1)
                   Store (Arg3, Local2)
                   While (Local2)
                   {
                       Store (SBDA, Index (Arg4, Local1))
                       Sleep (0x02)
                       Increment (Local1)
                       Decrement (Local2)
                   }
               }
           }

           If (LEqual (Arg0, One)) {}
           Release (MSMB)
           Return (Zero)
       }

       Name (SMBV, Buffer (One)
       {
           0x00
       })
       Method (RWSM, 4, NotSerialized)
       {
           If (LEqual (Arg0, Zero))
           {
               Store (SHCA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg2, Local0)
               Store (Local0, SHCA)
               Sleep (0x02)
               Store (SBAA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg1, Local0)
               Store (Local0, SBAA)
               Sleep (0x02)
               Store (SBCA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x08, Local0)
               Store (Local0, SBCA)
               Sleep (0x02)
               And (Arg1, One, Local1)
               If (LEqual (Local1, Zero))
               {
                   Store (SD0A, Local0)
                   And (Local0, Zero, Local0)
                   Or (Local0, DerefOf (Index (Arg3, Zero)), Local0)
                   Store (Local0, SD0A)
                   Sleep (0x02)
               }

               Store (SMSA, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x1E, Local0)
               Store (Local0, SMSA)
               Sleep (0x02)
               Store (SMSA, Local1)
               While (And (Local1, One))
               {
                   Store (SMSA, Local1)
                   Sleep (0x02)
               }

               Store (SBCA, Local1)
               Sleep (0x02)
               Or (Local1, 0x40, Local0)
               Store (Local0, SBCA)
               Sleep (0x02)
               Store (SMSA, Local1)
               Sleep (0x02)
               If (And (Local1, 0x1C))
               {
                   Return (One)
               }

               While (And (Local1, One))
               {
                   Store (SMSA, Local1)
                   Sleep (0x02)
                   If (And (Local1, 0x1C))
                   {
                       Return (One)
                   }
               }

               And (Arg1, One, Local1)
               If (Local1)
               {
                   Store (SD0A, Index (Arg3, Zero))
                   Sleep (0x02)
               }
           }

           If (LEqual (Arg0, One))
           {
               Store (SHCB, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg2, Local0)
               Store (Local0, SHCB)
               Sleep (0x02)
               Store (SBAB, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, Arg1, Local0)
               Store (Local0, SBAB)
               Sleep (0x02)
               Store (SBCB, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x08, Local0)
               Store (Local0, SBCB)
               Sleep (0x02)
               And (Arg1, One, Local1)
               If (LEqual (Local1, Zero))
               {
                   Store (SD0B, Local0)
                   And (Local0, Zero, Local0)
                   Or (Local0, DerefOf (Index (Arg3, Zero)), Local0)
                   Store (Local0, SD0B)
                   Sleep (0x02)
               }

               Store (SMSB, Local0)
               And (Local0, Zero, Local0)
               Or (Local0, 0x1E, Local0)
               Store (Local0, SMSB)
               Sleep (0x02)
               Store (SMSB, Local1)
               While (And (Local1, One))
               {
                   Store (SMSB, Local1)
                   Sleep (0x02)
               }

               Store (SBCB, Local1)
               Sleep (0x02)
               Or (Local1, 0x40, Local0)
               Store (Local0, SBCB)
               Sleep (0x02)
               Store (SMSB, Local1)
               Sleep (0x02)
               If (And (Local1, 0x1C))
               {
                   Return (One)
               }

               While (And (Local1, One))
               {
                   Store (SMSB, Local1)
                   Sleep (0x02)
                   If (And (Local1, 0x1C))
                   {
                       Return (One)
                   }
               }

               And (Arg1, One, Local1)
               If (Local1)
               {
                   Store (SD0B, Index (Arg3, Zero))
                   Sleep (0x02)
               }
           }

           Return (Zero)
       }

       OperationRegion (IOOR, SystemIO, SIOP, 0x02)
       Field (IOOR, ByteAcc, NoLock, Preserve)
       {
           IOID,   8,
           IODT,   8
       }

       OperationRegion (GBOR, SystemIO, GIOB, 0x02)
       Field (GBOR, ByteAcc, NoLock, Preserve)
       {
                   Offset (0x01),
               ,   5,
           GP25,   1,
           GP26,   1
       }

       Method (RSIO, 1, NotSerialized)
       {
           Store (Arg0, IOID)
           Return (IODT)
       }

       Method (WSIO, 2, NotSerialized)
       {
           Store (Arg0, IOID)
           Store (Arg1, IODT)
       }

       Method (RWIO, 3, NotSerialized)
       {
           WSIO (Arg0, Or (And (RSIO (Arg0), Arg1), Arg2))
       }

       Name (IPSW, Package (0x02)
       {
           Package (0x04)
           {
               0x87,
               One,
               0x55,
               0x55
           },

           Package (0x04)
           {
               0x87,
               One,
               0x55,
               0xAA
           }
       })
       Method (SLDN, 1, NotSerialized)
       {
           Store (Zero, Local1)
           If (LEqual (SIOP, 0x2E))
           {
               Store (Zero, Local1)
           }

           If (LEqual (SIOP, 0x4E))
           {
               Store (One, Local1)
           }

           Store (Zero, Local0)
           While (LNotEqual (Local0, 0x04))
           {
               Store (DerefOf (Index (DerefOf (Index (IPSW, Local1)), Local0)),
                   IOID)
               Increment (Local0)
           }

           WSIO (0x07, Arg0)
       }

       Method (APTS, 1, NotSerialized)
       {
           \AOD.APTS (Arg0)
       }

       Method (AWAK, 1, NotSerialized)
       {
           \AOD.AWAK (Arg0)
       }

       Device (AOD)
       {
           Name (DBG, One)
           Name (OBID, Package (0x1C)
           {
               0x08,
               0x01010000,
               0x01020000,
               0x01030000,
               0x02010000,
               0x02040000,
               0x02060000,
               0x02020000,
               0x02030000,
               Zero,
               One,
               One,
               One,
               One,
               One,
               One,
               One,
               One,
               0xFF,
               "CPU Clock",
               "PCIE Clock",
               "South Bridge Clock",
               "DDR Voltage",
               "NB Voltage",
               "HT Voltage",
               "SB Voltage",
               "SidePort Voltage",
               ""
           })
           Name (OBIT, Package (0x35)
           {
               0x01010000,
               0x000186A0,
               0x00061A80,
               Zero,
               0x03E8,
               Zero,
               0x01020000,
               0x1388,
               0x0003D090,
               Zero,
               0x03E8,
               Zero,
               0x01030000,
               0xC350,
               0x000186A0,
               Zero,
               0x03E8,
               Zero,
               0x02010000,
               0x0002BF20,
               0x0003D090,
               Zero,
               0x07D0,
               Zero,
               0x02040000,
               0x0001ADB0,
               0x00027100,
               Zero,
               0x07D0,
               Zero,
               0x02060000,
               0x0001D4C0,
               0x000222E0,
               Zero,
               0x07D0,
               Zero,
               0x02020000,
               0x0001D4C0,
               0x00020F58,
               Zero,
               0x1388,
               Zero,
               0x02030000,
               0x000249F0,
               0x0002BF20,
               Zero,
               0x2710,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero
           })
           Name (OBDT, Package (0x01)
           {
               Zero
           })
           Method (BM01, 0, NotSerialized)
           {
               PWMI ()
           }

           Method (XINI, 0, NotSerialized)
           {
           }

           Method (EM01, 0, NotSerialized)
           {
           }

           Method (BM05, 1, NotSerialized)
           {
           }

           Method (EM05, 1, NotSerialized)
           {
           }

           Method (HM06, 0, NotSerialized)
           {
           }

           Method (HM07, 1, NotSerialized)
           {
           }

           Method (DISC, 0, NotSerialized)
           {
               SLDN (0x07)
               RWIO (0x26, 0xFF, 0x40)
               RWIO (0x2C, 0xEF, Zero)
               RWIO (0xC1, 0xFF, 0x40)
               RWIO (0xC9, 0xFF, 0x40)
               RWIO (0xB9, 0xFF, 0x40)
               Store (Zero, GP26)
           }

           Method (CNCT, 0, NotSerialized)
           {
               Store (One, GP26)
           }

           Name (PWMT, Buffer (0x29)
           {
               /* 0000 */    0x04, 0x04, 0x01, 0x00, 0x19, 0x0A, 0x01, 0x63,
               /* 0008 */    0x06, 0x06, 0x01, 0x00, 0x0A, 0x00, 0x01, 0x63,
               /* 0010 */    0x01, 0x01, 0x01, 0x00, 0x23, 0x05, 0x01, 0x63,
               /* 0018 */    0x02, 0x02, 0x01, 0x00, 0x03, 0x02, 0x01, 0x63,
               /* 0020 */    0x03, 0x03, 0x01, 0x00, 0x03, 0x00, 0x01, 0x63,
               /* 0028 */    0xFF
           })
           Method (PWMI, 0, NotSerialized)
           {
               ShiftLeft (Zero, 0x04, Local0)
               Store (Add (A283, One), Local2)
               RWSM (SMBC, Local2, Local0, SMBV)
               Store (DerefOf (Index (SMBV, Zero)), Index (PWMT, 0x05))
               ShiftLeft (0x02, 0x04, Local0)
               Store (Add (A283, One), Local2)
               RWSM (SMBC, Local2, Local0, SMBV)
               Store (DerefOf (Index (SMBV, Zero)), Index (PWMT, 0x0D))
               ShiftLeft (One, 0x04, Local0)
               Store (Add (A283, One), Local2)
               RWSM (SMBC, Local2, Local0, SMBV)
               Store (DerefOf (Index (SMBV, Zero)), Index (PWMT, 0x15))
               SLDN (0x07)
               ShiftRight (And (RSIO (0xCE), 0x04), 0x02, Local3)
               ShiftRight (And (RSIO (0xCE), 0x08), 0x03, Local4)
               Add (Multiply (Local4, 0x02), Local3, Index (PWMT, 0x1D))
               ShiftRight (And (RSIO (0xCE), 0x10), 0x04, Local3)
               ShiftRight (And (\_SB.PCI0.SMBS.IO59, 0x40), 0x06, Local4)
               And (Not (Local4), One, Local4)
               Add (Multiply (Local4, 0x02), Local3, Index (PWMT, 0x25))
           }

           Method (VTR, 1, NotSerialized)
           {
               Store (Zero, Local0)
               Store (Arg0, Local1)
               If (LEqual (PWMX, 0x04))
               {
                   Store (Add (Divide (Subtract (Local1, 0x0001ADB0), 0x07D0, ),
                       PMIN), Local0)
                   S283 (Zero, Local0)
               }
               Else
               {
                   If (LEqual (PWMX, 0x06))
                   {
                       Store (Add (Divide (Subtract (Local1, 0x0001D4C0), 0x07D0, ),
                           PMIN), Local0)
                       S283 (0x02, Local0)
                   }
                   Else
                   {
                       If (LEqual (PWMX, One))
                       {
                           Add (Divide (Subtract (Local1, 0x0002BF20), 0x07D0, ), PMIN,
                               Local0)
                           S283 (One, Local0)
                       }
                       Else
                       {
                           If (LEqual (PWMX, 0x02))
                           {
                               SLDN (0x07)
                               RWIO (0xCE, 0xF3, Zero)
                               Sleep (0x14)
                               Add (Divide (Subtract (Local1, 0x0001D4C0), 0x1388, ), PMIN,
                                   Local0)
                               If (And (Local0, One))
                               {
                                   RWIO (0xCE, 0xFF, 0x04)
                               }

                               If (And (Local0, 0x02))
                               {
                                   RWIO (0xCE, 0xFF, 0x08)
                               }
                           }
                           Else
                           {
                               If (LEqual (PWMX, 0x03))
                               {
                                   SLDN (0x07)
                                   RWIO (0xCE, 0xEF, Zero)
                                   Or (\_SB.PCI0.SMBS.IO59, 0x44, \_SB.PCI0.SMBS.IO59)
                                   Sleep (0x14)
                                   Add (Divide (Subtract (Local1, 0x000249F0), 0x2710, ), PMIN,
                                       Local0)
                                   If (And (Local0, One))
                                   {
                                       SLDN (0x07)
                                       RWIO (0xCE, 0xFF, 0x10)
                                   }

                                   If (And (Local0, 0x02))
                                   {
                                       And (\_SB.PCI0.SMBS.IO59, 0xBB, \_SB.PCI0.SMBS.IO59)
                                   }
                               }
                               Else
                               {
                                   Store (Zero, Local0)
                               }
                           }
                       }
                   }
               }

               Return (Local0)
           }

           Method (RTV, 1, NotSerialized)
           {
               Store (Arg0, Local0)
               If (LEqual (PWMX, 0x04))
               {
                   Store (Add (0x0001ADB0, Multiply (Subtract (Local0, PMIN), 0x07D0)
                       ), Local1)
               }
               Else
               {
                   If (LEqual (PWMX, 0x06))
                   {
                       Store (Add (0x0001D4C0, Multiply (Subtract (Local0, PMIN), 0x07D0)
                           ), Local1)
                   }
                   Else
                   {
                       If (LEqual (PWMX, One))
                       {
                           Add (0x0002BF20, Multiply (Subtract (Local0, PMIN), 0x07D0), Local1)
                       }
                       Else
                       {
                           If (LEqual (PWMX, 0x02))
                           {
                               Add (0x0001D4C0, Multiply (Subtract (Local0, PMIN), 0x1388), Local1)
                           }
                           Else
                           {
                               If (LEqual (PWMX, 0x03))
                               {
                                   Add (0x000249F0, Multiply (Subtract (Local0, PMIN), 0x2710), Local1)
                               }
                               Else
                               {
                                   Store (Zero, Local1)
                               }
                           }
                       }
                   }
               }

               Return (Local1)
           }

           Name (QLST, Package (0x07)
           {
               0x06,
               Package (0x08)
               {
                   0x2700,
                   "Advanced Clock Calibration",
                   Zero,
                   0x04,
                   Buffer (0x09)
                   {
                       "Disabled"
                   },

                   Buffer (0x05)
                   {
                       "Auto"
                   },

                   Buffer (0x0A)
                   {
                       "All Cores"
                   },

                   Buffer (0x09)
                   {
                       "Per Core"
                   }
               },

               Package (0x16)
               {
                   0x455C,
                   "Value (All Cores)",
                   0x02,
                   Buffer (0x05)
                   {
                       0x82, 0x02, 0x01, 0x03, 0x00
                   },

                   Buffer (0x05)
                   {
                       0x86, 0x10, 0x00, 0x02, 0x00
                   },

                   0x10,
                   Buffer (0x03)
                   {
                       "0%"
                   },

                   Buffer (0x05)
                   {
                       "+ 2%"
                   },

                   Buffer (0x05)
                   {
                       "+ 4%"
                   },

                   Buffer (0x05)
                   {
                       "+ 6%"
                   },

                   Buffer (0x05)
                   {
                       "+ 8%"
                   },

                   Buffer (0x05)
                   {
                       "+10%"
                   },

                   Buffer (0x05)
                   {
                       "+12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x05)
                   {
                       "- 2%"
                   },

                   Buffer (0x05)
                   {
                       "- 4%"
                   },

                   Buffer (0x05)
                   {
                       "- 6%"
                   },

                   Buffer (0x05)
                   {
                       "- 8%"
                   },

                   Buffer (0x05)
                   {
                       "-10%"
                   },

                   Buffer (0x05)
                   {
                       "-12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   }
               },

               Package (0x16)
               {
                   0x4560,
                   "Value (Core 0)",
                   0x02,
                   Buffer (0x05)
                   {
                       0x82, 0x03, 0x01, 0x03, 0x00
                   },

                   Buffer (0x05)
                   {
                       0x86, 0x10, 0x00, 0x02, 0x00
                   },

                   0x10,
                   Buffer (0x03)
                   {
                       "0%"
                   },

                   Buffer (0x05)
                   {
                       "+ 2%"
                   },

                   Buffer (0x05)
                   {
                       "+ 4%"
                   },

                   Buffer (0x05)
                   {
                       "+ 6%"
                   },

                   Buffer (0x05)
                   {
                       "+ 8%"
                   },

                   Buffer (0x05)
                   {
                       "+10%"
                   },

                   Buffer (0x05)
                   {
                       "+12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x05)
                   {
                       "- 2%"
                   },

                   Buffer (0x05)
                   {
                       "- 4%"
                   },

                   Buffer (0x05)
                   {
                       "- 6%"
                   },

                   Buffer (0x05)
                   {
                       "- 8%"
                   },

                   Buffer (0x05)
                   {
                       "-10%"
                   },

                   Buffer (0x05)
                   {
                       "-12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   }
               },

               Package (0x16)
               {
                   0x4564,
                   "Value (Core 1)",
                   0x02,
                   Buffer (0x05)
                   {
                       0x82, 0x03, 0x01, 0x03, 0x00
                   },

                   Buffer (0x05)
                   {
                       0x86, 0x10, 0x00, 0x02, 0x00
                   },

                   0x10,
                   Buffer (0x03)
                   {
                       "0%"
                   },

                   Buffer (0x05)
                   {
                       "+ 2%"
                   },

                   Buffer (0x05)
                   {
                       "+ 4%"
                   },

                   Buffer (0x05)
                   {
                       "+ 6%"
                   },

                   Buffer (0x05)
                   {
                       "+ 8%"
                   },

                   Buffer (0x05)
                   {
                       "+10%"
                   },

                   Buffer (0x05)
                   {
                       "+12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x05)
                   {
                       "- 2%"
                   },

                   Buffer (0x05)
                   {
                       "- 4%"
                   },

                   Buffer (0x05)
                   {
                       "- 6%"
                   },

                   Buffer (0x05)
                   {
                       "- 8%"
                   },

                   Buffer (0x05)
                   {
                       "-10%"
                   },

                   Buffer (0x05)
                   {
                       "-12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   }
               },

               Package (0x16)
               {
                   0x4568,
                   "Value (Core 2)",
                   0x02,
                   Buffer (0x05)
                   {
                       0x82, 0x03, 0x01, 0x03, 0x00
                   },

                   Buffer (0x05)
                   {
                       0x86, 0x10, 0x00, 0x02, 0x00
                   },

                   0x10,
                   Buffer (0x03)
                   {
                       "0%"
                   },

                   Buffer (0x05)
                   {
                       "+ 2%"
                   },

                   Buffer (0x05)
                   {
                       "+ 4%"
                   },

                   Buffer (0x05)
                   {
                       "+ 6%"
                   },

                   Buffer (0x05)
                   {
                       "+ 8%"
                   },

                   Buffer (0x05)
                   {
                       "+10%"
                   },

                   Buffer (0x05)
                   {
                       "+12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x05)
                   {
                       "- 2%"
                   },

                   Buffer (0x05)
                   {
                       "- 4%"
                   },

                   Buffer (0x05)
                   {
                       "- 6%"
                   },

                   Buffer (0x05)
                   {
                       "- 8%"
                   },

                   Buffer (0x05)
                   {
                       "-10%"
                   },

                   Buffer (0x05)
                   {
                       "-12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   }
               },

               Package (0x16)
               {
                   0x456C,
                   "Value (Core 3)",
                   0x02,
                   Buffer (0x05)
                   {
                       0x82, 0x03, 0x01, 0x03, 0x00
                   },

                   Buffer (0x05)
                   {
                       0x86, 0x10, 0x00, 0x02, 0x00
                   },

                   0x10,
                   Buffer (0x03)
                   {
                       "0%"
                   },

                   Buffer (0x05)
                   {
                       "+ 2%"
                   },

                   Buffer (0x05)
                   {
                       "+ 4%"
                   },

                   Buffer (0x05)
                   {
                       "+ 6%"
                   },

                   Buffer (0x05)
                   {
                       "+ 8%"
                   },

                   Buffer (0x05)
                   {
                       "+10%"
                   },

                   Buffer (0x05)
                   {
                       "+12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   },

                   Buffer (0x05)
                   {
                       "- 2%"
                   },

                   Buffer (0x05)
                   {
                       "- 4%"
                   },

                   Buffer (0x05)
                   {
                       "- 6%"
                   },

                   Buffer (0x05)
                   {
                       "- 8%"
                   },

                   Buffer (0x05)
                   {
                       "-10%"
                   },

                   Buffer (0x05)
                   {
                       "-12%"
                   },

                   Buffer (0x09)
                   {
                       "RESERVED"
                   }
               }
           })
           Name (ID01, Zero)
           Name (ID02, Zero)
           Method (SOID, 1, NotSerialized)
           {
               ShiftRight (Arg0, 0x18, ID01)
               ShiftRight (And (Arg0, 0x00FF0000), 0x10, ID02)
               Return (Zero)
           }

           Method (WROW, 4, NotSerialized)
           {
               Name (IFPK, Package (0x06)
               {
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero
               })
               CreateDWordField (Arg0, Zero, BUF0)
               CreateDWordField (Arg0, 0x04, BUF1)
               CreateDWordField (Arg0, 0x08, BUF2)
               CreateDWordField (Arg0, 0x0C, BUF3)
               CreateDWordField (Arg0, 0x10, BUF4)
               CreateDWordField (Arg0, 0x14, BUF5)
               Store (BUF0, Index (IFPK, Zero))
               Store (BUF1, Index (IFPK, One))
               Store (BUF2, Index (IFPK, 0x02))
               Store (BUF3, Index (IFPK, 0x03))
               Store (BUF4, Index (IFPK, 0x04))
               Store (BUF5, Index (IFPK, 0x05))
               Store (Arg3, Local0)
               Store (Zero, Local1)
               While (Local0)
               {
                   Store (DerefOf (Index (IFPK, Local1)), Index (Arg1, Add (Multiply (
                       Arg2, Arg3), Local1)))
                   Increment (Local1)
                   Decrement (Local0)
               }
           }

           Method (GROW, 4, NotSerialized)
           {
               Name (IFPK, Package (0x06)
               {
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero
               })
               Store (Arg3, Local0)
               Store (Zero, Local1)
               While (Local0)
               {
                   Store (DerefOf (Index (Arg0, Add (Multiply (Arg2, Arg3), Local1
                       ))), Index (IFPK, Local1))
                   Increment (Local1)
                   Decrement (Local0)
               }

               CreateDWordField (Arg1, Zero, BUF0)
               CreateDWordField (Arg1, 0x04, BUF1)
               CreateDWordField (Arg1, 0x08, BUF2)
               CreateDWordField (Arg1, 0x0C, BUF3)
               CreateDWordField (Arg1, 0x10, BUF4)
               CreateDWordField (Arg1, 0x14, BUF5)
               Store (DerefOf (Index (IFPK, Zero)), BUF0)
               Store (DerefOf (Index (IFPK, One)), BUF1)
               Store (DerefOf (Index (IFPK, 0x02)), BUF2)
               Store (DerefOf (Index (IFPK, 0x03)), BUF3)
               Store (DerefOf (Index (IFPK, 0x04)), BUF4)
               Store (DerefOf (Index (IFPK, 0x05)), BUF5)
           }

           Method (CPTB, 2, NotSerialized)
           {
               Name (LOID, Zero)
               CreateDWordField (Arg1, Zero, BUF0)
               CreateDWordField (Arg1, 0x04, BUF1)
               CreateDWordField (Arg1, 0x08, BUF2)
               CreateDWordField (Arg1, 0x0C, BUF3)
               CreateDWordField (Arg1, 0x10, BUF4)
               Store (Zero, Local0)
               Store (DerefOf (Index (OBIT, Local0)), LOID)
               While (LOID)
               {
                   If (LEqual (LOID, Arg0))
                   {
                       Store (DerefOf (Index (OBIT, Add (Local0, Zero))), BUF0)
                       Store (DerefOf (Index (OBIT, Add (Local0, One))), BUF1)
                       Store (DerefOf (Index (OBIT, Add (Local0, 0x02))), BUF2)
                       Store (DerefOf (Index (OBIT, Add (Local0, 0x03))), BUF3)
                       Store (DerefOf (Index (OBIT, Add (Local0, 0x04))), BUF4)
                       Break
                   }

                   Add (Local0, 0x06, Local0)
                   Store (DerefOf (Index (OBIT, Local0)), LOID)
               }

               If (LEqual (LOID, Zero))
               {
                   Return (0xFF)
               }

               Return (Zero)
           }

           Method (CBTP, 1, NotSerialized)
           {
               Name (LOID, Zero)
               CreateDWordField (Arg0, Zero, BUF0)
               CreateDWordField (Arg0, 0x04, BUF1)
               CreateDWordField (Arg0, 0x08, BUF2)
               CreateDWordField (Arg0, 0x0C, BUF3)
               CreateDWordField (Arg0, 0x10, BUF4)
               CreateDWordField (Arg0, 0x14, BUF5)
               Store (Zero, Local0)
               Store (DerefOf (Index (OBIT, Local0)), LOID)
               While (LOID)
               {
                   If (LEqual (LOID, BUF0))
                   {
                       Store (BUF0, Index (OBIT, Add (Local0, Zero)))
                       Store (BUF1, Index (OBIT, Add (Local0, One)))
                       Store (BUF2, Index (OBIT, Add (Local0, 0x02)))
                       Store (BUF3, Index (OBIT, Add (Local0, 0x03)))
                       Store (BUF4, Index (OBIT, Add (Local0, 0x04)))
                       Store (BUF5, Index (OBIT, Add (Local0, 0x05)))
                       Break
                   }

                   Add (Local0, 0x06, Local0)
                   Store (DerefOf (Index (OBIT, Local0)), LOID)
               }

               If (LEqual (LOID, Zero))
               {
                   Return (0xFF)
               }

               Return (Zero)
           }

           Method (ABS, 2, NotSerialized)
           {
               If (LLess (Arg0, Arg1))
               {
                   Return (Subtract (Arg1, Arg0))
               }
               Else
               {
                   Return (Subtract (Arg0, Arg1))
               }
           }

           Name (CPUD, Zero)
           Name (GFXD, Zero)
           Name (SBCD, Zero)
           Method (GETC, 1, NotSerialized)
           {
               If (RWBK (Zero, 0xD3, Zero, 0x20, TSBF))
               {
                   Store (One, GVB2)
                   Store (Zero, GVB1)
                   Return (GVBF)
               }

               Store (Zero, GVB2)
               Store (CCLK (Arg0), GVB1)
               Return (GVBF)
           }

           Method (SETC, 2, NotSerialized)
           {
               If (RWBK (Zero, 0xD3, Zero, 0x20, TSBF))
               {
                   Return (One)
               }

               If (LEqual (Arg0, One))
               {
                   Store (GDIV (0x14), Local0)
                   Store (GCCX (0x10, 0x11, 0x14, 0xC350), Local1)
                   Store (Multiply (Arg1, Local0), Local2)
                   If (LNotEqual (Local1, Local2))
                   {
                       If (LNot (CFMN (Local2, 0xC350)))
                       {
                           SFSB ()
                       }
                   }

                   Store (Zero, Local3)
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Store (GDIV (0x1C), Local0)
                       Store (GCCX (0x1A, 0x1B, 0x1C, 0x37EE), Local1)
                       Store (Multiply (Arg1, Local0), Local2)
                       Store (RMPC (Local1, Local2, 0x07D0, Arg0), Local3)
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (GDIV (0x1F), Local0)
                           Store (GCCX (0x1D, 0x1E, 0x1F, 0x37EE), Local1)
                           Store (Multiply (Arg1, Local0), Local2)
                           Store (RMPC (Local1, Local2, 0x07D0, Arg0), Local3)
                       }
                   }
               }

               Store ("current target ramp step clkid", Debug)
               Store (Local1, Debug)
               Store (Local2, Debug)
               Store (0x07D0, Debug)
               Store (Arg0, Debug)
               If (Local3)
               {
                   Return (Local3)
               }

               Return (Zero)
           }

           Method (CINI, 0, NotSerialized)
           {
               If (RWBK (Zero, 0xD3, 0x07, 0x09, TSBF))
               {
                   Return (One)
               }

               If (LOr (LNotEqual (And (DerefOf (Index (TSBF, 0x08)),
                   0x0F), One), LNotEqual (DerefOf (Index (TSBF, 0x07)), 0x75)))
               {
                   Return (0x03)
               }

               Store (0x20, Index (TSBF, 0x0B))
               Or (DerefOf (Index (TSBF, 0x0C)), 0xB0, Index (TSBF, 0x0C
                   ))
               If (RWBK (Zero, 0xD2, 0x0B, 0x02, TSBF))
               {
                   Return (One)
               }

               Return (Zero)
           }

           Method (GCCX, 4, NotSerialized)
           {
               And (DerefOf (Index (TSBF, Arg2)), 0x80, Local0)
               ShiftRight (Local0, 0x07, Local0)
               And (DerefOf (Index (TSBF, Arg0)), 0xC0, Local1)
               ShiftRight (Local1, 0x05, Local1)
               And (DerefOf (Index (TSBF, Arg1)), 0xFF, Local2)
               ShiftLeft (Local2, 0x03, Local2)
               Add (Local0, Local1, Local0)
               Add (Local0, Local2, Local0)
               And (DerefOf (Index (TSBF, Arg0)), 0x3F, Local1)
               Multiply (Arg3, Local0, Local2)
               Divide (Local2, Local1, , Local3)
               Return (Local3)
           }

           Name (VCOM, Zero)
           Name (VCON, Zero)
           Method (CCMN, 2, NotSerialized)
           {
               Store (Arg1, Local0)
               Store (ABS (Arg0, Arg1), Local1)
               Store (0x13, Local2)
               While (LLess (Local2, 0x19))
               {
                   Add (Divide (Multiply (Arg0, Local2), Arg1, ), 0x02,
                       Local3)
                   If (LGreater (Local3, 0x0800))
                   {
                       Store (0x0800, Local3)
                   }

                   If (LGreater (Divide (Multiply (Arg0, Local2), Arg1, ),
                       0x02))
                   {
                       Subtract (Divide (Multiply (Arg0, Local2), Arg1, ), 0x02,
                           Local4)
                       If (LLess (Local4, 0x02))
                       {
                           Store (0x02, Local4)
                       }
                   }
                   Else
                   {
                       Store (0x02, Local4)
                   }

                   While (LLessEqual (Local4, Local3))
                   {
                       Store (Divide (Multiply (Arg1, Local4), Local2, ), Local0)
                       Store (ABS (Arg0, Local0), Local5)
                       If (LLess (Local5, Local1))
                       {
                           Store ("N", Debug)
                           Store (Local4, Debug)
                           Store ("M", Debug)
                           Store (Local2, Debug)
                           Store ("Diff", Debug)
                           Store (Local5, Debug)
                           Store (Local4, VCON)
                           Store (Local2, VCOM)
                           Store (Local5, Local1)
                           If (LLess (Local5, 0x012C))
                           {
                               Break
                           }
                       }

                       Increment (Local4)
                   }

                   Increment (Local2)
               }
           }

           Method (CCLK, 1, NotSerialized)
           {
               Name (VCOV, Zero)
               Name (VCOD, Zero)
               If (LEqual (Arg0, One))
               {
                   If (LEqual (CPUD, Zero))
                   {
                       Store (GDIV (0x14), CPUD)
                   }

                   Store (CPUD, VCOD)
                   Store (GCCX (0x10, 0x11, 0x14, 0xC350), VCOV)
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       If (LEqual (GFXD, Zero))
                       {
                           Store (GDIV (0x1C), GFXD)
                       }

                       Store (GFXD, VCOD)
                       Store (GCCX (0x1A, 0x1B, 0x1C, 0x37EE), VCOV)
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           If (LEqual (SBCD, Zero))
                           {
                               Store (GDIV (0x1F), SBCD)
                           }

                           Store (SBCD, VCOD)
                           Store (GCCX (0x1D, 0x1E, 0x1F, 0x37EE), VCOV)
                       }
                   }
               }

               Return (Divide (VCOV, VCOD, ))
           }

           Method (SCCX, 5, NotSerialized)
           {
               Store (Zero, VCOM)
               Store (Zero, VCOM)
               CCMN (Arg0, Arg4)
               Store ("VCOM", Debug)
               Store (VCOM, Debug)
               Store ("VCON", Debug)
               Store (VCON, Debug)
               Store (Or (And (ShiftLeft (VCON, 0x05), 0xC0), VCOM
                   ), Index (TSBF, Arg1))
               Store (And (ShiftRight (VCON, 0x03), 0xFF), Index (TSBF,
                   Arg2))
               Or (And (DerefOf (Index (TSBF, Arg3)), 0x7F), And (
                   ShiftLeft (VCON, 0x07), 0x80), Index (TSBF, Arg3))
               Store (TSBF, Debug)
               If (RWBK (Zero, 0xD2, Arg1, Add (Subtract (Arg3, Arg1),
                   One), TSBF))
               {
                   Return (One)
               }

               Return (Zero)
           }

           Name (DIVD, Buffer (0x10)
           {
               /* 0000 */    0x02, 0x03, 0x05, 0x09, 0x04, 0x06, 0x0A, 0x12,
               /* 0008 */    0x08, 0x0C, 0x14, 0x24, 0x10, 0x18, 0x28, 0x48
           })
           Method (GDIV, 1, NotSerialized)
           {
               Return (DerefOf (Index (DIVD, And (DerefOf (Index (TSBF, Arg0)),
                   0x0F))))
           }

           Method (WTCX, 2, NotSerialized)
           {
               Store (Arg1, Local0)
               If (LEqual (Arg0, One))
               {
                   Return (SCCX (Local0, 0x10, 0x11, 0x14, 0xC350))
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Return (SCCX (Local0, 0x1A, 0x1B, 0x1C, 0x37EE))
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Return (SCCX (Local0, 0x1D, 0x1E, 0x1F, 0x37EE))
                       }
                   }
               }

               Return (0x04)
           }

           Method (RMPC, 4, NotSerialized)
           {
               Name (STAT, Zero)
               Store (Arg0, Local0)
               Store (Arg1, Local1)
               While (LGreater (ABS (Local1, Local0), Arg2))
               {
                   If (LLess (Local0, Local1))
                   {
                       Add (Local0, Arg2, Local0)
                   }
                   Else
                   {
                       Subtract (Local0, Arg2, Local0)
                   }

                   Store (Local0, Debug)
                   Store (WTCX (Arg3, Local0), STAT)
                   Sleep (0x01F4)
                   If (STAT)
                   {
                       Return (STAT)
                   }
               }

               If (LNotEqual (Local0, Local1))
               {
                   Store (WTCX (Arg3, Local1), STAT)
                   Sleep (0x01F4)
                   If (STAT)
                   {
                       Return (STAT)
                   }
               }

               Return (Zero)
           }

           Method (SFSB, 0, NotSerialized)
           {
               RWBK (Zero, 0xD3, Zero, 0x20, TSBF)
               Store (DerefOf (Index (TSBF, 0x0C)), Local0)
               Store (DerefOf (Index (TSBF, 0x05)), Local1)
               Store (And (DerefOf (Index (TSBF, 0x14)), 0x7F), Local2)
               Store (And (DerefOf (Index (TSBF, 0x10)), 0x3F), Local3)
               Store (Multiply (Local3, 0x08), Local4)
               Store (Or (ShiftLeft (And (Local4, 0x06), 0x05), Local3
                   ), Local5)
               Store (And (ShiftRight (Local4, 0x03), 0xFF), Local6)
               Store (ShiftLeft (And (Local4, One), 0x07), Local7)
               Store (Or (Local0, 0x80), Index (TSBF, 0x0C))
               Store (And (Local1, 0xEF), Index (TSBF, 0x05))
               Store (Local5, Index (TSBF, 0x10))
               Store (Local6, Index (TSBF, 0x11))
               Store (Or (Local2, Local7), Index (TSBF, 0x14))
               RWBK (Zero, 0xD2, 0x0C, One, TSBF)
               RWBK (Zero, 0xD2, 0x05, One, TSBF)
               RWBK (Zero, 0xD2, 0x11, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x10, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x14, One, TSBF)
               Sleep (0x14)
               Store (And (DerefOf (Index (TGMN, Zero)), 0x3F), Local3)
               Store (Multiply (Local3, 0x08), Local4)
               Store (Or (ShiftLeft (And (Local4, 0x06), 0x05), Local3
                   ), Local5)
               Store (And (ShiftRight (Local4, 0x03), 0xFF), Local6)
               Store (ShiftLeft (And (Local4, One), 0x07), Local7)
               Store (Or (Local1, 0x10), Index (TSBF, 0x05))
               Store (And (Local0, 0x7F), Index (TSBF, 0x0C))
               RWBK (Zero, 0xD2, 0x05, One, TSBF)
               RWBK (Zero, 0xD2, 0x0C, One, TSBF)
               Store (Local5, Index (TSBF, 0x10))
               Store (Local6, Index (TSBF, 0x11))
               Store (Or (Local2, Local7), Index (TSBF, 0x14))
               RWBK (Zero, 0xD2, 0x10, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x11, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x14, One, TSBF)
               Sleep (0x0A)
               Store (Or (Local0, 0x80), Index (TSBF, 0x0C))
               Store (And (Local1, 0xEF), Index (TSBF, 0x05))
               RWBK (Zero, 0xD2, 0x0C, One, TSBF)
               RWBK (Zero, 0xD2, 0x05, One, TSBF)
               Sleep (0x0A)
               Store (DerefOf (Index (TGMN, Zero)), Index (TSBF, 0x10))
               Store (DerefOf (Index (TGMN, One)), Index (TSBF, 0x11))
               Store (Or (Local2, DerefOf (Index (TGMN, 0x02))), Index (
                   TSBF, 0x14))
               RWBK (Zero, 0xD2, 0x11, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x10, One, TSBF)
               Sleep (0x0A)
               RWBK (Zero, 0xD2, 0x14, One, TSBF)
               Sleep (0x14)
           }

           Name (TGMN, Buffer (0x03)
           {
               0x00, 0x00, 0x00
           })
           Method (CFMN, 2, NotSerialized)
           {
               Store (0x0A, Local2)
               While (LLessEqual (Local2, 0x19))
               {
                   Divide (Multiply (Arg0, Local2), Arg1, Local3)
                   If (LEqual (Local3, Zero))
                   {
                       Store (Divide (Multiply (Arg0, Local2), Arg1, ), Local4)
                       If (LLess (ShiftRight (Local4, 0x03), 0x0100))
                       {
                           Store (Or (ShiftLeft (And (Local4, 0x06), 0x05), Local2
                               ), Index (TGMN, Zero))
                           Store (And (ShiftRight (Local4, 0x03), 0xFF), Index (TGMN,
                               One))
                           Store (ShiftLeft (And (Local4, One), 0x07), Index (TGMN,
                               0x02))
                           Return (Zero)
                       }
                   }

                   Increment (Local2)
               }

               Return (One)
           }

           Name (PWIF, Buffer (0x08)
           {
               /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
           })
           CreateByteField (PWIF, One, PWMX)
           CreateByteField (PWIF, 0x02, PWEN)
           CreateByteField (PWIF, 0x03, PMIN)
           CreateByteField (PWIF, 0x04, PMAX)
           CreateByteField (PWIF, 0x05, PDFT)
           CreateByteField (PWIF, 0x06, PSTP)
           CreateByteField (PWIF, 0x07, PNMD)
           Name (PXIF, Buffer (0x04)
           {
               0x00, 0x00, 0x00, 0x00
           })
           CreateByteField (PXIF, Zero, PXHI)
           CreateByteField (PXIF, One, PXNM)
           CreateByteField (PXIF, 0x02, PXEN)
           CreateByteField (PXIF, 0x03, PXIO)
           Method (VINI, 0, NotSerialized)
           {
               If (DBG)
               {
                   Store ("VINI", Debug)
               }

               Name (LDFT, Zero)
               Store (DerefOf (Index (OBID, Zero)), Local0)
               Store (One, Local1)
               While (Local0)
               {
                   SOID (DerefOf (Index (OBID, Local1)))
                   If (DBG)
                   {
                       Store ("ID", Debug)
                       Store (ID01, Debug)
                       Store (ID02, Debug)
                   }

                   If (LEqual (ID01, 0x02))
                   {
                       If (LEqual (GPIF (ID02), Zero))
                       {
                           If (DBG)
                           {
                               Store ("PWIF", Debug)
                               Store (PWIF, Debug)
                           }

                           If (LEqual (PWEN, One))
                           {
                               PWMR (PWMX)
                               If (LNot (LAnd (PXEN, PXIO)))
                               {
                                   Store (One, LDFT)
                                   Break
                               }
                           }
                       }
                   }

                   Decrement (Local0)
                   Increment (Local1)
               }

               If (DBG)
               {
                   Store ("LDFT", Debug)
                   Store (LDFT, Debug)
               }

               If (LEqual (LDFT, One))
               {
                   DISC ()
                   Store (DerefOf (Index (OBID, Zero)), Local0)
                   Store (One, Local1)
                   While (Local0)
                   {
                       SOID (DerefOf (Index (OBID, Local1)))
                       If (DBG)
                       {
                           Store ("ID", Debug)
                           Store (ID01, Debug)
                           Store (ID02, Debug)
                       }

                       If (LEqual (ID01, 0x02))
                       {
                           If (LEqual (GPIF (ID02), Zero))
                           {
                               If (DBG)
                               {
                                   Store ("PWIF", Debug)
                                   Store (PWIF, Debug)
                               }

                               If (LEqual (PWEN, One))
                               {
                                   FPDV (PWMX)
                                   PWMW (PWMX, PDFT)
                               }

                               If (DBG)
                               {
                                   Store ("PWMR", Debug)
                                   Store (PWMR (PWMX), Debug)
                               }
                           }
                       }

                       Decrement (Local0)
                       Increment (Local1)
                   }
               }

               Store ("PWM Register", Debug)
               Store ("PX EN PXNM PXHI PXIO", Debug)
               Store (One, CLKE)
               Store (P1EN, Debug)
               Store (P1NM, Debug)
               Store (P1HI, Debug)
               Store (P1IO, Debug)
               Store (P2EN, Debug)
               Store (P2NM, Debug)
               Store (P2HI, Debug)
               Store (P2IO, Debug)
               Store (P3EN, Debug)
               Store (P3NM, Debug)
               Store (P3HI, Debug)
               Store (P3IO, Debug)
               Store (P4EN, Debug)
               Store (P4NM, Debug)
               Store (P4HI, Debug)
               Store (P4IO, Debug)
               Store (P5EN, Debug)
               Store (P5NM, Debug)
               Store (P5HI, Debug)
               Store (P5IO, Debug)
               Store (P6EN, Debug)
               Store (P6NM, Debug)
               Store (P6HI, Debug)
               Store (P6IO, Debug)
               Store (Zero, CLKE)
               CNCT ()
           }

           Method (SETV, 2, NotSerialized)
           {
               If (LEqual (DBG, One))
               {
                   Store ("setv", Debug)
               }

               If (LEqual (GPIF (Arg0), Zero))
               {
                   Store (VTR (Arg1), Local0)
                   If (LEqual (DBG, One))
                   {
                       Store (PWIF, Debug)
                       Store ("seted Regiseter", Debug)
                       Store (Local0, Debug)
                   }

                   WTVR (Local0, PWMX, PMAX, PMIN, PDFT, PSTP)
                   If (LEqual (DBG, One))
                   {
                       Store ("read REG", Debug)
                       Store (PWMR (PWMX), Debug)
                   }
               }
           }

           Method (GETV, 1, NotSerialized)
           {
               If (DBG)
               {
                   Store ("getv", Debug)
               }

               If (LEqual (GPIF (Arg0), Zero))
               {
                   If (DBG)
                   {
                       Store ("PWIF", Debug)
                       Store (PWIF, Debug)
                   }

                   Store (PWMR (PWMX), Local0)
                   If (DBG)
                   {
                       Store ("REG value", Debug)
                       Store (Local0, Debug)
                   }

                   Store (RTV (Local0), Local1)
                   If (DBG)
                   {
                       Store ("Voltage value", Debug)
                       Store (Local1, Debug)
                   }

                   Store (Zero, GVB2)
                   Store (Local1, GVB1)
               }
               Else
               {
                   Store (Zero, GVB1)
                   Store (0x04, GVB2)
               }

               Return (GVBF)
           }

           Method (GPIF, 1, NotSerialized)
           {
               Store (Zero, Local1)
               Store (Zero, Local0)
               While (One)
               {
                   If (LEqual (DerefOf (Index (PWMT, Local1)), 0xFF))
                   {
                       Store (0xFF, Local0)
                       Break
                   }

                   If (LEqual (DerefOf (Index (PWMT, Local1)), Arg0))
                   {
                       Store (0x08, Local2)
                       Store (Zero, Local3)
                       While (Local2)
                       {
                           Store (DerefOf (Index (PWMT, Add (Local1, Local3))), Index (
                               PWIF, Local3))
                           Increment (Local3)
                           Decrement (Local2)
                       }

                       Break
                   }

                   Add (Local1, 0x08, Local1)
               }

               If (LEqual (Local0, 0xFF))
               {
                   Return (0xFF)
               }

               Return (Zero)
           }

           Method (WTVR, 6, NotSerialized)
           {
               Name (PTGT, Zero)
               If (LOr (LGreater (Arg0, Arg2), LLess (Arg0, Arg3)))
               {
                   Store (Arg4, PTGT)
               }
               Else
               {
                   Store (Arg0, PTGT)
               }

               Store (PWMR (Arg1), Local0)
               RMPV (PTGT, Local0, Arg5, Arg1)
               Return (Zero)
           }

           Method (PWMR, 1, NotSerialized)
           {
               Store (One, CLKE)
               If (LEqual (Arg0, One))
               {
                   Store (P1HI, Local0)
                   Store (P1HI, PXHI)
                   Store (P1NM, PXNM)
                   Store (P1EN, PXEN)
                   Store (P1IO, PXIO)
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Store (P2HI, Local0)
                       Store (P2HI, PXHI)
                       Store (P2NM, PXNM)
                       Store (P2EN, PXEN)
                       Store (P2IO, PXIO)
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (P3HI, Local0)
                           Store (P3HI, PXHI)
                           Store (P3NM, PXNM)
                           Store (P3EN, PXEN)
                           Store (P3IO, PXIO)
                       }
                       Else
                       {
                           If (LEqual (Arg0, 0x04))
                           {
                               Store (P4HI, Local0)
                               Store (P4HI, PXHI)
                               Store (P4NM, PXNM)
                               Store (P4EN, PXEN)
                               Store (P4IO, PXIO)
                           }
                           Else
                           {
                               If (LEqual (Arg0, 0x05))
                               {
                                   Store (P5HI, Local0)
                                   Store (P5HI, PXHI)
                                   Store (P5NM, PXNM)
                                   Store (P5EN, PXEN)
                                   Store (P5IO, PXIO)
                               }
                               Else
                               {
                                   If (LEqual (Arg0, 0x06))
                                   {
                                       Store (P6HI, Local0)
                                       Store (P6HI, PXHI)
                                       Store (P6NM, PXNM)
                                       Store (P6EN, PXEN)
                                       Store (P6IO, PXIO)
                                   }
                                   Else
                                   {
                                       Store (0x03, Local0)
                                   }
                               }
                           }
                       }
                   }
               }

               Store (Zero, CLKE)
               Return (Local0)
           }

           Method (PWMW, 2, NotSerialized)
           {
               Store (One, CLKE)
               Store (Arg1, Local1)
               If (LEqual (Arg0, One))
               {
                   Store (Local1, P1HI)
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Store (Local1, P2HI)
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (Local1, P3HI)
                           Store (Local1, P3HH)
                       }
                       Else
                       {
                           If (LEqual (Arg0, 0x04))
                           {
                               Store (Local1, P4HI)
                           }
                           Else
                           {
                               If (LEqual (Arg0, 0x05))
                               {
                                   Store (Local1, P5HI)
                               }
                               Else
                               {
                                   If (LEqual (Arg0, 0x06))
                                   {
                                       Store (Local1, P6HI)
                                   }
                               }
                           }
                       }
                   }
               }

               Store (Zero, CLKE)
               Return (Zero)
           }

           Method (FPDV, 1, NotSerialized)
           {
               Store (PNMD, Local2)
               Store (One, CLKE)
               If (LEqual (Arg0, One))
               {
                   Store (Local2, P1NM)
                   Store (One, P1EN)
                   Store (One, P1IO)
               }
               Else
               {
                   If (LEqual (Arg0, 0x02))
                   {
                       Store (Local2, P2NM)
                       Store (One, P2EN)
                       Store (One, P2IO)
                   }
                   Else
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Store (Local2, P3NM)
                           Store (One, P3EN)
                           Store (One, P3IO)
                           Store (One, P3EE)
                       }
                       Else
                       {
                           If (LEqual (Arg0, 0x04))
                           {
                               Store (Local2, P4NM)
                               Store (One, P4EN)
                               Store (One, P4IO)
                           }
                           Else
                           {
                               If (LEqual (Arg0, 0x05))
                               {
                                   Store (Local2, P5NM)
                                   Store (One, P5EN)
                                   Store (One, P5IO)
                               }
                               Else
                               {
                                   If (LEqual (Arg0, 0x06))
                                   {
                                       Store (Local2, P6NM)
                                       Store (One, P6EN)
                                       Store (One, P6IO)
                                   }
                               }
                           }
                       }
                   }
               }

               Store (Zero, CLKE)
           }

           Method (RMPV, 4, NotSerialized)
           {
               Store (Arg0, Local0)
               Store (Arg1, Local1)
               While (One)
               {
                   If (LLess (ABS (Local0, Local1), Arg2))
                   {
                       Break
                   }

                   If (LGreater (Local0, Local1))
                   {
                       Add (Local1, Arg2, Local1)
                   }

                   If (LLess (Local0, Local1))
                   {
                       Subtract (Local1, Arg2, Local1)
                   }

                   PWMW (Arg3, Local1)
                   Sleep (0x64)
               }

               If (LNotEqual (Local0, Local1))
               {
                   PWMW (Arg3, Local0)
               }

               Sleep (0x02)
           }

           Name (A283, 0x3C)
           Name (SMBC, One)
           Method (S283, 2, NotSerialized)
           {
               ShiftLeft (Arg0, 0x04, Local0)
               Store (Arg1, SMBV)
               RWSM (SMBC, A283, Local0, SMBV)
               Add (ShiftLeft (Arg0, 0x04), One, Local0)
               Store (One, SMBV)
               RWSM (SMBC, A283, Local0, SMBV)
               Add (ShiftLeft (Arg0, 0x04), 0x02, Local0)
               Store (Add (A283, One), Local2)
               RWSM (SMBC, Local2, Local0, SMBV)
               Or (DerefOf (Index (SMBV, Zero)), One, Local1)
               Store (Local1, Index (SMBV, Zero))
               ShiftLeft (Arg0, 0x04, Local0)
               Add (Local0, 0x02, Local0)
               RWSM (SMBC, A283, Local0, SMBV)
               Store (0x40, Local0)
               Store (Add (A283, One), Local2)
               RWSM (SMBC, Local2, Local0, SMBV)
               Store (One, Local0)
               ShiftLeft (Local0, Arg0, Local0)
               Or (DerefOf (Index (SMBV, Zero)), Local0, Local1)
               Store (Local1, Index (SMBV, Zero))
               Store (0x40, Local0)
               RWSM (SMBC, A283, Local0, SMBV)
           }

           Name (GF01, Zero)
           Name (OVFL, One)
           Name (OCFL, One)
           Name (TSBF, Buffer (0x20)
           {
               /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
               /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
               /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
               /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
           })
           Name (GVBF, Buffer (0x05)
           {
               0x00, 0x00, 0x00, 0x00, 0x00
           })
           CreateDWordField (GVBF, Zero, GVB1)
           CreateByteField (GVBF, 0x04, GVB2)
           Method (AM01, 0, NotSerialized)
           {
               If (DBG)
               {
                   Store ("AM01", Debug)
               }

               If (LNot (GF01))
               {
                   BM01 ()
                   If (OCFL)
                   {
                       CINI ()
                   }

                   If (OVFL)
                   {
                       VINI ()
                   }

                   XINI ()
                   EM01 ()
                   Store (One, GF01)
               }

               Return (Zero)
           }

           Method (AM02, 0, NotSerialized)
           {
               If (DBG)
               {
                   Store ("AM02", Debug)
                   Store (OBID, Debug)
               }

               Return (OBID)
           }

           Method (AM03, 1, NotSerialized)
           {
               If (DBG)
               {
                   Store ("AM03", Debug)
               }

               SOID (Arg0)
               If (LAnd (LEqual (ID01, One), OCFL))
               {
                   Store (GETC (ID02), Local0)
               }
               Else
               {
                   If (LAnd (LEqual (ID01, 0x02), OVFL))
                   {
                       Store (GETV (ID02), Local0)
                   }
                   Else
                   {
                       Store (Zero, GVB1)
                       Store (0x04, GVB2)
                       Store (GVBF, Local0)
                   }
               }

               If (DBG)
               {
                   Store ("GVBF", Debug)
                   Store (Local0, Debug)
               }

               Return (Local0)
           }

           Method (AM04, 2, NotSerialized)
           {
               If (DBG)
               {
                   Store ("AM04", Debug)
               }

               SOID (Arg0)
               If (LAnd (LEqual (ID01, One), OCFL))
               {
                   SETC (ID02, Arg1)
               }
               Else
               {
                   If (LAnd (LEqual (ID01, 0x02), OVFL))
                   {
                       SETV (ID02, Arg1)
                   }
                   Else
                   {
                       Return (0x04)
                   }
               }

               Return (Zero)
           }

           Method (AM05, 1, NotSerialized)
           {
               Name (INFO, Buffer (0x14)
               {
                   /* 0000 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                   /* 0010 */    0x00, 0x00, 0x00, 0x00
               })
               CreateDWordField (INFO, Zero, IFID)
               CreateDWordField (INFO, 0x04, IFMI)
               CreateDWordField (INFO, 0x08, IFMX)
               CreateDWordField (INFO, 0x0C, IFSP)
               CreateField (INFO, 0x80, 0x03, IFST)
               If (DBG)
               {
                   Store ("AM05", Debug)
                   Store (OBIT, Debug)
               }

               SOID (Arg0)
               If (DBG)
               {
                   Store ("ID", Debug)
                   Store (ID01, Debug)
                   Store (ID02, Debug)
               }

               BM05 (Arg0)
               If (DBG)
               {
                   Store ("OBIT", Debug)
                   Store (OBIT, Debug)
               }

               CPTB (Arg0, INFO)
               EM05 (Arg0)
               If (DBG)
               {
                   Store ("info", Debug)
                   Store (INFO, Debug)
               }

               Return (INFO)
           }

           Method (AM06, 0, NotSerialized)
           {
               HM06 ()
               Return (Zero)
           }

           Method (AM07, 1, NotSerialized)
           {
               HM07 (Arg0)
               Return (Zero)
           }

           Method (AM08, 1, NotSerialized)
           {
               Name (LODT, Package (0x34)
               {
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero,
                   Zero
               })
               Store (Zero, Local0)
               While (One)
               {
                   If (LEqual (DerefOf (Index (OBDT, Local0)), Arg0))
                   {
                       Store (Zero, Local4)
                       Break
                   }

                   If (LEqual (DerefOf (Index (OBDT, Local0)), Zero))
                   {
                       Store (0x04, Local4)
                       Break
                   }

                   Add (Local0, DerefOf (Index (OBDT, Add (Local0, One))),
                       Local0)
                   Add (Local0, 0x02, Local0)
               }

               If (Local4) {}
               Else
               {
                   Store (DerefOf (Index (OBDT, Add (Local0, One))), Local1)
                   Add (Local1, 0x02, Local1)
                   Store (Zero, Local2)
                   While (Local1)
                   {
                       Store (DerefOf (Index (OBDT, Local0)), Index (LODT, Local2))
                       Decrement (Local1)
                       Increment (Local0)
                       Increment (Local2)
                   }
               }

               Return (LODT)
           }

           Name (OBSV, Package (0x09)
           {
               Zero,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero,
               Zero
           })
           Method (APTS, 1, NotSerialized)
           {
               If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
               {
                   Store (DerefOf (Index (OBID, Zero)), Local0)
                   Store (One, Local1)
                   Store (Zero, Local2)
                   While (Local0)
                   {
                       SOID (DerefOf (Index (OBID, Local1)))
                       If (LAnd (LEqual (ID01, One), OCFL))
                       {
                           GETC (ID02)
                           Store (GVB1, Local3)
                       }
                       Else
                       {
                           If (LAnd (LEqual (ID01, 0x02), OVFL))
                           {
                               GETV (ID02)
                               Store (GVB1, Local3)
                           }
                           Else
                           {
                               Store (Zero, Local3)
                           }
                       }

                       Store (Local3, Index (OBSV, Local2))
                       Decrement (Local0)
                       Increment (Local1)
                       Increment (Local2)
                   }
               }
           }

           Method (AWAK, 1, NotSerialized)
           {
               If (LAnd (GF01, LOr (LEqual (Arg0, 0x04), LEqual (Arg0, 0x03))))
               {
                   Store (DerefOf (Index (OBID, Zero)), Local0)
                   Store (One, Local1)
                   Store (Zero, Local2)
                   While (Local0)
                   {
                       Store (DerefOf (Index (OBSV, Local2)), Local3)
                       SOID (DerefOf (Index (OBID, Local1)))
                       If (LAnd (LEqual (ID01, One), OCFL))
                       {
                           SETC (ID02, Local3)
                       }
                       Else
                       {
                           If (LAnd (LEqual (ID01, 0x02), OVFL))
                           {
                               SETV (ID02, Local3)
                           }
                           Else
                           {
                           }
                       }

                       Decrement (Local0)
                       Increment (Local1)
                       Increment (Local2)
                   }
               }
           }

           Name (CMDV, Zero)
           Method (AM09, 0, NotSerialized)
           {
               Return (CMDV)
           }

           Name (OBUF, Buffer (0x0200) {})
           Method (AM10, 1, NotSerialized)
           {
               CreateDWordField (Arg0, Zero, ACMD)
               CreateField (OBUF, Zero, 0x1000, TEMP)
               Store (Zero, TEMP)
               Store (OBUF, Debug)
               If (LEqual (ACMD, 0x00030001))
               {
                   R301 ()
               }
               Else
               {
                   If (LEqual (ACMD, 0x00030002))
                   {
                       R302 (Arg0)
                   }
                   Else
                   {
                       If (LEqual (ACMD, 0x00030003))
                       {
                           R303 (Arg0)
                       }
                       Else
                       {
                           If (LEqual (ACMD, 0x00030004))
                           {
                               R304 (Arg0)
                           }
                           Else
                           {
                               If (LEqual (ACMD, 0x00040001))
                               {
                                   R401 (Arg0)
                               }
                               Else
                               {
                                   If (LEqual (ACMD, 0x00040002))
                                   {
                                       R402 (Arg0)
                                   }
                                   Else
                                   {
                                       CreateDWordField (OBUF, Zero, CMDS)
                                       Store (0x00010000, CMDS)
                                   }
                               }
                           }
                       }
                   }
               }

               Store (OBUF, Debug)
               Return (OBUF)
           }

           Name (CMDL, Buffer (0x54) {})
           Method (AM11, 0, NotSerialized)
           {
               Name (TEMP, Zero)
               CreateDWordField (CMDL, Zero, CMDC)
               Add (TEMP, 0x04, TEMP)
               If (ACSS)
               {
                   CreateDWordField (CMDL, TEMP, CMD1)
                   Add (TEMP, 0x04, TEMP)
                   Store (0x00030001, CMD1)
                   CreateDWordField (CMDL, TEMP, CMD2)
                   Add (TEMP, 0x04, TEMP)
                   Store (0x00030002, CMD2)
                   CreateDWordField (CMDL, TEMP, CMD3)
                   Add (TEMP, 0x04, TEMP)
                   Store (0x00030003, CMD3)
                   CreateDWordField (CMDL, TEMP, CMD4)
                   Add (TEMP, 0x04, TEMP)
                   Store (0x00030004, CMD4)
               }

               CreateDWordField (CMDL, TEMP, CMD5)
               Add (TEMP, 0x04, TEMP)
               Store (0x00040001, CMD5)
               CreateDWordField (CMDL, TEMP, CMD6)
               Add (TEMP, 0x04, TEMP)
               Store (0x00040002, CMD6)
               Subtract (TEMP, 0x04, TEMP)
               Divide (TEMP, 0x04, , TEMP)
               Store (TEMP, CMDC)
               Return (CMDL)
           }

           If (ACSS)
           {
               Method (R301, 0, NotSerialized)
               {
                   Store (DerefOf (Index (QLST, Zero)), Local0)
                   CreateDWordField (OBUF, Zero, TMP1)
                   CreateWordField (OBUF, 0x04, TMP2)
                   Store (Local0, TMP2)
                   Store (Zero, TMP1)
                   Return (Zero)
               }

               Method (R302, 1, NotSerialized)
               {
                   Name (CIDX, Zero)
                   CreateWordField (Arg0, 0x04, IIDX)
                   Store (One, CIDX)
                   Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)),
                       Local0)
                   Increment (CIDX)
                   Store (0x20, Local1)
                   CreateField (OBUF, Local1, 0x0100, TMP1)
                   Store (Local0, TMP1)
                   Add (Local1, 0x0100, Local1)
                   Store ("OBUF", Debug)
                   Store (OBUF, Debug)
                   Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)),
                       Local0)
                   Increment (CIDX)
                   CreateField (OBUF, Local1, 0x08, TMP2)
                   Store (Local0, TMP2)
                   Store ("OBUF", Debug)
                   Store (OBUF, Debug)
                   Add (Local1, 0x08, Local1)
                   Store (Local0, Local2)
                   Divide (Local1, 0x08, , Local5)
                   Store ("local5", Debug)
                   Store (Local5, Debug)
                   While (LGreater (Local2, Zero))
                   {
                       Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)),
                           Local0)
                       Store ("IIDX", Debug)
                       Store (IIDX, Debug)
                       Store ("CIDX", Debug)
                       Store (CIDX, Debug)
                       Store ("Local0", Debug)
                       Store (Local0, Debug)
                       Store (0x05, Local4)
                       Store (Zero, Local6)
                       While (LGreater (Local4, Zero))
                       {
                           If (LLess (Local6, SizeOf (Local0)))
                           {
                               Store (DerefOf (Index (Local0, Local6)), Index (OBUF, Local5))
                           }
                           Else
                           {
                               Store (Zero, Index (OBUF, Local5))
                           }

                           Increment (Local6)
                           Increment (Local5)
                           Decrement (Local4)
                       }

                       Add (Local1, 0x28, Local1)
                       Decrement (Local2)
                       Increment (CIDX)
                   }

                   Store ("OBUF", Debug)
                   Store (OBUF, Debug)
                   Store (0x0378, Local1)
                   Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)),
                       Local0)
                   Increment (CIDX)
                   CreateField (OBUF, Local1, 0x08, TMP3)
                   Store (Local0, TMP3)
                   Store ("OBUF", Debug)
                   Store (OBUF, Debug)
                   Add (Local1, 0x08, Local1)
                   Store (Local0, Local2)
                   Divide (Local1, 0x08, , Local5)
                   Store ("local5", Debug)
                   Store (Local5, Debug)
                   While (LGreater (Local2, Zero))
                   {
                       Store (DerefOf (Index (DerefOf (Index (QLST, IIDX)), CIDX)),
                           Local0)
                       Store (0x14, Local4)
                       Store (Zero, Local6)
                       While (LGreater (Local4, Zero))
                       {
                           If (LLess (Local6, SizeOf (Local0)))
                           {
                               Store (DerefOf (Index (Local0, Local6)), Index (OBUF, Local5))
                           }
                           Else
                           {
                               Store (Zero, Index (OBUF, Local5))
                           }

                           Increment (Local6)
                           Increment (Local5)
                           Decrement (Local4)
                       }

                       Add (Local1, 0x80)
                       Decrement (Local2)
                       Increment (CIDX)
                   }

                   Store ("OBUF", Debug)
                   Store (OBUF, Debug)
                   CreateDWordField (OBUF, Zero, TMP4)
                   Store (Zero, TMP4)
                   Return (Zero)
               }

               Method (R303, 1, NotSerialized)
               {
                   CreateWordField (Arg0, 0x04, IITM)
                   CreateDWordField (OBUF, Zero, TMP1)
                   CreateWordField (OBUF, 0x04, TMP2)
                   Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)),
                       Local0)
                   Store (GCMS (Local0), Local1)
                   CreateDWordField (Local1, Zero, TMP3)
                   CreateWordField (Local1, 0x04, TMP4)
                   Store (TMP3, TMP1)
                   Store (TMP4, TMP2)
                   Return (Zero)
               }

               Method (R304, 1, NotSerialized)
               {
                   CreateWordField (Arg0, 0x04, IITM)
                   CreateWordField (Arg0, 0x06, CMSD)
                   CreateDWordField (OBUF, Zero, TMP1)
                   Store (DerefOf (Index (DerefOf (Index (QLST, IITM)), Zero)),
                       Local0)
                   Store (SCMS (Local0, CMSD), TMP1)
                   Return (Zero)
               }

               OperationRegion (AODT, SystemMemory, 0x000EFB83, 0x0100)
               Field (AODT, AnyAcc, NoLock, Preserve)
               {
                   ASCD,   16,
                   ASTS,   32,
                           Offset (0x08),
                   ASBF,   960,
                   GFXO,   1,
                   GMOD,   2
               }

               OperationRegion (SMIX, SystemIO, SMIP, One)
               Field (SMIX, ByteAcc, NoLock, Preserve)
               {
                   SMIC,   8
               }

               Name (EXBF, Buffer (0x78) {})
               Method (GCMS, 1, NotSerialized)
               {
                   Name (TEMP, Buffer (0x06) {})
                   CreateDWordField (TEMP, Zero, TMP1)
                   CreateWordField (TEMP, 0x04, TMP2)
                   Store (One, ASCD)
                   CreateWordField (EXBF, Zero, CMSI)
                   CreateWordField (EXBF, 0x02, CMSD)
                   Store (Zero, EXBF)
                   Store (Arg0, CMSI)
                   Store (EXBF, ASBF)
                   Store (AODS, SMIC)
                   Store (ASBF, EXBF)
                   Store (ASTS, TMP1)
                   Store (CMSD, TMP2)
                   Return (TEMP)
               }

               Method (SCMS, 2, NotSerialized)
               {
                   Store (0x02, ASCD)
                   CreateWordField (EXBF, Zero, CMSI)
                   CreateWordField (EXBF, 0x02, CMSD)
                   Store (Zero, EXBF)
                   Store (Arg0, CMSI)
                   Store (Arg1, CMSD)
                   Store (EXBF, ASBF)
                   Store (AODS, SMIC)
                   Store (ASBF, EXBF)
                   Return (ASTS)
               }
           }

           Name (VEND, Buffer (0x05)
           {
               "ASUS"
           })
           Method (R401, 1, NotSerialized)
           {
               CreateField (OBUF, 0x20, 0x0200, TMP2)
               Store (VEND, TMP2)
               Return (Zero)
           }

           Method (R402, 1, NotSerialized)
           {
               CreateField (OBUF, 0x20, 0x08, TMP1)
               CreateField (OBUF, 0x28, 0x08, TMP2)
               Store (GMOD, TMP1)
               Store (GFXO, TMP2)
               Return (Zero)
           }

           Name (WQBA, Buffer (0x0BBB)
           {
               /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
               /* 0008 */    0xAB, 0x0B, 0x00, 0x00, 0x20, 0x4A, 0x00, 0x00,
               /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
               /* 0018 */    0x28, 0x5B, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42,
               /* 0020 */    0x10, 0x15, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
               /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
               /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08,
               /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E,
               /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04,
               /* 0048 */    0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02,
               /* 0050 */    0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD,
               /* 0058 */    0x02, 0xA4, 0xC3, 0x92, 0xAD, 0x08, 0x1C, 0x21,
               /* 0060 */    0x06, 0x1C, 0xA5, 0x13, 0x5B, 0xB8, 0x61, 0x83,
               /* 0068 */    0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9,
               /* 0070 */    0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4,
               /* 0078 */    0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B,
               /* 0080 */    0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39,
               /* 0088 */    0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF,
               /* 0090 */    0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78,
               /* 0098 */    0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86,
               /* 00A0 */    0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x1E, 0x47, 0x03,
               /* 00A8 */    0x08, 0x93, 0x3F, 0x64, 0x05, 0x80, 0x41, 0x49,
               /* 00B0 */    0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9,
               /* 00B8 */    0x80, 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A,
               /* 00C0 */    0xBF, 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04,
               /* 00C8 */    0x46, 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42,
               /* 00D0 */    0x8D, 0xD1, 0x1C, 0x14, 0x09, 0x37, 0x68, 0xB4,
               /* 00D8 */    0x44, 0x58, 0x8D, 0x2B, 0xF6, 0x99, 0x59, 0xF8,
               /* 00E0 */    0xB0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xB0, 0x16,
               /* 00E8 */    0x0D, 0x23, 0xB4, 0x82, 0xE0, 0x34, 0x88, 0xA3,
               /* 00F0 */    0x88, 0x12, 0x86, 0xE1, 0x19, 0x33, 0xD0, 0x51,
               /* 00F8 */    0x32, 0xA4, 0x30, 0x41, 0x4F, 0x20, 0xC8, 0xC9,
               /* 0100 */    0x33, 0x2C, 0x43, 0x9C, 0x01, 0xC7, 0x8A, 0x11,
               /* 0108 */    0x2A, 0x24, 0x66, 0x20, 0xC1, 0xFF, 0xFF, 0x27,
               /* 0110 */    0xD0, 0x35, 0x86, 0x3C, 0x03, 0x91, 0x7B, 0xC0,
               /* 0118 */    0x09, 0x04, 0x89, 0x1E, 0x25, 0xB8, 0x71, 0x8D,
               /* 0120 */    0xCA, 0xC6, 0x74, 0x36, 0xB8, 0x81, 0x99, 0x20,
               /* 0128 */    0xCE, 0xE1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xF1,
               /* 0130 */    0x63, 0x87, 0x4F, 0x60, 0xF7, 0xC7, 0x01, 0x29,
               /* 0138 */    0x44, 0xD0, 0x85, 0xE0, 0x4C, 0x6B, 0x14, 0x60,
               /* 0140 */    0xED, 0xEC, 0x20, 0x5B, 0x10, 0x3A, 0x0B, 0xC4,
               /* 0148 */    0x6A, 0x0C, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31,
               /* 0150 */    0x5E, 0x84, 0x50, 0x21, 0xA2, 0x44, 0x3D, 0xE7,
               /* 0158 */    0x20, 0xB5, 0x09, 0x50, 0x06, 0x22, 0xB4, 0x60,
               /* 0160 */    0x46, 0x60, 0xF6, 0x07, 0x41, 0x24, 0x58, 0x80,
               /* 0168 */    0xF8, 0x23, 0xB0, 0x84, 0x13, 0x81, 0x8C, 0x8C,
               /* 0170 */    0x86, 0x1E, 0x16, 0x7C, 0x12, 0x60, 0x07, 0x04,
               /* 0178 */    0xCF, 0xE7, 0xD4, 0x4C, 0xE0, 0xC0, 0x10, 0xE2,
               /* 0180 */    0x95, 0x00, 0x51, 0x47, 0x0B, 0x4A, 0x60, 0x29,
               /* 0188 */    0x47, 0x03, 0x62, 0x7B, 0x60, 0xBA, 0x07, 0x1C,
               /* 0190 */    0xE1, 0xB9, 0xFB, 0x72, 0x70, 0x6A, 0xFE, 0x69,
               /* 0198 */    0x78, 0x9A, 0x0F, 0x09, 0x98, 0x21, 0x7A, 0xAC,
               /* 01A0 */    0x07, 0x11, 0xF0, 0x10, 0xD9, 0x29, 0xC1, 0x80,
               /* 01A8 */    0x78, 0xEF, 0xD7, 0x02, 0x32, 0x82, 0x97, 0x04,
               /* 01B0 */    0x03, 0x7A, 0x12, 0x0F, 0x08, 0x60, 0x39, 0x68,
               /* 01B8 */    0x1C, 0xF8, 0x09, 0x55, 0x7C, 0x07, 0xA0, 0x47,
               /* 01C0 */    0x02, 0x36, 0xA3, 0xF8, 0x26, 0x28, 0xEB, 0xF8,
               /* 01C8 */    0x80, 0x9E, 0x73, 0xB4, 0x67, 0x87, 0x97, 0x85,
               /* 01D0 */    0x66, 0xAF, 0x18, 0x84, 0xE0, 0x35, 0xC0, 0x37,
               /* 01D8 */    0x05, 0x9F, 0x46, 0x2C, 0x69, 0x75, 0x72, 0xB2,
               /* 01E0 */    0x2A, 0x8F, 0x98, 0x82, 0x7B, 0x08, 0x5C, 0x04,
               /* 01E8 */    0x9C, 0x86, 0xEE, 0xF1, 0x82, 0x43, 0xC1, 0x78,
               /* 01F0 */    0xE9, 0xFF, 0x7F, 0xBC, 0xE0, 0x3E, 0x0F, 0x1C,
               /* 01F8 */    0x2F, 0x58, 0x4E, 0x09, 0x55, 0x5D, 0x36, 0x34,
               /* 0200 */    0x87, 0xF3, 0x6D, 0x1E, 0x9F, 0x1C, 0x2D, 0x3C,
               /* 0208 */    0x61, 0x36, 0x96, 0xA3, 0x62, 0xC7, 0x10, 0x36,
               /* 0210 */    0x3A, 0x3E, 0x0A, 0x0F, 0xF8, 0xB5, 0xA1, 0x58,
               /* 0218 */    0x10, 0x99, 0x80, 0xD0, 0x91, 0xE1, 0xC0, 0xC1,
               /* 0220 */    0xE2, 0xEC, 0x00, 0x21, 0x02, 0x0B, 0x1B, 0x39,
               /* 0228 */    0x7A, 0xC4, 0x1E, 0xD4, 0x3B, 0x8C, 0x31, 0x1E,
               /* 0230 */    0x08, 0x8C, 0x7A, 0x48, 0x07, 0x0F, 0x3E, 0x40,
               /* 0238 */    0x0F, 0x1E, 0x70, 0xFA, 0xFF, 0x27, 0xB0, 0xA0,
               /* 0240 */    0x21, 0x4B, 0xC4, 0xE0, 0xD1, 0xA7, 0x08, 0x0F,
               /* 0248 */    0xE7, 0xDD, 0x87, 0x1F, 0x44, 0x12, 0x38, 0x3C,
               /* 0250 */    0x84, 0x06, 0x0F, 0x9E, 0xB3, 0x8F, 0x07, 0x0F,
               /* 0258 */    0x7E, 0x79, 0x83, 0x07, 0xD1, 0x14, 0x8E, 0x0D,
               /* 0260 */    0x77, 0xB0, 0xF1, 0xC0, 0xC1, 0x3D, 0x5C, 0xFC,
               /* 0268 */    0x90, 0x70, 0x67, 0x2D, 0x78, 0x3E, 0x27, 0x4F,
               /* 0270 */    0x06, 0xF0, 0x12, 0x84, 0x3B, 0x6C, 0x01, 0x97,
               /* 0278 */    0x11, 0x70, 0x99, 0xAB, 0xA4, 0x87, 0x2A, 0x0B,
               /* 0280 */    0x83, 0x41, 0x9D, 0xAB, 0xC0, 0xFB, 0xFF, 0x3F,
               /* 0288 */    0x57, 0x01, 0xF6, 0x2F, 0x53, 0xEF, 0x53, 0x3E,
               /* 0290 */    0x57, 0x81, 0x3B, 0xDA, 0x79, 0x40, 0xE7, 0x16,
               /* 0298 */    0x72, 0x9A, 0x41, 0x1F, 0x0A, 0x7C, 0x06, 0x78,
               /* 02A0 */    0x92, 0x01, 0xDB, 0xA1, 0x0A, 0x38, 0x9C, 0x64,
               /* 02A8 */    0xC0, 0x73, 0x2B, 0x7B, 0x92, 0x61, 0xFF, 0xFF,
               /* 02B0 */    0x93, 0x0C, 0x38, 0x0F, 0x62, 0x3E, 0xC9, 0x80,
               /* 02B8 */    0xEF, 0xE8, 0x85, 0x3B, 0x81, 0xC0, 0xF3, 0x38,
               /* 02C0 */    0x24, 0x21, 0x1F, 0x42, 0xF0, 0x43, 0x3A, 0xA6,
               /* 02C8 */    0x67, 0x10, 0x60, 0x28, 0xE4, 0x65, 0xE0, 0x03,
               /* 02D0 */    0x08, 0x8D, 0x7E, 0x06, 0x01, 0xB4, 0xFF, 0xFF,
               /* 02D8 */    0xCF, 0x20, 0xC0, 0xE5, 0xAC, 0xF0, 0x0C, 0x02,
               /* 02E0 */    0x76, 0xF1, 0xAF, 0x3A, 0x9D, 0x07, 0x1C, 0x1C,
               /* 02E8 */    0x42, 0x4E, 0x8E, 0x8A, 0xA8, 0xE1, 0x58, 0xEB,
               /* 02F0 */    0x41, 0x80, 0x8C, 0xE7, 0x45, 0xC0, 0x41, 0x4F,
               /* 02F8 */    0x8A, 0x40, 0xF7, 0xAC, 0x81, 0x3B, 0x1F, 0xC0,
               /* 0300 */    0x3D, 0x12, 0xF2, 0x73, 0x07, 0xF8, 0xA2, 0x43,
               /* 0308 */    0xE8, 0x98, 0x89, 0x3F, 0x51, 0x79, 0x88, 0x3E,
               /* 0310 */    0x1B, 0x98, 0xC0, 0xA3, 0x05, 0xD7, 0x39, 0x11,
               /* 0318 */    0x5C, 0xFF, 0xFF, 0xD1, 0xC2, 0x3B, 0x69, 0xE0,
               /* 0320 */    0x46, 0x0B, 0xF7, 0x00, 0xFC, 0x58, 0x80, 0x39,
               /* 0328 */    0x62, 0x82, 0xEB, 0xD0, 0x02, 0xA6, 0xEB, 0x02,
               /* 0330 */    0xE6, 0xD2, 0x82, 0x3F, 0xB4, 0x00, 0x1F, 0xA1,
               /* 0338 */    0x27, 0x16, 0x94, 0xB4, 0x43, 0x0B, 0xA0, 0xF9,
               /* 0340 */    0xFF, 0x7F, 0x68, 0x01, 0x6E, 0x73, 0x7D, 0x68,
               /* 0348 */    0x01, 0x7B, 0xB8, 0x73, 0x18, 0x95, 0x73, 0x0E,
               /* 0350 */    0x83, 0x76, 0x68, 0xF6, 0x39, 0x0C, 0xB8, 0x1E,
               /* 0358 */    0x26, 0xF0, 0x87, 0x4A, 0xB8, 0xB3, 0x88, 0x1F,
               /* 0360 */    0x27, 0xDA, 0x5B, 0x80, 0xCF, 0xA7, 0xC0, 0xED,
               /* 0368 */    0xB0, 0x86, 0x3B, 0x82, 0xC0, 0xBB, 0x14, 0x9C,
               /* 0370 */    0x96, 0xA7, 0xF6, 0xD4, 0x7F, 0x70, 0x8D, 0x5F,
               /* 0378 */    0x41, 0xC8, 0x3D, 0xC6, 0x77, 0x10, 0xF6, 0xFF,
               /* 0380 */    0x3F, 0x88, 0x01, 0x37, 0x19, 0x07, 0x31, 0x54,
               /* 0388 */    0xF0, 0x43, 0x08, 0x40, 0xA1, 0xCB, 0xC2, 0x43,
               /* 0390 */    0x08, 0xD8, 0xA5, 0x1F, 0xC4, 0x68, 0xEC, 0x83,
               /* 0398 */    0x18, 0xEA, 0xFF, 0x7F, 0x82, 0xC7, 0x9F, 0xC3,
               /* 03A0 */    0x00, 0xA7, 0x67, 0x38, 0xB8, 0x51, 0x8F, 0x61,
               /* 03A8 */    0x80, 0xA2, 0xB3, 0x28, 0x70, 0x82, 0x78, 0x0E,
               /* 03B0 */    0x63, 0xFF, 0xFF, 0x73, 0x18, 0xF0, 0x14, 0xFC,
               /* 03B8 */    0x12, 0xF0, 0x81, 0x85, 0x4A, 0x84, 0x41, 0x9D,
               /* 03C0 */    0x59, 0x00, 0xDE, 0x1C, 0x90, 0x9F, 0x59, 0xC0,
               /* 03C8 */    0x1E, 0xF2, 0xAD, 0xA1, 0x1F, 0x81, 0xFF, 0xFF,
               /* 03D0 */    0x67, 0x16, 0xC0, 0xF5, 0x99, 0xDC, 0x63, 0xC5,
               /* 03D8 */    0x1D, 0x22, 0xD8, 0x48, 0x42, 0xBE, 0x0A, 0xBC,
               /* 03E0 */    0x15, 0x98, 0xC0, 0x91, 0x0F, 0x2D, 0x40, 0xF7,
               /* 03E8 */    0x6C, 0x82, 0x1B, 0x2D, 0xDC, 0xE3, 0xC8, 0x39,
               /* 03F0 */    0x9E, 0xD0, 0xBB, 0xF9, 0xEB, 0x03, 0x3B, 0x4D,
               /* 03F8 */    0xB0, 0x21, 0x83, 0x57, 0xDE, 0x21, 0x10, 0xF5,
               /* 0400 */    0xFF, 0x1F, 0xB2, 0x0F, 0x24, 0x9E, 0xC2, 0xCB,
               /* 0408 */    0x0C, 0x66, 0x26, 0x31, 0x0E, 0x24, 0xC2, 0xB1,
               /* 0410 */    0x78, 0x78, 0xE4, 0x28, 0x08, 0xAA, 0x33, 0x3F,
               /* 0418 */    0x19, 0x35, 0xE8, 0x67, 0xF7, 0x84, 0x0F, 0x9E,
               /* 0420 */    0xE9, 0xBE, 0xE1, 0x83, 0xE1, 0x30, 0x08, 0x73,
               /* 0428 */    0xCE, 0x1E, 0x3F, 0xF8, 0x8E, 0x3D, 0xB8, 0x73,
               /* 0430 */    0x10, 0xBC, 0xEB, 0x8A, 0x91, 0x4F, 0xE8, 0x25,
               /* 0438 */    0x00, 0x73, 0x6B, 0xC1, 0x9E, 0x05, 0x81, 0x93,
               /* 0440 */    0xAC, 0x83, 0x20, 0x4A, 0xC8, 0x59, 0x10, 0x54,
               /* 0448 */    0xFF, 0xFF, 0x83, 0x10, 0xC0, 0x04, 0x6F, 0xF7,
               /* 0450 */    0x20, 0x5D, 0x83, 0x7C, 0x1B, 0x78, 0x1A, 0x78,
               /* 0458 */    0xF8, 0x89, 0xF2, 0x20, 0xE4, 0x8B, 0xC4, 0x0B,
               /* 0460 */    0x41, 0x84, 0x28, 0xC7, 0x7B, 0x02, 0x11, 0x9E,
               /* 0468 */    0x86, 0x3C, 0xE1, 0x30, 0xE1, 0x4E, 0x36, 0xCA,
               /* 0470 */    0x4B, 0x43, 0x18, 0x43, 0xC7, 0x0A, 0x14, 0x39,
               /* 0478 */    0x7E, 0x08, 0x1F, 0x85, 0x7C, 0x10, 0x62, 0x51,
               /* 0480 */    0xCE, 0xB7, 0xF4, 0xFC, 0x61, 0x23, 0x67, 0x11,
               /* 0488 */    0xD4, 0x49, 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09,
               /* 0490 */    0x01, 0x13, 0x1A, 0x42, 0x47, 0x5C, 0xE0, 0x7A,
               /* 0498 */    0xDA, 0xC0, 0xFD, 0xFF, 0x8F, 0x42, 0xE0, 0x38,
               /* 04A0 */    0x80, 0xC0, 0x7B, 0xF0, 0xF8, 0xB4, 0x0E, 0x2E,
               /* 04A8 */    0x08, 0x9F, 0x3F, 0xE0, 0xFB, 0x44, 0x16, 0xEE,
               /* 04B0 */    0x5B, 0xC0, 0x0B, 0x0D, 0xEE, 0xEC, 0x01, 0x7C,
               /* 04B8 */    0xE4, 0x1E, 0x6B, 0x51, 0x02, 0x61, 0x50, 0x67,
               /* 04C0 */    0x0F, 0xC0, 0xF9, 0xFF, 0xFF, 0xEC, 0x01, 0xD6,
               /* 04C8 */    0x81, 0x3E, 0x7A, 0x1C, 0xE8, 0x31, 0x06, 0x89,
               /* 04D0 */    0x11, 0xC4, 0x77, 0x0E, 0x1F, 0x7C, 0xE2, 0xBC,
               /* 04D8 */    0x11, 0x3C, 0x7B, 0xF8, 0xC8, 0x71, 0x5C, 0x3E,
               /* 04E0 */    0x80, 0xF8, 0xEC, 0xE1, 0x2B, 0x88, 0xF1, 0xC2,
               /* 04E8 */    0xC4, 0x7C, 0x38, 0xF2, 0x35, 0x21, 0x5E, 0xE4,
               /* 04F0 */    0xB0, 0x61, 0x22, 0xFB, 0xEC, 0xC1, 0x22, 0x1E,
               /* 04F8 */    0x6B, 0xA9, 0x94, 0x83, 0x19, 0xFA, 0x4C, 0xE0,
               /* 0500 */    0x5B, 0xC2, 0x99, 0xBD, 0x71, 0x44, 0x38, 0xAE,
               /* 0508 */    0x93, 0x3B, 0x9F, 0x38, 0x1E, 0xD2, 0x49, 0xFB,
               /* 0510 */    0x6C, 0x06, 0xBE, 0xE3, 0x07, 0x70, 0x38, 0x9B,
               /* 0518 */    0x81, 0x67, 0x74, 0x70, 0x0F, 0x53, 0xE0, 0x93,
               /* 0520 */    0x75, 0x36, 0x43, 0x0F, 0xCB, 0xE7, 0x82, 0x57,
               /* 0528 */    0x07, 0x0F, 0x82, 0x9D, 0xCB, 0xC0, 0x75, 0xB8,
               /* 0530 */    0x83, 0xF3, 0xFF, 0x3F, 0x97, 0x01, 0xAF, 0x73,
               /* 0538 */    0xC7, 0x91, 0xB1, 0x53, 0x05, 0x47, 0x3C, 0xA8,
               /* 0540 */    0x33, 0x79, 0x77, 0x39, 0x6B, 0x1F, 0x3C, 0x02,
               /* 0548 */    0x9D, 0xE7, 0x29, 0xFB, 0x1C, 0x03, 0x73, 0x84,
               /* 0550 */    0x1E, 0x3B, 0xF8, 0x0E, 0x26, 0xF8, 0x83, 0x0C,
               /* 0558 */    0x1C, 0x98, 0x13, 0x38, 0xBA, 0x40, 0xA7, 0x10,
               /* 0560 */    0xE7, 0x14, 0x9E, 0x63, 0x80, 0x91, 0x1C, 0x4B,
               /* 0568 */    0x20, 0x2C, 0xC0, 0xB1, 0x40, 0xA2, 0x96, 0x49,
               /* 0570 */    0x61, 0x7C, 0x32, 0xF0, 0x39, 0x06, 0xAE, 0x24,
               /* 0578 */    0x38, 0xD4, 0xF8, 0x3C, 0xB2, 0x97, 0xBC, 0xE3,
               /* 0580 */    0x3C, 0x91, 0x37, 0x04, 0x8F, 0xFF, 0x81, 0x06,
               /* 0588 */    0xC6, 0xC0, 0x3D, 0xAD, 0x93, 0xF2, 0x4D, 0xEE,
               /* 0590 */    0xB1, 0xC4, 0x67, 0x43, 0x7E, 0x5C, 0x60, 0x68,
               /* 0598 */    0xFC, 0x74, 0x03, 0x86, 0xFF, 0xFF, 0xE9, 0x06,
               /* 05A0 */    0xCE, 0x9D, 0xC1, 0x47, 0x0D, 0xB0, 0x5C, 0x6D,
               /* 05A8 */    0x30, 0x58, 0xA1, 0x62, 0x34, 0x7A, 0xD7, 0x23,
               /* 05B0 */    0xA0, 0xC7, 0xD7, 0xD7, 0x45, 0x9A, 0x42, 0x45,
               /* 05B8 */    0x0C, 0xF1, 0x42, 0x60, 0x97, 0xC7, 0x71, 0xE4,
               /* 05C0 */    0x59, 0x17, 0x5C, 0xD8, 0xCF, 0xBA, 0x60, 0x0F,
               /* 05C8 */    0x75, 0x4E, 0xA2, 0x91, 0x46, 0x83, 0x3A, 0xC8,
               /* 05D0 */    0xF0, 0x03, 0xC1, 0x63, 0x90, 0x4F, 0x1E, 0x06,
               /* 05D8 */    0x39, 0xD1, 0xD3, 0x7A, 0x5C, 0x78, 0x1A, 0xF0,
               /* 05E0 */    0xB8, 0xD9, 0x35, 0xC1, 0x1F, 0x04, 0x1F, 0x0F,
               /* 05E8 */    0xF0, 0x97, 0xA0, 0x80, 0x27, 0xFA, 0xF0, 0x01,
               /* 05F0 */    0xEB, 0x10, 0x82, 0x3F, 0x61, 0xC0, 0x1F, 0x8F,
               /* 05F8 */    0x8F, 0x01, 0x3E, 0xD1, 0xFA, 0x48, 0x45, 0x06,
               /* 0600 */    0x81, 0x3A, 0xBC, 0xF1, 0x91, 0x9E, 0xD6, 0xDB,
               /* 0608 */    0x80, 0x0F, 0x09, 0x87, 0xC5, 0x0E, 0x1E, 0x3E,
               /* 0610 */    0xA3, 0x80, 0x63, 0x3C, 0xF0, 0x6F, 0x9F, 0x4F,
               /* 0618 */    0x07, 0xFF, 0xFF, 0x08, 0xAF, 0x0C, 0x9E, 0xAF,
               /* 0620 */    0x0F, 0x66, 0x60, 0xB9, 0x75, 0xF8, 0xD0, 0x10,
               /* 0628 */    0xEA, 0xA9, 0xC3, 0x33, 0x78, 0xBF, 0xF0, 0x09,
               /* 0630 */    0x04, 0x98, 0x04, 0x36, 0x34, 0x48, 0x26, 0x73,
               /* 0638 */    0x9D, 0xB2, 0x71, 0xDA, 0xA1, 0xC3, 0xB4, 0xC8,
               /* 0640 */    0x03, 0x82, 0x8E, 0x06, 0x3E, 0xD2, 0xF8, 0x80,
               /* 0648 */    0xCB, 0x0F, 0x49, 0x86, 0xB0, 0x30, 0x0A, 0x9D,
               /* 0650 */    0x7C, 0x3C, 0x1A, 0x0F, 0x8F, 0xC0, 0x51, 0x10,
               /* 0658 */    0x8F, 0xDC, 0x21, 0x21, 0x64, 0xE4, 0x10, 0x80,
               /* 0660 */    0x3E, 0x2C, 0x30, 0x88, 0x87, 0x2E, 0x13, 0xF8,
               /* 0668 */    0xD8, 0xE0, 0xF3, 0x1A, 0x9C, 0xE3, 0x91, 0x27,
               /* 0670 */    0xE3, 0x69, 0x78, 0xDC, 0xB8, 0x53, 0x07, 0xDC,
               /* 0678 */    0x71, 0xE0, 0x0F, 0x3A, 0xF8, 0x53, 0x20, 0x3F,
               /* 0680 */    0x27, 0x91, 0xF3, 0x1F, 0xA8, 0x04, 0x9E, 0x0B,
               /* 0688 */    0x40, 0x01, 0xE4, 0xAB, 0x80, 0x95, 0x1E, 0x07,
               /* 0690 */    0xE8, 0x14, 0x42, 0x84, 0x89, 0x66, 0x78, 0x4C,
               /* 0698 */    0xF0, 0xD3, 0x17, 0x1D, 0x8F, 0x87, 0xE5, 0xFF,
               /* 06A0 */    0xFF, 0x20, 0xF9, 0xF1, 0x85, 0x61, 0x3F, 0x9D,
               /* 06A8 */    0xF8, 0xD4, 0x76, 0x8C, 0xEF, 0x05, 0x8F, 0x5F,
               /* 06B0 */    0x18, 0x58, 0x0F, 0x9B, 0xC3, 0x1A, 0x2D, 0xEC,
               /* 06B8 */    0xD1, 0x3E, 0x3E, 0xF8, 0xEA, 0xE1, 0x89, 0xF9,
               /* 06C0 */    0x16, 0xE7, 0x43, 0x07, 0x58, 0x0E, 0x52, 0xC0,
               /* 06C8 */    0xE3, 0xFC, 0xC3, 0xE6, 0xF0, 0x02, 0xF1, 0x1C,
               /* 06D0 */    0xE6, 0x83, 0x07, 0x3B, 0xF1, 0xB1, 0x53, 0x1F,
               /* 06D8 */    0xD7, 0x75, 0x8E, 0x43, 0x9C, 0x21, 0xF8, 0x20,
               /* 06E0 */    0x1C, 0x67, 0x91, 0xF2, 0x38, 0x53, 0x72, 0x95,
               /* 06E8 */    0x7C, 0xE0, 0xA8, 0x1A, 0x45, 0xF0, 0xBE, 0x15,
               /* 06F0 */    0xB0, 0x08, 0xC7, 0x08, 0x94, 0x78, 0x0A, 0x49,
               /* 06F8 */    0x3F, 0x46, 0xA0, 0xC4, 0xC2, 0x51, 0x10, 0x1F,
               /* 0700 */    0x23, 0x7C, 0x90, 0xB0, 0x8D, 0x63, 0x04, 0x6A,
               /* 0708 */    0x8C, 0x3E, 0x0C, 0xF2, 0xA3, 0x00, 0x3F, 0x45,
               /* 0710 */    0xC0, 0x3F, 0xF1, 0xE0, 0xC6, 0x0A, 0x77, 0x70,
               /* 0718 */    0x6C, 0x85, 0x2F, 0x3D, 0x87, 0x76, 0x76, 0x0F,
               /* 0720 */    0x09, 0x51, 0xDE, 0x5F, 0x8D, 0x18, 0x21, 0x60,
               /* 0728 */    0xD8, 0x68, 0x1E, 0x23, 0xEE, 0xD8, 0xCE, 0x2E,
               /* 0730 */    0x45, 0x9E, 0x53, 0xAC, 0x47, 0x25, 0x7E, 0xA4,
               /* 0738 */    0x80, 0xF7, 0xFF, 0x27, 0xF0, 0x31, 0x0F, 0x77,
               /* 0740 */    0xA4, 0x80, 0x33, 0x93, 0xF3, 0xC0, 0xA8, 0x1B,
               /* 0748 */    0x8B, 0xE0, 0x8D, 0xF6, 0x92, 0x8D, 0x3D, 0x58,
               /* 0750 */    0x00, 0x8F, 0x13, 0xA3, 0x0F, 0x16, 0xE0, 0x3A,
               /* 0758 */    0x13, 0xF8, 0x60, 0x01, 0x5C, 0xCF, 0x07, 0x3E,
               /* 0760 */    0x1D, 0x80, 0xF5, 0xF2, 0xC3, 0xEF, 0x07, 0x30,
               /* 0768 */    0x4E, 0x18, 0x30, 0xCE, 0x07, 0x98, 0x1B, 0x86,
               /* 0770 */    0xC3, 0x2C, 0x59, 0x27, 0x0C, 0x7E, 0x5C, 0x73,
               /* 0778 */    0xA4, 0xD5, 0x6A, 0x20, 0xEC, 0x12, 0x86, 0x23,
               /* 0780 */    0x18, 0x04, 0x4C, 0x27, 0x0B, 0x8F, 0xDA, 0x11,
               /* 0788 */    0x28, 0x24, 0xED, 0x80, 0x81, 0x12, 0x73, 0xC0,
               /* 0790 */    0xA0, 0x20, 0x06, 0x74, 0x52, 0x08, 0x9D, 0x45,
               /* 0798 */    0xFD, 0xFF, 0x3F, 0x60, 0xF0, 0x83, 0x9D, 0x4F,
               /* 07A0 */    0x0D, 0xEC, 0x72, 0xEB, 0xEB, 0x85, 0xE7, 0xE9,
               /* 07A8 */    0x29, 0x73, 0x3C, 0x1F, 0x43, 0x0C, 0xEB, 0x8B,
               /* 07B0 */    0x09, 0x78, 0x6E, 0x14, 0xEC, 0x34, 0x8B, 0xB9,
               /* 07B8 */    0xB8, 0xB1, 0xB3, 0x1D, 0x3B, 0x15, 0x18, 0xE5,
               /* 07C0 */    0x70, 0xDF, 0xC0, 0xAC, 0xE6, 0xAA, 0x80, 0x9A,
               /* 07C8 */    0x11, 0x86, 0xC0, 0xE3, 0xF5, 0x81, 0x11, 0x4C,
               /* 07D0 */    0xFA, 0x2E, 0x14, 0x20, 0x47, 0xE7, 0x32, 0x47,
               /* 07D8 */    0x8F, 0x3A, 0x47, 0xF9, 0x24, 0xC5, 0x47, 0xEF,
               /* 07E0 */    0xA3, 0xB9, 0x4F, 0x2B, 0x70, 0xCF, 0x52, 0x3E,
               /* 07E8 */    0x42, 0x01, 0xDF, 0x81, 0xF9, 0x52, 0x80, 0x3B,
               /* 07F0 */    0xA0, 0x80, 0xE1, 0xFA, 0x80, 0xFD, 0xFF, 0xC3,
               /* 07F8 */    0xBC, 0xA2, 0xE0, 0xCF, 0x28, 0xC0, 0x24, 0xF0,
               /* 0800 */    0x59, 0x0A, 0x74, 0x90, 0x3E, 0xA3, 0x00, 0xD7,
               /* 0808 */    0xA1, 0xE2, 0xCE, 0x28, 0xE0, 0x38, 0x10, 0x1E,
               /* 0810 */    0x3D, 0x3F, 0x47, 0xB1, 0x38, 0xC7, 0x12, 0x74,
               /* 0818 */    0xA8, 0x97, 0x83, 0x6E, 0x9B, 0xEC, 0x58, 0x82,
               /* 0820 */    0x8D, 0x72, 0x2C, 0x41, 0x85, 0xA0, 0xD0, 0x09,
               /* 0828 */    0xCA, 0x27, 0x09, 0x7E, 0xC6, 0xE3, 0x20, 0x06,
               /* 0830 */    0x74, 0xF6, 0x93, 0x04, 0x5A, 0xC5, 0x49, 0x02,
               /* 0838 */    0x19, 0xF6, 0x5C, 0x02, 0x84, 0xFE, 0xFF, 0xE7,
               /* 0840 */    0x12, 0xF0, 0x9E, 0x13, 0x9F, 0x26, 0xC0, 0x35,
               /* 0848 */    0x6B, 0xFC, 0x69, 0x02, 0x7F, 0x3E, 0x01, 0x16,
               /* 0850 */    0x47, 0x46, 0xC0, 0xD9, 0x41, 0x90, 0x1F, 0x19,
               /* 0858 */    0x81, 0xEF, 0xB9, 0x84, 0xFF, 0xFF, 0xCF, 0x25,
               /* 0860 */    0xE0, 0x19, 0xB6, 0xCF, 0x25, 0x80, 0x93, 0x9B,
               /* 0868 */    0x34, 0x3F, 0x97, 0xC0, 0x1D, 0xBA, 0xE3, 0x9C,
               /* 0870 */    0xBE, 0x10, 0x57, 0x58, 0xDF, 0x33, 0xE2, 0x27,
               /* 0878 */    0x18, 0xE3, 0x58, 0x82, 0x0A, 0x70, 0xF8, 0x02,
               /* 0880 */    0xB4, 0xFF, 0xFF, 0x4F, 0x23, 0xE0, 0x3F, 0x17,
               /* 0888 */    0x7B, 0xF4, 0xFC, 0x40, 0xE2, 0x43, 0x06, 0x19,
               /* 0890 */    0x3D, 0x8D, 0x7C, 0xF8, 0x82, 0x1E, 0xF1, 0x30,
               /* 0898 */    0x02, 0xB4, 0x07, 0xFA, 0xF0, 0x05, 0xC6, 0xDB,
               /* 08A0 */    0x03, 0x3F, 0x6E, 0x02, 0xAF, 0xD8, 0x87, 0x12,
               /* 08A8 */    0xD0, 0xC1, 0xF2, 0x43, 0x09, 0xF8, 0xFF, 0xFF,
               /* 08B0 */    0x87, 0x12, 0xF0, 0x8C, 0x1E, 0x77, 0xF6, 0x02,
               /* 08B8 */    0xC7, 0x55, 0xC2, 0x83, 0x37, 0xE0, 0x31, 0x3D,
               /* 08C0 */    0x16, 0x18, 0x90, 0x9D, 0x4B, 0x98, 0xEC, 0x73,
               /* 08C8 */    0x09, 0xFA, 0x3C, 0x62, 0xAB, 0xB7, 0x63, 0x72,
               /* 08D0 */    0x52, 0xC7, 0x08, 0x3F, 0x97, 0xA0, 0x24, 0x9F,
               /* 08D8 */    0x4B, 0x00, 0xDA, 0x1C, 0xBA, 0xC0, 0xF1, 0xFF,
               /* 08E0 */    0x3F, 0x74, 0x01, 0x3C, 0xB8, 0x06, 0xFA, 0x40,
               /* 08E8 */    0x02, 0xAE, 0x7B, 0x82, 0x0F, 0x24, 0xC0, 0xF5,
               /* 08F0 */    0x28, 0x00, 0x9E, 0x23, 0x08, 0xFE, 0xC8, 0xEC,
               /* 08F8 */    0x03, 0x3F, 0xEE, 0xA4, 0xEF, 0x53, 0x75, 0x5C,
               /* 0900 */    0xE3, 0x1F, 0xF1, 0x11, 0xFC, 0xFF, 0x1B, 0x3F,
               /* 0908 */    0x7D, 0x91, 0x7B, 0x81, 0x8F, 0x25, 0x3A, 0xF0,
               /* 0910 */    0xA3, 0x04, 0x53, 0x48, 0xEE, 0x01, 0x02, 0x25,
               /* 0918 */    0x10, 0x8E, 0x82, 0xF8, 0x00, 0xE1, 0xF0, 0xE7,
               /* 0920 */    0x24, 0xE8, 0x57, 0x4B, 0x7E, 0x7E, 0xC0, 0x5F,
               /* 0928 */    0x47, 0xD8, 0x28, 0xD9, 0x71, 0x1E, 0x37, 0x4A,
               /* 0930 */    0xB8, 0x60, 0xAF, 0x0F, 0x86, 0xB8, 0xC3, 0x13,
               /* 0938 */    0xE1, 0x67, 0x5B, 0xCC, 0x31, 0x1F, 0xEE, 0x51,
               /* 0940 */    0xE1, 0x51, 0x09, 0x5C, 0xB3, 0x86, 0x75, 0x58,
               /* 0948 */    0x02, 0x3C, 0x78, 0x38, 0x4C, 0x00, 0xAD, 0xFF,
               /* 0950 */    0xFF, 0x61, 0x09, 0xFC, 0xB3, 0xE7, 0x83, 0x38,
               /* 0958 */    0x11, 0x0F, 0x1F, 0x03, 0x74, 0x2C, 0x6F, 0x07,
               /* 0960 */    0xEC, 0xD8, 0xAB, 0xC3, 0x12, 0x6A, 0x0C, 0x3E,
               /* 0968 */    0xFA, 0xFA, 0xE8, 0xC4, 0x20, 0x1F, 0x0F, 0x31,
               /* 0970 */    0xC7, 0x16, 0x76, 0xC2, 0x07, 0xF8, 0xF6, 0xFF,
               /* 0978 */    0x3F, 0xE1, 0x03, 0xD6, 0xCE, 0x24, 0xBE, 0x3F,
               /* 0980 */    0x60, 0xAF, 0x2D, 0xF8, 0xA3, 0x09, 0xF0, 0x06,
               /* 0988 */    0xF7, 0xD1, 0x04, 0x70, 0xF5, 0xFF, 0x3F, 0x9A,
               /* 0990 */    0xE0, 0x84, 0x9E, 0x9D, 0x50, 0x67, 0x03, 0x1F,
               /* 0998 */    0x98, 0x6C, 0x14, 0x95, 0x40, 0xBF, 0x69, 0xBC,
               /* 09A0 */    0x9F, 0x07, 0x31, 0xF4, 0x49, 0xF0, 0x53, 0x13,
               /* 09A8 */    0x06, 0xC2, 0x47, 0x13, 0x9F, 0x24, 0x7C, 0x9C,
               /* 09B0 */    0xE0, 0x52, 0xE0, 0x28, 0x88, 0x8F, 0x13, 0x8E,
               /* 09B8 */    0x79, 0x36, 0x41, 0x9F, 0x0A, 0x7C, 0x3F, 0x38,
               /* 09C0 */    0x09, 0x6C, 0xA8, 0xF3, 0x04, 0x50, 0x19, 0x07,
               /* 09C8 */    0xFE, 0xE8, 0x04, 0x57, 0xD8, 0xC9, 0x04, 0x64,
               /* 09D0 */    0x27, 0x72, 0x60, 0x6E, 0xE2, 0x1C, 0x01, 0x94,
               /* 09D8 */    0xFE, 0xFF, 0x27, 0x72, 0xE0, 0x70, 0x5A, 0xE5,
               /* 09E0 */    0xA7, 0x01, 0x7C, 0xA0, 0xA3, 0x2A, 0x3A, 0xD6,
               /* 09E8 */    0x93, 0x41, 0x23, 0x7E, 0x07, 0x08, 0x77, 0xEA,
               /* 09F0 */    0xE7, 0xF9, 0x40, 0xC0, 0x8E, 0xE5, 0x3E, 0x2C,
               /* 09F8 */    0xF1, 0xF3, 0x92, 0x4F, 0x11, 0x3E, 0x41, 0x70,
               /* 0A00 */    0x49, 0x27, 0x08, 0x0A, 0x62, 0x40, 0xE7, 0x3D,
               /* 0A08 */    0x5D, 0x7A, 0x10, 0xF4, 0x7C, 0xC3, 0x8F, 0xC5,
               /* 0A10 */    0xBE, 0xB6, 0x1C, 0xC5, 0x23, 0x51, 0x82, 0xF9,
               /* 0A18 */    0x0E, 0x01, 0xF4, 0xB6, 0x04, 0x4F, 0xDE, 0x6D,
               /* 0A20 */    0x09, 0x44, 0x18, 0x77, 0x72, 0x16, 0x0C, 0xE1,
               /* 0A28 */    0x28, 0x7D, 0x80, 0x80, 0x31, 0xC0, 0xC7, 0x84,
               /* 0A30 */    0x62, 0xDF, 0x37, 0xF4, 0xBE, 0x04, 0xF3, 0x8A,
               /* 0A38 */    0x09, 0xAE, 0xF3, 0x12, 0x30, 0x9E, 0x89, 0xFF,
               /* 0A40 */    0xFF, 0x3E, 0xCF, 0x21, 0xE4, 0x02, 0xC0, 0x4F,
               /* 0A48 */    0xE5, 0x60, 0x39, 0x36, 0x80, 0x67, 0x1C, 0xEC,
               /* 0A50 */    0x0A, 0x80, 0x3F, 0x32, 0xC1, 0x3E, 0x35, 0xE2,
               /* 0A58 */    0x8E, 0x4C, 0x60, 0x98, 0x08, 0x3B, 0xE7, 0x1C,
               /* 0A60 */    0x08, 0xF6, 0x60, 0x02, 0xBC, 0x55, 0x1C, 0x4C,
               /* 0A68 */    0x00, 0x2D, 0xC3, 0x0D, 0x72, 0x3E, 0x8F, 0xE4,
               /* 0A70 */    0xC6, 0x79, 0xC3, 0xF3, 0x89, 0x84, 0x9D, 0xC4,
               /* 0A78 */    0xD9, 0xFF, 0xFF, 0x60, 0xC2, 0x25, 0x41, 0x48,
               /* 0A80 */    0xFE, 0x61, 0x09, 0x89, 0x8D, 0x9D, 0xFE, 0x39,
               /* 0A88 */    0xBC, 0xB9, 0x32, 0x82, 0x62, 0x8F, 0x4B, 0xA8,
               /* 0A90 */    0xC3, 0x84, 0x45, 0x9E, 0x26, 0x50, 0xA7, 0x69,
               /* 0A98 */    0x9F, 0x90, 0xC9, 0x69, 0x82, 0x46, 0x3E, 0x4D,
               /* 0AA0 */    0xA0, 0x87, 0xE6, 0x89, 0x9D, 0x06, 0x6E, 0xDC,
               /* 0AA8 */    0xA7, 0xC1, 0x6F, 0x87, 0xFC, 0xC0, 0x04, 0x7C,
               /* 0AB0 */    0x0F, 0x0F, 0xF8, 0xD3, 0x04, 0xEC, 0xF3, 0x0D,
               /* 0AB8 */    0x1B, 0x74, 0xC8, 0x77, 0x87, 0x17, 0x59, 0x1F,
               /* 0AC0 */    0x26, 0x80, 0xF9, 0xC8, 0x7D, 0x98, 0x00, 0xFF,
               /* 0AC8 */    0xFF, 0xFF, 0xD0, 0x04, 0x5C, 0x15, 0xDA, 0xF4,
               /* 0AD0 */    0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA,
               /* 0AD8 */    0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xA4,
               /* 0AE0 */    0x9D, 0x54, 0xBD, 0x54, 0x8D, 0xD5, 0x91, 0x9E,
               /* 0AE8 */    0x0B, 0x02, 0x71, 0xD4, 0x05, 0x0B, 0xC4, 0xD1,
               /* 0AF0 */    0x9F, 0x40, 0x02, 0xB1, 0xB8, 0x57, 0x88, 0x40,
               /* 0AF8 */    0x2C, 0xF5, 0x05, 0x21, 0x10, 0xCB, 0xD4, 0x01,
               /* 0B00 */    0xC2, 0x82, 0xBC, 0xEF, 0x05, 0xE2, 0x60, 0x52,
               /* 0B08 */    0x06, 0x40, 0xAD, 0x80, 0xB0, 0x78, 0xCB, 0x12,
               /* 0B10 */    0x88, 0x23, 0x9A, 0x39, 0x01, 0x50, 0x37, 0x20,
               /* 0B18 */    0x4C, 0xA0, 0x1E, 0x10, 0x26, 0xDC, 0x10, 0x08,
               /* 0B20 */    0x8B, 0xA3, 0x08, 0x84, 0x09, 0xB6, 0x04, 0xC2,
               /* 0B28 */    0xE2, 0x82, 0x50, 0xC1, 0x9E, 0x8E, 0xFD, 0x4C,
               /* 0B30 */    0x3E, 0x88, 0x80, 0x1C, 0xDA, 0x14, 0x10, 0x93,
               /* 0B38 */    0xA0, 0x0A, 0x88, 0x25, 0x78, 0x0C, 0x08, 0xC8,
               /* 0B40 */    0x71, 0x40, 0x04, 0xE4, 0x50, 0xB6, 0x80, 0x58,
               /* 0B48 */    0x44, 0x10, 0x01, 0x59, 0xCF, 0x1B, 0x4E, 0x40,
               /* 0B50 */    0x16, 0x07, 0x22, 0x20, 0x8B, 0x36, 0x06, 0xC4,
               /* 0B58 */    0x22, 0x80, 0x08, 0xC8, 0xC9, 0x5E, 0x70, 0x81,
               /* 0B60 */    0x48, 0x4C, 0x10, 0x01, 0x39, 0xEC, 0x8A, 0x05,
               /* 0B68 */    0xE4, 0xE8, 0x20, 0x02, 0xB2, 0x4E, 0x6F, 0x40,
               /* 0B70 */    0x4C, 0x34, 0x88, 0x80, 0x2C, 0xFE, 0xB1, 0x21,
               /* 0B78 */    0x20, 0x47, 0x01, 0x11, 0x90, 0x03, 0x3E, 0x28,
               /* 0B80 */    0x02, 0x91, 0xB8, 0x20, 0x02, 0xB2, 0x46, 0x7B,
               /* 0B88 */    0x40, 0x4C, 0x30, 0x88, 0x80, 0x2C, 0xFB, 0x07,
               /* 0B90 */    0x25, 0x20, 0x87, 0x00, 0xD1, 0x00, 0xC9, 0xEB,
               /* 0B98 */    0x40, 0x03, 0x24, 0xBF, 0x89, 0x40, 0x44, 0xE2,
               /* 0BA0 */    0xAB, 0x22, 0x10, 0xD1, 0x0B, 0x22, 0x20, 0xFF,
               /* 0BA8 */    0xFF, 0xA5, 0xFF, 0x38, 0x04, 0xE4, 0x20, 0x20,
               /* 0BB0 */    0x02, 0x26, 0x1A, 0x81, 0xE9, 0x0B, 0x21, 0x10,
               /* 0BB8 */    0xF9, 0xFF, 0x03
           })
           Name (_HID, EisaId ("PNP0C14"))
           Name (_UID, Zero)
           Name (_WDG, Buffer (0x28)
           {
               /* 0000 */    0x6A, 0x0F, 0xBC, 0xAB, 0xA1, 0x8E, 0xD1, 0x11,
               /* 0008 */    0x00, 0xA0, 0xC9, 0x06, 0x29, 0x10, 0x00, 0x00,
               /* 0010 */    0x41, 0x41, 0x01, 0x02, 0x21, 0x12, 0x90, 0x05,
               /* 0018 */    0x66, 0xD5, 0xD1, 0x11, 0xB2, 0xF0, 0x00, 0xA0,
               /* 0020 */    0xC9, 0x06, 0x29, 0x10, 0x42, 0x41, 0x01, 0x00
           })
           Method (WMAA, 3, NotSerialized)
           {
               If (LEqual (Arg0, Zero))
               {
                   If (LOr (LOr (LNotEqual (Arg1, One), LNotEqual (Arg1,
                       0x02)), LNotEqual (Arg1, 0x06)))
                   {
                       CreateDWordField (Arg2, Zero, WIID)
                   }

                   If (LEqual (Arg1, One))
                   {
                       Return (AM01 ())
                   }
                   Else
                   {
                       If (LEqual (Arg1, 0x02))
                       {
                           Return (AM02 ())
                       }
                       Else
                       {
                           If (LEqual (Arg1, 0x03))
                           {
                               Return (AM03 (WIID))
                           }
                           Else
                           {
                               If (LEqual (Arg1, 0x04))
                               {
                                   CreateDWordField (Arg2, 0x04, IVAL)
                                   Return (AM04 (WIID, IVAL))
                               }
                               Else
                               {
                                   If (LEqual (Arg1, 0x05))
                                   {
                                       Return (AM05 (WIID))
                                   }
                                   Else
                                   {
                                       If (LEqual (Arg1, 0x06))
                                       {
                                           Return (AM06 ())
                                       }
                                       Else
                                       {
                                           If (LEqual (Arg1, 0x07))
                                           {
                                               AM07 (Arg2)
                                           }
                                           Else
                                           {
                                               If (LEqual (Arg1, 0x08))
                                               {
                                                   AM08 (WIID)
                                               }
                                               Else
                                               {
                                                   If (LEqual (Arg1, 0x09))
                                                   {
                                                       Return (AM09 ())
                                                   }
                                                   Else
                                                   {
                                                       If (LEqual (Arg1, 0x0A))
                                                       {
                                                           Return (AM10 (Arg2))
                                                       }
                                                       Else
                                                       {
                                                           If (LEqual (Arg1, 0x0B))
                                                           {
                                                               Return (AM11 ())
                                                           }
                                                       }
                                                   }
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }
                   }
               }
           }
       }
   }

   Name (WQBA, Buffer (0x0BBB)
   {
       /* 0000 */    0x46, 0x4F, 0x4D, 0x42, 0x01, 0x00, 0x00, 0x00,
       /* 0008 */    0xAB, 0x0B, 0x00, 0x00, 0x20, 0x4A, 0x00, 0x00,
       /* 0010 */    0x44, 0x53, 0x00, 0x01, 0x1A, 0x7D, 0xDA, 0x54,
       /* 0018 */    0x28, 0x5B, 0xA4, 0x00, 0x01, 0x06, 0x18, 0x42,
       /* 0020 */    0x10, 0x15, 0x10, 0x22, 0x21, 0x04, 0x12, 0x01,
       /* 0028 */    0xA1, 0xC8, 0x2C, 0x0C, 0x86, 0x10, 0x38, 0x2E,
       /* 0030 */    0x84, 0x1C, 0x40, 0x48, 0x1C, 0x14, 0x4A, 0x08,
       /* 0038 */    0x84, 0xFA, 0x13, 0xC8, 0xAF, 0x00, 0x84, 0x0E,
       /* 0040 */    0x05, 0xC8, 0x14, 0x60, 0x50, 0x80, 0x53, 0x04,
       /* 0048 */    0x11, 0xF4, 0x2A, 0xC0, 0xA6, 0x00, 0x93, 0x02,
       /* 0050 */    0x2C, 0x0A, 0xD0, 0x2E, 0xC0, 0xB2, 0x00, 0xDD,
       /* 0058 */    0x02, 0xA4, 0xC3, 0x92, 0xAD, 0x08, 0x1C, 0x21,
       /* 0060 */    0x06, 0x1C, 0xA5, 0x13, 0x5B, 0xB8, 0x61, 0x83,
       /* 0068 */    0x17, 0x8A, 0xA2, 0x19, 0x44, 0x49, 0x50, 0xB9,
       /* 0070 */    0x00, 0xDF, 0x08, 0x02, 0x2F, 0x57, 0x80, 0xE4,
       /* 0078 */    0x09, 0x48, 0xB3, 0x00, 0xC3, 0x02, 0xAC, 0x0B,
       /* 0080 */    0x90, 0x3D, 0x04, 0x2A, 0x75, 0x08, 0x28, 0x39,
       /* 0088 */    0x43, 0x40, 0x0D, 0xA0, 0xD5, 0x09, 0x08, 0xBF,
       /* 0090 */    0xD2, 0x29, 0x21, 0x09, 0xC2, 0x19, 0xAB, 0x78,
       /* 0098 */    0x7C, 0xCD, 0xA2, 0xE9, 0x39, 0xC9, 0x39, 0x86,
       /* 00A0 */    0x1C, 0x8F, 0x0B, 0x3D, 0x08, 0x1E, 0x47, 0x03,
       /* 00A8 */    0x08, 0x93, 0x3F, 0x64, 0x05, 0x80, 0x41, 0x49,
       /* 00B0 */    0x18, 0x0B, 0x75, 0x31, 0x6A, 0xD4, 0x48, 0xD9,
       /* 00B8 */    0x80, 0x0C, 0x51, 0xDA, 0xA8, 0xD1, 0x03, 0x3A,
       /* 00C0 */    0xBF, 0x23, 0x39, 0xBB, 0xA3, 0x3B, 0x92, 0x04,
       /* 00C8 */    0x46, 0x3D, 0xA6, 0x63, 0x2C, 0x6C, 0x46, 0x42,
       /* 00D0 */    0x8D, 0xD1, 0x1C, 0x14, 0x09, 0x37, 0x68, 0xB4,
       /* 00D8 */    0x44, 0x58, 0x8D, 0x2B, 0xF6, 0x99, 0x59, 0xF8,
       /* 00E0 */    0xB0, 0x84, 0x71, 0x04, 0x07, 0x76, 0xB0, 0x16,
       /* 00E8 */    0x0D, 0x23, 0xB4, 0x82, 0xE0, 0x34, 0x88, 0xA3,
       /* 00F0 */    0x88, 0x12, 0x86, 0xE1, 0x19, 0x33, 0xD0, 0x51,
       /* 00F8 */    0x32, 0xA4, 0x30, 0x41, 0x4F, 0x20, 0xC8, 0xC9,
       /* 0100 */    0x33, 0x2C, 0x43, 0x9C, 0x01, 0xC7, 0x8A, 0x11,
       /* 0108 */    0x2A, 0x24, 0x66, 0x20, 0xC1, 0xFF, 0xFF, 0x27,
       /* 0110 */    0xD0, 0x35, 0x86, 0x3C, 0x03, 0x91, 0x7B, 0xC0,
       /* 0118 */    0x09, 0x04, 0x89, 0x1E, 0x25, 0xB8, 0x71, 0x8D,
       /* 0120 */    0xCA, 0xC6, 0x74, 0x36, 0xB8, 0x81, 0x99, 0x20,
       /* 0128 */    0xCE, 0xE1, 0x61, 0x64, 0x40, 0x68, 0x02, 0xF1,
       /* 0130 */    0x63, 0x87, 0x4F, 0x60, 0xF7, 0xC7, 0x01, 0x29,
       /* 0138 */    0x44, 0xD0, 0x85, 0xE0, 0x4C, 0x6B, 0x14, 0x60,
       /* 0140 */    0xED, 0xEC, 0x20, 0x5B, 0x10, 0x3A, 0x0B, 0xC4,
       /* 0148 */    0x6A, 0x0C, 0x45, 0x10, 0x11, 0x82, 0x46, 0x31,
       /* 0150 */    0x5E, 0x84, 0x50, 0x21, 0xA2, 0x44, 0x3D, 0xE7,
       /* 0158 */    0x20, 0xB5, 0x09, 0x50, 0x06, 0x22, 0xB4, 0x60,
       /* 0160 */    0x46, 0x60, 0xF6, 0x07, 0x41, 0x24, 0x58, 0x80,
       /* 0168 */    0xF8, 0x23, 0xB0, 0x84, 0x13, 0x81, 0x8C, 0x8C,
       /* 0170 */    0x86, 0x1E, 0x16, 0x7C, 0x12, 0x60, 0x07, 0x04,
       /* 0178 */    0xCF, 0xE7, 0xD4, 0x4C, 0xE0, 0xC0, 0x10, 0xE2,
       /* 0180 */    0x95, 0x00, 0x51, 0x47, 0x0B, 0x4A, 0x60, 0x29,
       /* 0188 */    0x47, 0x03, 0x62, 0x7B, 0x60, 0xBA, 0x07, 0x1C,
       /* 0190 */    0xE1, 0xB9, 0xFB, 0x72, 0x70, 0x6A, 0xFE, 0x69,
       /* 0198 */    0x78, 0x9A, 0x0F, 0x09, 0x98, 0x21, 0x7A, 0xAC,
       /* 01A0 */    0x07, 0x11, 0xF0, 0x10, 0xD9, 0x29, 0xC1, 0x80,
       /* 01A8 */    0x78, 0xEF, 0xD7, 0x02, 0x32, 0x82, 0x97, 0x04,
       /* 01B0 */    0x03, 0x7A, 0x12, 0x0F, 0x08, 0x60, 0x39, 0x68,
       /* 01B8 */    0x1C, 0xF8, 0x09, 0x55, 0x7C, 0x07, 0xA0, 0x47,
       /* 01C0 */    0x02, 0x36, 0xA3, 0xF8, 0x26, 0x28, 0xEB, 0xF8,
       /* 01C8 */    0x80, 0x9E, 0x73, 0xB4, 0x67, 0x87, 0x97, 0x85,
       /* 01D0 */    0x66, 0xAF, 0x18, 0x84, 0xE0, 0x35, 0xC0, 0x37,
       /* 01D8 */    0x05, 0x9F, 0x46, 0x2C, 0x69, 0x75, 0x72, 0xB2,
       /* 01E0 */    0x2A, 0x8F, 0x98, 0x82, 0x7B, 0x08, 0x5C, 0x04,
       /* 01E8 */    0x9C, 0x86, 0xEE, 0xF1, 0x82, 0x43, 0xC1, 0x78,
       /* 01F0 */    0xE9, 0xFF, 0x7F, 0xBC, 0xE0, 0x3E, 0x0F, 0x1C,
       /* 01F8 */    0x2F, 0x58, 0x4E, 0x09, 0x55, 0x5D, 0x36, 0x34,
       /* 0200 */    0x87, 0xF3, 0x6D, 0x1E, 0x9F, 0x1C, 0x2D, 0x3C,
       /* 0208 */    0x61, 0x36, 0x96, 0xA3, 0x62, 0xC7, 0x10, 0x36,
       /* 0210 */    0x3A, 0x3E, 0x0A, 0x0F, 0xF8, 0xB5, 0xA1, 0x58,
       /* 0218 */    0x10, 0x99, 0x80, 0xD0, 0x91, 0xE1, 0xC0, 0xC1,
       /* 0220 */    0xE2, 0xEC, 0x00, 0x21, 0x02, 0x0B, 0x1B, 0x39,
       /* 0228 */    0x7A, 0xC4, 0x1E, 0xD4, 0x3B, 0x8C, 0x31, 0x1E,
       /* 0230 */    0x08, 0x8C, 0x7A, 0x48, 0x07, 0x0F, 0x3E, 0x40,
       /* 0238 */    0x0F, 0x1E, 0x70, 0xFA, 0xFF, 0x27, 0xB0, 0xA0,
       /* 0240 */    0x21, 0x4B, 0xC4, 0xE0, 0xD1, 0xA7, 0x08, 0x0F,
       /* 0248 */    0xE7, 0xDD, 0x87, 0x1F, 0x44, 0x12, 0x38, 0x3C,
       /* 0250 */    0x84, 0x06, 0x0F, 0x9E, 0xB3, 0x8F, 0x07, 0x0F,
       /* 0258 */    0x7E, 0x79, 0x83, 0x07, 0xD1, 0x14, 0x8E, 0x0D,
       /* 0260 */    0x77, 0xB0, 0xF1, 0xC0, 0xC1, 0x3D, 0x5C, 0xFC,
       /* 0268 */    0x90, 0x70, 0x67, 0x2D, 0x78, 0x3E, 0x27, 0x4F,
       /* 0270 */    0x06, 0xF0, 0x12, 0x84, 0x3B, 0x6C, 0x01, 0x97,
       /* 0278 */    0x11, 0x70, 0x99, 0xAB, 0xA4, 0x87, 0x2A, 0x0B,
       /* 0280 */    0x83, 0x41, 0x9D, 0xAB, 0xC0, 0xFB, 0xFF, 0x3F,
       /* 0288 */    0x57, 0x01, 0xF6, 0x2F, 0x53, 0xEF, 0x53, 0x3E,
       /* 0290 */    0x57, 0x81, 0x3B, 0xDA, 0x79, 0x40, 0xE7, 0x16,
       /* 0298 */    0x72, 0x9A, 0x41, 0x1F, 0x0A, 0x7C, 0x06, 0x78,
       /* 02A0 */    0x92, 0x01, 0xDB, 0xA1, 0x0A, 0x38, 0x9C, 0x64,
       /* 02A8 */    0xC0, 0x73, 0x2B, 0x7B, 0x92, 0x61, 0xFF, 0xFF,
       /* 02B0 */    0x93, 0x0C, 0x38, 0x0F, 0x62, 0x3E, 0xC9, 0x80,
       /* 02B8 */    0xEF, 0xE8, 0x85, 0x3B, 0x81, 0xC0, 0xF3, 0x38,
       /* 02C0 */    0x24, 0x21, 0x1F, 0x42, 0xF0, 0x43, 0x3A, 0xA6,
       /* 02C8 */    0x67, 0x10, 0x60, 0x28, 0xE4, 0x65, 0xE0, 0x03,
       /* 02D0 */    0x08, 0x8D, 0x7E, 0x06, 0x01, 0xB4, 0xFF, 0xFF,
       /* 02D8 */    0xCF, 0x20, 0xC0, 0xE5, 0xAC, 0xF0, 0x0C, 0x02,
       /* 02E0 */    0x76, 0xF1, 0xAF, 0x3A, 0x9D, 0x07, 0x1C, 0x1C,
       /* 02E8 */    0x42, 0x4E, 0x8E, 0x8A, 0xA8, 0xE1, 0x58, 0xEB,
       /* 02F0 */    0x41, 0x80, 0x8C, 0xE7, 0x45, 0xC0, 0x41, 0x4F,
       /* 02F8 */    0x8A, 0x40, 0xF7, 0xAC, 0x81, 0x3B, 0x1F, 0xC0,
       /* 0300 */    0x3D, 0x12, 0xF2, 0x73, 0x07, 0xF8, 0xA2, 0x43,
       /* 0308 */    0xE8, 0x98, 0x89, 0x3F, 0x51, 0x79, 0x88, 0x3E,
       /* 0310 */    0x1B, 0x98, 0xC0, 0xA3, 0x05, 0xD7, 0x39, 0x11,
       /* 0318 */    0x5C, 0xFF, 0xFF, 0xD1, 0xC2, 0x3B, 0x69, 0xE0,
       /* 0320 */    0x46, 0x0B, 0xF7, 0x00, 0xFC, 0x58, 0x80, 0x39,
       /* 0328 */    0x62, 0x82, 0xEB, 0xD0, 0x02, 0xA6, 0xEB, 0x02,
       /* 0330 */    0xE6, 0xD2, 0x82, 0x3F, 0xB4, 0x00, 0x1F, 0xA1,
       /* 0338 */    0x27, 0x16, 0x94, 0xB4, 0x43, 0x0B, 0xA0, 0xF9,
       /* 0340 */    0xFF, 0x7F, 0x68, 0x01, 0x6E, 0x73, 0x7D, 0x68,
       /* 0348 */    0x01, 0x7B, 0xB8, 0x73, 0x18, 0x95, 0x73, 0x0E,
       /* 0350 */    0x83, 0x76, 0x68, 0xF6, 0x39, 0x0C, 0xB8, 0x1E,
       /* 0358 */    0x26, 0xF0, 0x87, 0x4A, 0xB8, 0xB3, 0x88, 0x1F,
       /* 0360 */    0x27, 0xDA, 0x5B, 0x80, 0xCF, 0xA7, 0xC0, 0xED,
       /* 0368 */    0xB0, 0x86, 0x3B, 0x82, 0xC0, 0xBB, 0x14, 0x9C,
       /* 0370 */    0x96, 0xA7, 0xF6, 0xD4, 0x7F, 0x70, 0x8D, 0x5F,
       /* 0378 */    0x41, 0xC8, 0x3D, 0xC6, 0x77, 0x10, 0xF6, 0xFF,
       /* 0380 */    0x3F, 0x88, 0x01, 0x37, 0x19, 0x07, 0x31, 0x54,
       /* 0388 */    0xF0, 0x43, 0x08, 0x40, 0xA1, 0xCB, 0xC2, 0x43,
       /* 0390 */    0x08, 0xD8, 0xA5, 0x1F, 0xC4, 0x68, 0xEC, 0x83,
       /* 0398 */    0x18, 0xEA, 0xFF, 0x7F, 0x82, 0xC7, 0x9F, 0xC3,
       /* 03A0 */    0x00, 0xA7, 0x67, 0x38, 0xB8, 0x51, 0x8F, 0x61,
       /* 03A8 */    0x80, 0xA2, 0xB3, 0x28, 0x70, 0x82, 0x78, 0x0E,
       /* 03B0 */    0x63, 0xFF, 0xFF, 0x73, 0x18, 0xF0, 0x14, 0xFC,
       /* 03B8 */    0x12, 0xF0, 0x81, 0x85, 0x4A, 0x84, 0x41, 0x9D,
       /* 03C0 */    0x59, 0x00, 0xDE, 0x1C, 0x90, 0x9F, 0x59, 0xC0,
       /* 03C8 */    0x1E, 0xF2, 0xAD, 0xA1, 0x1F, 0x81, 0xFF, 0xFF,
       /* 03D0 */    0x67, 0x16, 0xC0, 0xF5, 0x99, 0xDC, 0x63, 0xC5,
       /* 03D8 */    0x1D, 0x22, 0xD8, 0x48, 0x42, 0xBE, 0x0A, 0xBC,
       /* 03E0 */    0x15, 0x98, 0xC0, 0x91, 0x0F, 0x2D, 0x40, 0xF7,
       /* 03E8 */    0x6C, 0x82, 0x1B, 0x2D, 0xDC, 0xE3, 0xC8, 0x39,
       /* 03F0 */    0x9E, 0xD0, 0xBB, 0xF9, 0xEB, 0x03, 0x3B, 0x4D,
       /* 03F8 */    0xB0, 0x21, 0x83, 0x57, 0xDE, 0x21, 0x10, 0xF5,
       /* 0400 */    0xFF, 0x1F, 0xB2, 0x0F, 0x24, 0x9E, 0xC2, 0xCB,
       /* 0408 */    0x0C, 0x66, 0x26, 0x31, 0x0E, 0x24, 0xC2, 0xB1,
       /* 0410 */    0x78, 0x78, 0xE4, 0x28, 0x08, 0xAA, 0x33, 0x3F,
       /* 0418 */    0x19, 0x35, 0xE8, 0x67, 0xF7, 0x84, 0x0F, 0x9E,
       /* 0420 */    0xE9, 0xBE, 0xE1, 0x83, 0xE1, 0x30, 0x08, 0x73,
       /* 0428 */    0xCE, 0x1E, 0x3F, 0xF8, 0x8E, 0x3D, 0xB8, 0x73,
       /* 0430 */    0x10, 0xBC, 0xEB, 0x8A, 0x91, 0x4F, 0xE8, 0x25,
       /* 0438 */    0x00, 0x73, 0x6B, 0xC1, 0x9E, 0x05, 0x81, 0x93,
       /* 0440 */    0xAC, 0x83, 0x20, 0x4A, 0xC8, 0x59, 0x10, 0x54,
       /* 0448 */    0xFF, 0xFF, 0x83, 0x10, 0xC0, 0x04, 0x6F, 0xF7,
       /* 0450 */    0x20, 0x5D, 0x83, 0x7C, 0x1B, 0x78, 0x1A, 0x78,
       /* 0458 */    0xF8, 0x89, 0xF2, 0x20, 0xE4, 0x8B, 0xC4, 0x0B,
       /* 0460 */    0x41, 0x84, 0x28, 0xC7, 0x7B, 0x02, 0x11, 0x9E,
       /* 0468 */    0x86, 0x3C, 0xE1, 0x30, 0xE1, 0x4E, 0x36, 0xCA,
       /* 0470 */    0x4B, 0x43, 0x18, 0x43, 0xC7, 0x0A, 0x14, 0x39,
       /* 0478 */    0x7E, 0x08, 0x1F, 0x85, 0x7C, 0x10, 0x62, 0x51,
       /* 0480 */    0xCE, 0xB7, 0xF4, 0xFC, 0x61, 0x23, 0x67, 0x11,
       /* 0488 */    0xD4, 0x49, 0xC0, 0x87, 0x0E, 0x0F, 0xEA, 0x09,
       /* 0490 */    0x01, 0x13, 0x1A, 0x42, 0x47, 0x5C, 0xE0, 0x7A,
       /* 0498 */    0xDA, 0xC0, 0xFD, 0xFF, 0x8F, 0x42, 0xE0, 0x38,
       /* 04A0 */    0x80, 0xC0, 0x7B, 0xF0, 0xF8, 0xB4, 0x0E, 0x2E,
       /* 04A8 */    0x08, 0x9F, 0x3F, 0xE0, 0xFB, 0x44, 0x16, 0xEE,
       /* 04B0 */    0x5B, 0xC0, 0x0B, 0x0D, 0xEE, 0xEC, 0x01, 0x7C,
       /* 04B8 */    0xE4, 0x1E, 0x6B, 0x51, 0x02, 0x61, 0x50, 0x67,
       /* 04C0 */    0x0F, 0xC0, 0xF9, 0xFF, 0xFF, 0xEC, 0x01, 0xD6,
       /* 04C8 */    0x81, 0x3E, 0x7A, 0x1C, 0xE8, 0x31, 0x06, 0x89,
       /* 04D0 */    0x11, 0xC4, 0x77, 0x0E, 0x1F, 0x7C, 0xE2, 0xBC,
       /* 04D8 */    0x11, 0x3C, 0x7B, 0xF8, 0xC8, 0x71, 0x5C, 0x3E,
       /* 04E0 */    0x80, 0xF8, 0xEC, 0xE1, 0x2B, 0x88, 0xF1, 0xC2,
       /* 04E8 */    0xC4, 0x7C, 0x38, 0xF2, 0x35, 0x21, 0x5E, 0xE4,
       /* 04F0 */    0xB0, 0x61, 0x22, 0xFB, 0xEC, 0xC1, 0x22, 0x1E,
       /* 04F8 */    0x6B, 0xA9, 0x94, 0x83, 0x19, 0xFA, 0x4C, 0xE0,
       /* 0500 */    0x5B, 0xC2, 0x99, 0xBD, 0x71, 0x44, 0x38, 0xAE,
       /* 0508 */    0x93, 0x3B, 0x9F, 0x38, 0x1E, 0xD2, 0x49, 0xFB,
       /* 0510 */    0x6C, 0x06, 0xBE, 0xE3, 0x07, 0x70, 0x38, 0x9B,
       /* 0518 */    0x81, 0x67, 0x74, 0x70, 0x0F, 0x53, 0xE0, 0x93,
       /* 0520 */    0x75, 0x36, 0x43, 0x0F, 0xCB, 0xE7, 0x82, 0x57,
       /* 0528 */    0x07, 0x0F, 0x82, 0x9D, 0xCB, 0xC0, 0x75, 0xB8,
       /* 0530 */    0x83, 0xF3, 0xFF, 0x3F, 0x97, 0x01, 0xAF, 0x73,
       /* 0538 */    0xC7, 0x91, 0xB1, 0x53, 0x05, 0x47, 0x3C, 0xA8,
       /* 0540 */    0x33, 0x79, 0x77, 0x39, 0x6B, 0x1F, 0x3C, 0x02,
       /* 0548 */    0x9D, 0xE7, 0x29, 0xFB, 0x1C, 0x03, 0x73, 0x84,
       /* 0550 */    0x1E, 0x3B, 0xF8, 0x0E, 0x26, 0xF8, 0x83, 0x0C,
       /* 0558 */    0x1C, 0x98, 0x13, 0x38, 0xBA, 0x40, 0xA7, 0x10,
       /* 0560 */    0xE7, 0x14, 0x9E, 0x63, 0x80, 0x91, 0x1C, 0x4B,
       /* 0568 */    0x20, 0x2C, 0xC0, 0xB1, 0x40, 0xA2, 0x96, 0x49,
       /* 0570 */    0x61, 0x7C, 0x32, 0xF0, 0x39, 0x06, 0xAE, 0x24,
       /* 0578 */    0x38, 0xD4, 0xF8, 0x3C, 0xB2, 0x97, 0xBC, 0xE3,
       /* 0580 */    0x3C, 0x91, 0x37, 0x04, 0x8F, 0xFF, 0x81, 0x06,
       /* 0588 */    0xC6, 0xC0, 0x3D, 0xAD, 0x93, 0xF2, 0x4D, 0xEE,
       /* 0590 */    0xB1, 0xC4, 0x67, 0x43, 0x7E, 0x5C, 0x60, 0x68,
       /* 0598 */    0xFC, 0x74, 0x03, 0x86, 0xFF, 0xFF, 0xE9, 0x06,
       /* 05A0 */    0xCE, 0x9D, 0xC1, 0x47, 0x0D, 0xB0, 0x5C, 0x6D,
       /* 05A8 */    0x30, 0x58, 0xA1, 0x62, 0x34, 0x7A, 0xD7, 0x23,
       /* 05B0 */    0xA0, 0xC7, 0xD7, 0xD7, 0x45, 0x9A, 0x42, 0x45,
       /* 05B8 */    0x0C, 0xF1, 0x42, 0x60, 0x97, 0xC7, 0x71, 0xE4,
       /* 05C0 */    0x59, 0x17, 0x5C, 0xD8, 0xCF, 0xBA, 0x60, 0x0F,
       /* 05C8 */    0x75, 0x4E, 0xA2, 0x91, 0x46, 0x83, 0x3A, 0xC8,
       /* 05D0 */    0xF0, 0x03, 0xC1, 0x63, 0x90, 0x4F, 0x1E, 0x06,
       /* 05D8 */    0x39, 0xD1, 0xD3, 0x7A, 0x5C, 0x78, 0x1A, 0xF0,
       /* 05E0 */    0xB8, 0xD9, 0x35, 0xC1, 0x1F, 0x04, 0x1F, 0x0F,
       /* 05E8 */    0xF0, 0x97, 0xA0, 0x80, 0x27, 0xFA, 0xF0, 0x01,
       /* 05F0 */    0xEB, 0x10, 0x82, 0x3F, 0x61, 0xC0, 0x1F, 0x8F,
       /* 05F8 */    0x8F, 0x01, 0x3E, 0xD1, 0xFA, 0x48, 0x45, 0x06,
       /* 0600 */    0x81, 0x3A, 0xBC, 0xF1, 0x91, 0x9E, 0xD6, 0xDB,
       /* 0608 */    0x80, 0x0F, 0x09, 0x87, 0xC5, 0x0E, 0x1E, 0x3E,
       /* 0610 */    0xA3, 0x80, 0x63, 0x3C, 0xF0, 0x6F, 0x9F, 0x4F,
       /* 0618 */    0x07, 0xFF, 0xFF, 0x08, 0xAF, 0x0C, 0x9E, 0xAF,
       /* 0620 */    0x0F, 0x66, 0x60, 0xB9, 0x75, 0xF8, 0xD0, 0x10,
       /* 0628 */    0xEA, 0xA9, 0xC3, 0x33, 0x78, 0xBF, 0xF0, 0x09,
       /* 0630 */    0x04, 0x98, 0x04, 0x36, 0x34, 0x48, 0x26, 0x73,
       /* 0638 */    0x9D, 0xB2, 0x71, 0xDA, 0xA1, 0xC3, 0xB4, 0xC8,
       /* 0640 */    0x03, 0x82, 0x8E, 0x06, 0x3E, 0xD2, 0xF8, 0x80,
       /* 0648 */    0xCB, 0x0F, 0x49, 0x86, 0xB0, 0x30, 0x0A, 0x9D,
       /* 0650 */    0x7C, 0x3C, 0x1A, 0x0F, 0x8F, 0xC0, 0x51, 0x10,
       /* 0658 */    0x8F, 0xDC, 0x21, 0x21, 0x64, 0xE4, 0x10, 0x80,
       /* 0660 */    0x3E, 0x2C, 0x30, 0x88, 0x87, 0x2E, 0x13, 0xF8,
       /* 0668 */    0xD8, 0xE0, 0xF3, 0x1A, 0x9C, 0xE3, 0x91, 0x27,
       /* 0670 */    0xE3, 0x69, 0x78, 0xDC, 0xB8, 0x53, 0x07, 0xDC,
       /* 0678 */    0x71, 0xE0, 0x0F, 0x3A, 0xF8, 0x53, 0x20, 0x3F,
       /* 0680 */    0x27, 0x91, 0xF3, 0x1F, 0xA8, 0x04, 0x9E, 0x0B,
       /* 0688 */    0x40, 0x01, 0xE4, 0xAB, 0x80, 0x95, 0x1E, 0x07,
       /* 0690 */    0xE8, 0x14, 0x42, 0x84, 0x89, 0x66, 0x78, 0x4C,
       /* 0698 */    0xF0, 0xD3, 0x17, 0x1D, 0x8F, 0x87, 0xE5, 0xFF,
       /* 06A0 */    0xFF, 0x20, 0xF9, 0xF1, 0x85, 0x61, 0x3F, 0x9D,
       /* 06A8 */    0xF8, 0xD4, 0x76, 0x8C, 0xEF, 0x05, 0x8F, 0x5F,
       /* 06B0 */    0x18, 0x58, 0x0F, 0x9B, 0xC3, 0x1A, 0x2D, 0xEC,
       /* 06B8 */    0xD1, 0x3E, 0x3E, 0xF8, 0xEA, 0xE1, 0x89, 0xF9,
       /* 06C0 */    0x16, 0xE7, 0x43, 0x07, 0x58, 0x0E, 0x52, 0xC0,
       /* 06C8 */    0xE3, 0xFC, 0xC3, 0xE6, 0xF0, 0x02, 0xF1, 0x1C,
       /* 06D0 */    0xE6, 0x83, 0x07, 0x3B, 0xF1, 0xB1, 0x53, 0x1F,
       /* 06D8 */    0xD7, 0x75, 0x8E, 0x43, 0x9C, 0x21, 0xF8, 0x20,
       /* 06E0 */    0x1C, 0x67, 0x91, 0xF2, 0x38, 0x53, 0x72, 0x95,
       /* 06E8 */    0x7C, 0xE0, 0xA8, 0x1A, 0x45, 0xF0, 0xBE, 0x15,
       /* 06F0 */    0xB0, 0x08, 0xC7, 0x08, 0x94, 0x78, 0x0A, 0x49,
       /* 06F8 */    0x3F, 0x46, 0xA0, 0xC4, 0xC2, 0x51, 0x10, 0x1F,
       /* 0700 */    0x23, 0x7C, 0x90, 0xB0, 0x8D, 0x63, 0x04, 0x6A,
       /* 0708 */    0x8C, 0x3E, 0x0C, 0xF2, 0xA3, 0x00, 0x3F, 0x45,
       /* 0710 */    0xC0, 0x3F, 0xF1, 0xE0, 0xC6, 0x0A, 0x77, 0x70,
       /* 0718 */    0x6C, 0x85, 0x2F, 0x3D, 0x87, 0x76, 0x76, 0x0F,
       /* 0720 */    0x09, 0x51, 0xDE, 0x5F, 0x8D, 0x18, 0x21, 0x60,
       /* 0728 */    0xD8, 0x68, 0x1E, 0x23, 0xEE, 0xD8, 0xCE, 0x2E,
       /* 0730 */    0x45, 0x9E, 0x53, 0xAC, 0x47, 0x25, 0x7E, 0xA4,
       /* 0738 */    0x80, 0xF7, 0xFF, 0x27, 0xF0, 0x31, 0x0F, 0x77,
       /* 0740 */    0xA4, 0x80, 0x33, 0x93, 0xF3, 0xC0, 0xA8, 0x1B,
       /* 0748 */    0x8B, 0xE0, 0x8D, 0xF6, 0x92, 0x8D, 0x3D, 0x58,
       /* 0750 */    0x00, 0x8F, 0x13, 0xA3, 0x0F, 0x16, 0xE0, 0x3A,
       /* 0758 */    0x13, 0xF8, 0x60, 0x01, 0x5C, 0xCF, 0x07, 0x3E,
       /* 0760 */    0x1D, 0x80, 0xF5, 0xF2, 0xC3, 0xEF, 0x07, 0x30,
       /* 0768 */    0x4E, 0x18, 0x30, 0xCE, 0x07, 0x98, 0x1B, 0x86,
       /* 0770 */    0xC3, 0x2C, 0x59, 0x27, 0x0C, 0x7E, 0x5C, 0x73,
       /* 0778 */    0xA4, 0xD5, 0x6A, 0x20, 0xEC, 0x12, 0x86, 0x23,
       /* 0780 */    0x18, 0x04, 0x4C, 0x27, 0x0B, 0x8F, 0xDA, 0x11,
       /* 0788 */    0x28, 0x24, 0xED, 0x80, 0x81, 0x12, 0x73, 0xC0,
       /* 0790 */    0xA0, 0x20, 0x06, 0x74, 0x52, 0x08, 0x9D, 0x45,
       /* 0798 */    0xFD, 0xFF, 0x3F, 0x60, 0xF0, 0x83, 0x9D, 0x4F,
       /* 07A0 */    0x0D, 0xEC, 0x72, 0xEB, 0xEB, 0x85, 0xE7, 0xE9,
       /* 07A8 */    0x29, 0x73, 0x3C, 0x1F, 0x43, 0x0C, 0xEB, 0x8B,
       /* 07B0 */    0x09, 0x78, 0x6E, 0x14, 0xEC, 0x34, 0x8B, 0xB9,
       /* 07B8 */    0xB8, 0xB1, 0xB3, 0x1D, 0x3B, 0x15, 0x18, 0xE5,
       /* 07C0 */    0x70, 0xDF, 0xC0, 0xAC, 0xE6, 0xAA, 0x80, 0x9A,
       /* 07C8 */    0x11, 0x86, 0xC0, 0xE3, 0xF5, 0x81, 0x11, 0x4C,
       /* 07D0 */    0xFA, 0x2E, 0x14, 0x20, 0x47, 0xE7, 0x32, 0x47,
       /* 07D8 */    0x8F, 0x3A, 0x47, 0xF9, 0x24, 0xC5, 0x47, 0xEF,
       /* 07E0 */    0xA3, 0xB9, 0x4F, 0x2B, 0x70, 0xCF, 0x52, 0x3E,
       /* 07E8 */    0x42, 0x01, 0xDF, 0x81, 0xF9, 0x52, 0x80, 0x3B,
       /* 07F0 */    0xA0, 0x80, 0xE1, 0xFA, 0x80, 0xFD, 0xFF, 0xC3,
       /* 07F8 */    0xBC, 0xA2, 0xE0, 0xCF, 0x28, 0xC0, 0x24, 0xF0,
       /* 0800 */    0x59, 0x0A, 0x74, 0x90, 0x3E, 0xA3, 0x00, 0xD7,
       /* 0808 */    0xA1, 0xE2, 0xCE, 0x28, 0xE0, 0x38, 0x10, 0x1E,
       /* 0810 */    0x3D, 0x3F, 0x47, 0xB1, 0x38, 0xC7, 0x12, 0x74,
       /* 0818 */    0xA8, 0x97, 0x83, 0x6E, 0x9B, 0xEC, 0x58, 0x82,
       /* 0820 */    0x8D, 0x72, 0x2C, 0x41, 0x85, 0xA0, 0xD0, 0x09,
       /* 0828 */    0xCA, 0x27, 0x09, 0x7E, 0xC6, 0xE3, 0x20, 0x06,
       /* 0830 */    0x74, 0xF6, 0x93, 0x04, 0x5A, 0xC5, 0x49, 0x02,
       /* 0838 */    0x19, 0xF6, 0x5C, 0x02, 0x84, 0xFE, 0xFF, 0xE7,
       /* 0840 */    0x12, 0xF0, 0x9E, 0x13, 0x9F, 0x26, 0xC0, 0x35,
       /* 0848 */    0x6B, 0xFC, 0x69, 0x02, 0x7F, 0x3E, 0x01, 0x16,
       /* 0850 */    0x47, 0x46, 0xC0, 0xD9, 0x41, 0x90, 0x1F, 0x19,
       /* 0858 */    0x81, 0xEF, 0xB9, 0x84, 0xFF, 0xFF, 0xCF, 0x25,
       /* 0860 */    0xE0, 0x19, 0xB6, 0xCF, 0x25, 0x80, 0x93, 0x9B,
       /* 0868 */    0x34, 0x3F, 0x97, 0xC0, 0x1D, 0xBA, 0xE3, 0x9C,
       /* 0870 */    0xBE, 0x10, 0x57, 0x58, 0xDF, 0x33, 0xE2, 0x27,
       /* 0878 */    0x18, 0xE3, 0x58, 0x82, 0x0A, 0x70, 0xF8, 0x02,
       /* 0880 */    0xB4, 0xFF, 0xFF, 0x4F, 0x23, 0xE0, 0x3F, 0x17,
       /* 0888 */    0x7B, 0xF4, 0xFC, 0x40, 0xE2, 0x43, 0x06, 0x19,
       /* 0890 */    0x3D, 0x8D, 0x7C, 0xF8, 0x82, 0x1E, 0xF1, 0x30,
       /* 0898 */    0x02, 0xB4, 0x07, 0xFA, 0xF0, 0x05, 0xC6, 0xDB,
       /* 08A0 */    0x03, 0x3F, 0x6E, 0x02, 0xAF, 0xD8, 0x87, 0x12,
       /* 08A8 */    0xD0, 0xC1, 0xF2, 0x43, 0x09, 0xF8, 0xFF, 0xFF,
       /* 08B0 */    0x87, 0x12, 0xF0, 0x8C, 0x1E, 0x77, 0xF6, 0x02,
       /* 08B8 */    0xC7, 0x55, 0xC2, 0x83, 0x37, 0xE0, 0x31, 0x3D,
       /* 08C0 */    0x16, 0x18, 0x90, 0x9D, 0x4B, 0x98, 0xEC, 0x73,
       /* 08C8 */    0x09, 0xFA, 0x3C, 0x62, 0xAB, 0xB7, 0x63, 0x72,
       /* 08D0 */    0x52, 0xC7, 0x08, 0x3F, 0x97, 0xA0, 0x24, 0x9F,
       /* 08D8 */    0x4B, 0x00, 0xDA, 0x1C, 0xBA, 0xC0, 0xF1, 0xFF,
       /* 08E0 */    0x3F, 0x74, 0x01, 0x3C, 0xB8, 0x06, 0xFA, 0x40,
       /* 08E8 */    0x02, 0xAE, 0x7B, 0x82, 0x0F, 0x24, 0xC0, 0xF5,
       /* 08F0 */    0x28, 0x00, 0x9E, 0x23, 0x08, 0xFE, 0xC8, 0xEC,
       /* 08F8 */    0x03, 0x3F, 0xEE, 0xA4, 0xEF, 0x53, 0x75, 0x5C,
       /* 0900 */    0xE3, 0x1F, 0xF1, 0x11, 0xFC, 0xFF, 0x1B, 0x3F,
       /* 0908 */    0x7D, 0x91, 0x7B, 0x81, 0x8F, 0x25, 0x3A, 0xF0,
       /* 0910 */    0xA3, 0x04, 0x53, 0x48, 0xEE, 0x01, 0x02, 0x25,
       /* 0918 */    0x10, 0x8E, 0x82, 0xF8, 0x00, 0xE1, 0xF0, 0xE7,
       /* 0920 */    0x24, 0xE8, 0x57, 0x4B, 0x7E, 0x7E, 0xC0, 0x5F,
       /* 0928 */    0x47, 0xD8, 0x28, 0xD9, 0x71, 0x1E, 0x37, 0x4A,
       /* 0930 */    0xB8, 0x60, 0xAF, 0x0F, 0x86, 0xB8, 0xC3, 0x13,
       /* 0938 */    0xE1, 0x67, 0x5B, 0xCC, 0x31, 0x1F, 0xEE, 0x51,
       /* 0940 */    0xE1, 0x51, 0x09, 0x5C, 0xB3, 0x86, 0x75, 0x58,
       /* 0948 */    0x02, 0x3C, 0x78, 0x38, 0x4C, 0x00, 0xAD, 0xFF,
       /* 0950 */    0xFF, 0x61, 0x09, 0xFC, 0xB3, 0xE7, 0x83, 0x38,
       /* 0958 */    0x11, 0x0F, 0x1F, 0x03, 0x74, 0x2C, 0x6F, 0x07,
       /* 0960 */    0xEC, 0xD8, 0xAB, 0xC3, 0x12, 0x6A, 0x0C, 0x3E,
       /* 0968 */    0xFA, 0xFA, 0xE8, 0xC4, 0x20, 0x1F, 0x0F, 0x31,
       /* 0970 */    0xC7, 0x16, 0x76, 0xC2, 0x07, 0xF8, 0xF6, 0xFF,
       /* 0978 */    0x3F, 0xE1, 0x03, 0xD6, 0xCE, 0x24, 0xBE, 0x3F,
       /* 0980 */    0x60, 0xAF, 0x2D, 0xF8, 0xA3, 0x09, 0xF0, 0x06,
       /* 0988 */    0xF7, 0xD1, 0x04, 0x70, 0xF5, 0xFF, 0x3F, 0x9A,
       /* 0990 */    0xE0, 0x84, 0x9E, 0x9D, 0x50, 0x67, 0x03, 0x1F,
       /* 0998 */    0x98, 0x6C, 0x14, 0x95, 0x40, 0xBF, 0x69, 0xBC,
       /* 09A0 */    0x9F, 0x07, 0x31, 0xF4, 0x49, 0xF0, 0x53, 0x13,
       /* 09A8 */    0x06, 0xC2, 0x47, 0x13, 0x9F, 0x24, 0x7C, 0x9C,
       /* 09B0 */    0xE0, 0x52, 0xE0, 0x28, 0x88, 0x8F, 0x13, 0x8E,
       /* 09B8 */    0x79, 0x36, 0x41, 0x9F, 0x0A, 0x7C, 0x3F, 0x38,
       /* 09C0 */    0x09, 0x6C, 0xA8, 0xF3, 0x04, 0x50, 0x19, 0x07,
       /* 09C8 */    0xFE, 0xE8, 0x04, 0x57, 0xD8, 0xC9, 0x04, 0x64,
       /* 09D0 */    0x27, 0x72, 0x60, 0x6E, 0xE2, 0x1C, 0x01, 0x94,
       /* 09D8 */    0xFE, 0xFF, 0x27, 0x72, 0xE0, 0x70, 0x5A, 0xE5,
       /* 09E0 */    0xA7, 0x01, 0x7C, 0xA0, 0xA3, 0x2A, 0x3A, 0xD6,
       /* 09E8 */    0x93, 0x41, 0x23, 0x7E, 0x07, 0x08, 0x77, 0xEA,
       /* 09F0 */    0xE7, 0xF9, 0x40, 0xC0, 0x8E, 0xE5, 0x3E, 0x2C,
       /* 09F8 */    0xF1, 0xF3, 0x92, 0x4F, 0x11, 0x3E, 0x41, 0x70,
       /* 0A00 */    0x49, 0x27, 0x08, 0x0A, 0x62, 0x40, 0xE7, 0x3D,
       /* 0A08 */    0x5D, 0x7A, 0x10, 0xF4, 0x7C, 0xC3, 0x8F, 0xC5,
       /* 0A10 */    0xBE, 0xB6, 0x1C, 0xC5, 0x23, 0x51, 0x82, 0xF9,
       /* 0A18 */    0x0E, 0x01, 0xF4, 0xB6, 0x04, 0x4F, 0xDE, 0x6D,
       /* 0A20 */    0x09, 0x44, 0x18, 0x77, 0x72, 0x16, 0x0C, 0xE1,
       /* 0A28 */    0x28, 0x7D, 0x80, 0x80, 0x31, 0xC0, 0xC7, 0x84,
       /* 0A30 */    0x62, 0xDF, 0x37, 0xF4, 0xBE, 0x04, 0xF3, 0x8A,
       /* 0A38 */    0x09, 0xAE, 0xF3, 0x12, 0x30, 0x9E, 0x89, 0xFF,
       /* 0A40 */    0xFF, 0x3E, 0xCF, 0x21, 0xE4, 0x02, 0xC0, 0x4F,
       /* 0A48 */    0xE5, 0x60, 0x39, 0x36, 0x80, 0x67, 0x1C, 0xEC,
       /* 0A50 */    0x0A, 0x80, 0x3F, 0x32, 0xC1, 0x3E, 0x35, 0xE2,
       /* 0A58 */    0x8E, 0x4C, 0x60, 0x98, 0x08, 0x3B, 0xE7, 0x1C,
       /* 0A60 */    0x08, 0xF6, 0x60, 0x02, 0xBC, 0x55, 0x1C, 0x4C,
       /* 0A68 */    0x00, 0x2D, 0xC3, 0x0D, 0x72, 0x3E, 0x8F, 0xE4,
       /* 0A70 */    0xC6, 0x79, 0xC3, 0xF3, 0x89, 0x84, 0x9D, 0xC4,
       /* 0A78 */    0xD9, 0xFF, 0xFF, 0x60, 0xC2, 0x25, 0x41, 0x48,
       /* 0A80 */    0xFE, 0x61, 0x09, 0x89, 0x8D, 0x9D, 0xFE, 0x39,
       /* 0A88 */    0xBC, 0xB9, 0x32, 0x82, 0x62, 0x8F, 0x4B, 0xA8,
       /* 0A90 */    0xC3, 0x84, 0x45, 0x9E, 0x26, 0x50, 0xA7, 0x69,
       /* 0A98 */    0x9F, 0x90, 0xC9, 0x69, 0x82, 0x46, 0x3E, 0x4D,
       /* 0AA0 */    0xA0, 0x87, 0xE6, 0x89, 0x9D, 0x06, 0x6E, 0xDC,
       /* 0AA8 */    0xA7, 0xC1, 0x6F, 0x87, 0xFC, 0xC0, 0x04, 0x7C,
       /* 0AB0 */    0x0F, 0x0F, 0xF8, 0xD3, 0x04, 0xEC, 0xF3, 0x0D,
       /* 0AB8 */    0x1B, 0x74, 0xC8, 0x77, 0x87, 0x17, 0x59, 0x1F,
       /* 0AC0 */    0x26, 0x80, 0xF9, 0xC8, 0x7D, 0x98, 0x00, 0xFF,
       /* 0AC8 */    0xFF, 0xFF, 0xD0, 0x04, 0x5C, 0x15, 0xDA, 0xF4,
       /* 0AD0 */    0xA9, 0xD1, 0xA8, 0x55, 0x83, 0x32, 0x35, 0xCA,
       /* 0AD8 */    0x34, 0xA8, 0xD5, 0xA7, 0x52, 0x63, 0xC6, 0xA4,
       /* 0AE0 */    0x9D, 0x54, 0xBD, 0x54, 0x8D, 0xD5, 0x91, 0x9E,
       /* 0AE8 */    0x0B, 0x02, 0x71, 0xD4, 0x05, 0x0B, 0xC4, 0xD1,
       /* 0AF0 */    0x9F, 0x40, 0x02, 0xB1, 0xB8, 0x57, 0x88, 0x40,
       /* 0AF8 */    0x2C, 0xF5, 0x05, 0x21, 0x10, 0xCB, 0xD4, 0x01,
       /* 0B00 */    0xC2, 0x82, 0xBC, 0xEF, 0x05, 0xE2, 0x60, 0x52,
       /* 0B08 */    0x06, 0x40, 0xAD, 0x80, 0xB0, 0x78, 0xCB, 0x12,
       /* 0B10 */    0x88, 0x23, 0x9A, 0x39, 0x01, 0x50, 0x37, 0x20,
       /* 0B18 */    0x4C, 0xA0, 0x1E, 0x10, 0x26, 0xDC, 0x10, 0x08,
       /* 0B20 */    0x8B, 0xA3, 0x08, 0x84, 0x09, 0xB6, 0x04, 0xC2,
       /* 0B28 */    0xE2, 0x82, 0x50, 0xC1, 0x9E, 0x8E, 0xFD, 0x4C,
       /* 0B30 */    0x3E, 0x88, 0x80, 0x1C, 0xDA, 0x14, 0x10, 0x93,
       /* 0B38 */    0xA0, 0x0A, 0x88, 0x25, 0x78, 0x0C, 0x08, 0xC8,
       /* 0B40 */    0x71, 0x40, 0x04, 0xE4, 0x50, 0xB6, 0x80, 0x58,
       /* 0B48 */    0x44, 0x10, 0x01, 0x59, 0xCF, 0x1B, 0x4E, 0x40,
       /* 0B50 */    0x16, 0x07, 0x22, 0x20, 0x8B, 0x36, 0x06, 0xC4,
       /* 0B58 */    0x22, 0x80, 0x08, 0xC8, 0xC9, 0x5E, 0x70, 0x81,
       /* 0B60 */    0x48, 0x4C, 0x10, 0x01, 0x39, 0xEC, 0x8A, 0x05,
       /* 0B68 */    0xE4, 0xE8, 0x20, 0x02, 0xB2, 0x4E, 0x6F, 0x40,
       /* 0B70 */    0x4C, 0x34, 0x88, 0x80, 0x2C, 0xFE, 0xB1, 0x21,
       /* 0B78 */    0x20, 0x47, 0x01, 0x11, 0x90, 0x03, 0x3E, 0x28,
       /* 0B80 */    0x02, 0x91, 0xB8, 0x20, 0x02, 0xB2, 0x46, 0x7B,
       /* 0B88 */    0x40, 0x4C, 0x30, 0x88, 0x80, 0x2C, 0xFB, 0x07,
       /* 0B90 */    0x25, 0x20, 0x87, 0x00, 0xD1, 0x00, 0xC9, 0xEB,
       /* 0B98 */    0x40, 0x03, 0x24, 0xBF, 0x89, 0x40, 0x44, 0xE2,
       /* 0BA0 */    0xAB, 0x22, 0x10, 0xD1, 0x0B, 0x22, 0x20, 0xFF,
       /* 0BA8 */    0xFF, 0xA5, 0xFF, 0x38, 0x04, 0xE4, 0x20, 0x20,
       /* 0BB0 */    0x02, 0x26, 0x1A, 0x81, 0xE9, 0x0B, 0x21, 0x10,
       /* 0BB8 */    0xF9, 0xFF, 0x03
   })
   Name (QLST, Package (0x07)
   {
       0x06,
       Package (0x08)
       {
           0x2700,
           "Advanced Clock Calibration",
           Zero,
           0x04,
           Buffer (0x09)
           {
               "Disabled"
           },

           Buffer (0x05)
           {
               "Auto"
           },

           Buffer (0x0A)
           {
               "All Cores"
           },

           Buffer (0x09)
           {
               "Per Core"
           }
       },

       Package (0x16)
       {
           0x455C,
           "Value (All Cores)",
           0x02,
           Buffer (0x05)
           {
               0x82, 0x02, 0x01, 0x03, 0x00
           },

           Buffer (0x05)
           {
               0x86, 0x10, 0x00, 0x02, 0x00
           },

           0x10,
           Buffer (0x03)
           {
               "0%"
           },

           Buffer (0x05)
           {
               "+ 2%"
           },

           Buffer (0x05)
           {
               "+ 4%"
           },

           Buffer (0x05)
           {
               "+ 6%"
           },

           Buffer (0x05)
           {
               "+ 8%"
           },

           Buffer (0x05)
           {
               "+10%"
           },

           Buffer (0x05)
           {
               "+12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x05)
           {
               "- 2%"
           },

           Buffer (0x05)
           {
               "- 4%"
           },

           Buffer (0x05)
           {
               "- 6%"
           },

           Buffer (0x05)
           {
               "- 8%"
           },

           Buffer (0x05)
           {
               "-10%"
           },

           Buffer (0x05)
           {
               "-12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           }
       },

       Package (0x16)
       {
           0x4560,
           "Value (Core 0)",
           0x02,
           Buffer (0x05)
           {
               0x82, 0x03, 0x01, 0x03, 0x00
           },

           Buffer (0x05)
           {
               0x86, 0x10, 0x00, 0x02, 0x00
           },

           0x10,
           Buffer (0x03)
           {
               "0%"
           },

           Buffer (0x05)
           {
               "+ 2%"
           },

           Buffer (0x05)
           {
               "+ 4%"
           },

           Buffer (0x05)
           {
               "+ 6%"
           },

           Buffer (0x05)
           {
               "+ 8%"
           },

           Buffer (0x05)
           {
               "+10%"
           },

           Buffer (0x05)
           {
               "+12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x05)
           {
               "- 2%"
           },

           Buffer (0x05)
           {
               "- 4%"
           },

           Buffer (0x05)
           {
               "- 6%"
           },

           Buffer (0x05)
           {
               "- 8%"
           },

           Buffer (0x05)
           {
               "-10%"
           },

           Buffer (0x05)
           {
               "-12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           }
       },

       Package (0x16)
       {
           0x4564,
           "Value (Core 1)",
           0x02,
           Buffer (0x05)
           {
               0x82, 0x03, 0x01, 0x03, 0x00
           },

           Buffer (0x05)
           {
               0x86, 0x10, 0x00, 0x02, 0x00
           },

           0x10,
           Buffer (0x03)
           {
               "0%"
           },

           Buffer (0x05)
           {
               "+ 2%"
           },

           Buffer (0x05)
           {
               "+ 4%"
           },

           Buffer (0x05)
           {
               "+ 6%"
           },

           Buffer (0x05)
           {
               "+ 8%"
           },

           Buffer (0x05)
           {
               "+10%"
           },

           Buffer (0x05)
           {
               "+12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x05)
           {
               "- 2%"
           },

           Buffer (0x05)
           {
               "- 4%"
           },

           Buffer (0x05)
           {
               "- 6%"
           },

           Buffer (0x05)
           {
               "- 8%"
           },

           Buffer (0x05)
           {
               "-10%"
           },

           Buffer (0x05)
           {
               "-12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           }
       },

       Package (0x16)
       {
           0x4568,
           "Value (Core 2)",
           0x02,
           Buffer (0x05)
           {
               0x82, 0x03, 0x01, 0x03, 0x00
           },

           Buffer (0x05)
           {
               0x86, 0x10, 0x00, 0x02, 0x00
           },

           0x10,
           Buffer (0x03)
           {
               "0%"
           },

           Buffer (0x05)
           {
               "+ 2%"
           },

           Buffer (0x05)
           {
               "+ 4%"
           },

           Buffer (0x05)
           {
               "+ 6%"
           },

           Buffer (0x05)
           {
               "+ 8%"
           },

           Buffer (0x05)
           {
               "+10%"
           },

           Buffer (0x05)
           {
               "+12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x05)
           {
               "- 2%"
           },

           Buffer (0x05)
           {
               "- 4%"
           },

           Buffer (0x05)
           {
               "- 6%"
           },

           Buffer (0x05)
           {
               "- 8%"
           },

           Buffer (0x05)
           {
               "-10%"
           },

           Buffer (0x05)
           {
               "-12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           }
       },

       Package (0x16)
       {
           0x456C,
           "Value (Core 3)",
           0x02,
           Buffer (0x05)
           {
               0x82, 0x03, 0x01, 0x03, 0x00
           },

           Buffer (0x05)
           {
               0x86, 0x10, 0x00, 0x02, 0x00
           },

           0x10,
           Buffer (0x03)
           {
               "0%"
           },

           Buffer (0x05)
           {
               "+ 2%"
           },

           Buffer (0x05)
           {
               "+ 4%"
           },

           Buffer (0x05)
           {
               "+ 6%"
           },

           Buffer (0x05)
           {
               "+ 8%"
           },

           Buffer (0x05)
           {
               "+10%"
           },

           Buffer (0x05)
           {
               "+12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x09)
           {
               "RESERVED"
           },

           Buffer (0x05)
           {
               "- 2%"
           },

           Buffer (0x05)
           {
               "- 4%"
           },

           Buffer (0x05)
           {
               "- 6%"
           },

           Buffer (0x05)
           {
               "- 8%"
           },

           Buffer (0x05)
           {
               "-10%"
           },

           Buffer (0x05)
           {
               "-12%"
           },

           Buffer (0x09)
           {
               "RESERVED"
           }
       }
   })
   Name (_S0, Package (0x04)
   {
       Zero,
       Zero,
       Zero,
       Zero
   })
   If (SS1)
   {
       Name (_S1, Package (0x04)
       {
           One,
           Zero,
           Zero,
           Zero
       })
   }

   If (SS3)
   {
       Name (_S3, Package (0x04)
       {
           0x03,
           Zero,
           Zero,
           Zero
       })
   }

   If (SS4)
   {
       Name (_S4, Package (0x04)
       {
           0x04,
           Zero,
           Zero,
           Zero
       })
   }

   Name (_S5, Package (0x04)
   {
       0x05,
       Zero,
       Zero,
       Zero
   })
   Method (PTS, 1, NotSerialized)
   {
       If (Arg0)
       {
           \_SB.PCI0.SBRG.SIOS (Arg0)
           NPTS (Arg0)
           NB2S (Arg0)
           SPTS (Arg0)
           \_SB.PCI0.SBRG.EPTS (Arg0)
           APTS (Arg0)
       }
   }

   Method (WAK, 1, NotSerialized)
   {
       \_SB.PCI0.SBRG.SIOW (Arg0)
       NWAK (Arg0)
       NB2W (Arg0)
       SWAK (Arg0)
       \_SB.PCI0.SBRG.EWAK (Arg0)
       AWAK (Arg0)
   }

   Scope (\_PR.P001)
   {
       Name (_PCT, Package (0x02)
       {
           ResourceTemplate ()
           {
               Register (FFixedHW,
                   0x00,               // Bit Width
                   0x00,               // Bit Offset
                   0x0000000000000000, // Address
                   ,)
           },

           ResourceTemplate ()
           {
               Register (FFixedHW,
                   0x00,               // Bit Width
                   0x00,               // Bit Offset
                   0x0000000000000000, // Address
                   ,)
           }
       })
       Name (_PSS, Package (0x06)
       {
           Package (0x06)
           {
               0x000009C4,
               0x0000C350,
               0x00000064,
               0x00000009,
               0xE8201391,
               0x00000391
           },

           Package (0x06)
           {
               0x00000960,
               0x0000B3C4,
               0x00000064,
               0x00000009,
               0xE82013D0,
               0x000003D0
           },

           Package (0x06)
           {
               0x00000898,
               0x0000970F,
               0x00000064,
               0x00000009,
               0xE820144E,
               0x0000044E
           },

           Package (0x06)
           {
               0x000007D0,
               0x00007D64,
               0x00000064,
               0x00000009,
               0xE82014CC,
               0x000004CC
           },

           Package (0x06)
           {
               0x00000708,
               0x00006699,
               0x00000064,
               0x00000009,
               0xE820154A,
               0x0000054A
           },

           Package (0x06)
           {
               0x000003E8,
               0x00003640,
               0x00000064,
               0x00000009,
               0xE8201582,
               0x00000582
           }
       })
       Name (_PPC, 0x00)
       Name (_PSD, Package (0x01)
       {
           Package (0x05)
           {
               0x05,
               0x00,
               0x00000000,
               0x000000FD,
               0x00000002
           }
       })
   }

   Scope (\_PR.P002)
   {
       Name (_PCT, Package (0x02)
       {
           ResourceTemplate ()
           {
               Register (FFixedHW,
                   0x00,               // Bit Width
                   0x00,               // Bit Offset
                   0x0000000000000000, // Address
                   ,)
           },

           ResourceTemplate ()
           {
               Register (FFixedHW,
                   0x00,               // Bit Width
                   0x00,               // Bit Offset
                   0x0000000000000000, // Address
                   ,)
           }
       })
       Name (_PSS, Package (0x06)
       {
           Package (0x06)
           {
               0x000009C4,
               0x0000C350,
               0x00000064,
               0x00000009,
               0xE8201391,
               0x00000391
           },

           Package (0x06)
           {
               0x00000960,
               0x0000B3C4,
               0x00000064,
               0x00000009,
               0xE82013D0,
               0x000003D0
           },

           Package (0x06)
           {
               0x00000898,
               0x0000970F,
               0x00000064,
               0x00000009,
               0xE820144E,
               0x0000044E
           },

           Package (0x06)
           {
               0x000007D0,
               0x00007D64,
               0x00000064,
               0x00000009,
               0xE82014CC,
               0x000004CC
           },

           Package (0x06)
           {
               0x00000708,
               0x00006699,
               0x00000064,
               0x00000009,
               0xE820154A,
               0x0000054A
           },

           Package (0x06)
           {
               0x000003E8,
               0x00003640,
               0x00000064,
               0x00000009,
               0xE8201582,
               0x00000582
           }
       })
       Name (_PPC, 0x00)
       Name (_PSD, Package (0x01)
       {
           Package (0x05)
           {
               0x05,
               0x00,
               0x00000000,
               0x000000FD,
               0x00000002
           }
       })
   }
}