/*
RSD PTR: Checksum=187, OEMID=DELL, RsdtAddress=0x000fcce8
 */
/*
RSDT: Length=72, Revision=1, Checksum=249,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
	Entries={ 0x000fce14, 0xfff668d3, 0x000fd026, 0x000fd04e, 0x000fd0e4, 0x000fd122, 0x000fd3b0, 0x000fd37e, 0x000fcf7c }
 */
/*
	DSDT=0xfff62da0
	INT_MODEL=APIC
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0x70, ACPI_DISABLE=0x71, S4BIOS_REQ=0x0
	PM1a_EVT_BLK=0x800-0x803
	PM1a_CNT_BLK=0x804-0x805
	PM2_TMR_BLK=0x808-0x80b
	PM2_GPE0_BLK=0x828-0x82f
	P_LVL2_LAT=500ms, P_LVL3_LAT=5000ms
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=0, DUTY_WIDTH=0
	DAY_ALRM=0, MON_ALRM=0, CENTURY=0
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4}
 */
/*
DSDT: Length=14866, Revision=1, Checksum=46,
	OEMID=DELL, OEM Table ID=dt_ex, OEM Revision=0x1000,
	Creator ID=INTL, Creator Revision=0x20050624
 */
DefinitionBlock ("acpi_dst.aml", "DSDT", 0x1, "DELL", "dt_ex", 0x1000)
{
Method(DBIN) {
    Noop
}
Scope(\) {
    Device(_SB.VBTN) {
        Name(_HID, 0x0c0cd041)
        Name(_PRW, Package(0x02) {
            One,
            0x04,
        })
    }
    OperationRegion(SSTS, SystemIO, 0x0828, One)
    Field(SSTS, ByteAcc, NoLock, WriteAsZeros) {
        TSTS,	1
    }
    OperationRegion(SACT, SystemIO, 0x082a, One)
    Field(SACT, ByteAcc, NoLock, WriteAsZeros) {
        ,	2,
        TPOL,	1
    }
}
Scope(_GPE) {
    Method(_L00) {
        Store(Zero, TPOL)
        Store(One, TSTS)
        Notify(\_SB.VBTN, 0x02)
    }
}
Scope(_SB) {
    Method(_INI) {
        If(CondRefOf(_OSI, Local0)) {
            If(_OSI("Windows\x202001")) {
                Store(0x04, MSOS)
            }
        }
    }
}
Scope(\) {
    Name(MSOS, Zero)
    Mutex(MTX, 1)
    Method(CMRD, 1) {
        Acquire(SMIM, 0xffff)
        Store(Arg0, Local0)
        And(Local0, 0x7f, Local0)
        Store(Local0, SMID)
        Store(0x84, SMIC)
        Store(0x85, SMIC)
        Store(SMID, Local0)
        Release(SMIM)
        Return(Local0)
    }
    Method(CMWR, 2) {
        Acquire(SMIM, 0xffff)
        Store(Arg0, Local0)
        Or(Local0, 0x80, Local0)
        Store(Local0, SMID)
        Store(0x84, SMIC)
        Store(Arg1, SMID)
        Store(0x85, SMIC)
        Release(SMIM)
    }
    Method(GCKB) {
        Return(And(0x20, CMRD(0x26), ))
    }
    Method(GCMS) {
        Return(And(0x40, CMRD(0x6f), ))
    }
    Method(GCON) {
        Return(And(0x04, CMRD(0x55), ))
    }
    Method(GCUC) {
        And(One, CMRD(0x22), Local0)
        Return(XOr(One, Local0, ))
    }
    Method(GCS1) {
        Return(And(0x03, CMRD(0x25), ))
    }
    Method(GCS2) {
        Return(And(0x0c, CMRD(0x25), ))
    }
    Method(GCFD) {
        Return(And(0x18, CMRD(0x55), ))
    }
    Method(GCPP) {
        Return(And(0x70, CMRD(0x23), ))
    }
    Method(GCTP) {
        Return(And(0x40, CMRD(0x22), ))
    }
    Method(GCNC) {
        Return(And(0x03, CMRD(0x59), ))
    }
    Method(HACK) {
        If(LEqual(MSOS, 0x04)) {
            Store(CMRD(0x6f), Local0)
            Or(Local0, 0x04, Local0)
            CMWR(0x6f, Local0)
            Return(One)
        }
        Else {
            Store(CMRD(0x6f), Local0)
            And(Local0, 0xfb, Local0)
            CMWR(0x6f, Local0)
        }
        Add(SizeOf(_OS), One, Local0)
        Store(Local0, Local1)
        Name(BUF0, Buffer(Local0) { })
        Name(BUF1, Buffer(Local0) { })
        Name(OSNT, One)
        Name(OS98, One)
        Store(_OS, BUF0)
        Store("Microsoft\x20Windows\x20NT", BUF1)
        While(Local0) {
            Decrement(Local0)
            If(LEqual(DerefOf(Index(BUF0, Local0, )), DerefOf(Index(BUF1, Local0, )))) {
            }
            Else {
                Store(Zero, OSNT)
            }
        }
        If(OSNT) {
            Store(0x03, MSOS)
            Return(One)
        }
        Else {
            Store("Microsoft\x20Windows", BUF1)
            While(Local1) {
                Decrement(Local1)
                If(LEqual(DerefOf(Index(BUF0, Local1, )), DerefOf(Index(BUF1, Local1, )))) {
                }
                Else {
                    Store(Zero, OS98)
                }
            }
            If(OS98) {
                Store(One, MSOS)
                Return(Zero)
            }
            Else {
                Store(0x02, MSOS)
                Return(Zero)
            }
        }
    }
    Method(ISLI) {
        If(CondRefOf(_OSI, Local0)) {
            If(_OSI("Linux")) {
                Return(One)
            }
            Else {
                Return(Zero)
            }
        }
        Else {
            Return(Zero)
        }
    }
}
Scope(_SB) {
}
OperationRegion(CMS, SystemIO, 0x70, 0x02)
Field(CMS, ByteAcc, NoLock, Preserve) {
    CMSI,	8,
    CMSD,	8
}
OperationRegion(SMIR, SystemIO, 0xb2, 0x02)
Field(SMIR, ByteAcc, NoLock, Preserve) {
    SMIC,	8,
    SMID,	8
}
OperationRegion(STON, SystemIO, 0x84, One)
Field(STON, ByteAcc, NoLock, Preserve) {
    MGIC,	8
}
OperationRegion(SIO, SystemIO, 0x2e, 0x02)
Field(SIO, ByteAcc, NoLock, Preserve) {
    SIOI,	8,
    SIOD,	8
}
OperationRegion(PM1R, SystemIO, 0x0800, 0x04)
Field(PM1R, ByteAcc, NoLock, Preserve) {
    PMS1,	8,
    PMS2,	8,
    PME1,	8,
    PME2,	8
}
OperationRegion(GPST, SystemIO, 0x0820, One)
Field(GPST, ByteAcc, NoLock, Preserve) {
    GST0,	8
}
OperationRegion(GLBC, SystemIO, 0x0828, 0x06)
Field(GLBC, ByteAcc, NoLock, Preserve) {
    THRP,	8,
    GLBT,	8,
    EOS,	8,
    LIDP,	8,
    THME,	8,
    RIEN,	8
}
OperationRegion(GPEC, SystemIO, 0x0842, One)
Field(GPEC, ByteAcc, NoLock, Preserve) {
    THPL,	1,
    SWGP,	1,
    Offset(0x1)
}
OperationRegion(PMES, SystemIO, 0x0c00, One)
Field(PMES, ByteAcc, NoLock, Preserve) {
    GSTS,	8
}
Mutex(SMIM, 1)
Method(SMI, 2) {
    Acquire(SMIM, 0xffff)
    Store(Arg1, SMID)
    Store(Arg0, SMIC)
    Store(MGIC, Local0)
    Store(SMID, Local1)
    Release(SMIM)
    Return(Local1)
}
Method(SMI1, 1) {
    Acquire(SMIM, 0xffff)
    Store(Arg0, SMIC)
    Store(MGIC, Local0)
    Store(SMID, Local0)
    Release(SMIM)
    Return(Local0)
}
Method(SMI2, 1) {
    Acquire(SMIM, 0xffff)
    Store(Arg0, SMIC)
    Store(MGIC, Local0)
    Store(SMIC, Local1)
    Store(SMID, Local0)
    ShiftLeft(Local0, 0x08, Local0)
    Add(Local1, Local0, Local0)
    Release(SMIM)
    Return(Local0)
}
Method(SMI4, 1) {
    Add(Arg0, One, Local0)
    Store(SMI2(Arg0), Local2)
    Store(SMI2(Local0), Local1)
    ShiftLeft(Local1, 0x10, Local1)
    Add(Local1, Local2, Local0)
    Return(Local0)
}
Method(GTMR) {
    Return(SMI4(0x78))
}
Method(GTML) {
    Return(SMI4(0x74))
}
Method(GTMH) {
    Return(SMI4(0x76))
}
Method(GTOM) {
    Return(SMI4(0x81))
}
Method(GUSB) {
    If(ISLI()) {
        Return(Zero)
    }
    Else {
        Return(SMI2(0xba))
    }
}
Method(GTPM) {
    Return(SMI(0x96, Zero))
}
Scope(_PR) {
    Processor(CPU0, 1, 0x810, 0x6) {
    }
    Processor(CPU1, 2, 0x0, 0x0) {
    }
    Processor(CPU2, 3, 0x0, 0x0) {
    }
    Processor(CPU3, 4, 0x0, 0x0) {
    }
    Processor(CPU4, 5, 0x0, 0x0) {
    }
    Processor(CPU5, 6, 0x0, 0x0) {
    }
    Processor(CPU6, 7, 0x0, 0x0) {
    }
    Processor(CPU7, 8, 0x0, 0x0) {
    }
}
Scope(\) {
    Name(SSTX, Zero)
    Method(_PTS, 1) {
        PSKM(Arg0)
    }
}
Method(_GPE._L08) {
    GPKM()
    If(Not(LEqual(SSTX, One), )) {
        Notify(\_SB.VBTN, 0x02)
    }
    Notify(\_SB.PCI0.ISA.KBD, 0x02)
}
Method(_GPE._L18) {
    XOr(LIDP, One, LIDP)
    Or(PME2, One, PME2)
    If(LEqual(\_SB.PCI0.PCI1.XME1(), One)) {
        Notify(\_SB.PCI0.PCI1, 0x02)
    }
    Else {
        If(LEqual(\_SB.PCI0.PCI2.XME2(), One)) {
            Notify(\_SB.PCI0.PCI2, 0x02)
        }
        Else {
            If(LEqual(\_SB.PCI0.PCI3.PCI4.PCI6.XME6(), One)) {
                Notify(\_SB.PCI0.PCI3.PCI4.PCI6, 0x02)
            }
            Else {
                If(LEqual(\_SB.PCI0.PCI3.PCI7.XME7(), One)) {
                    Notify(\_SB.PCI0.PCI3.PCI7, 0x02)
                }
                Else {
                    Notify(\_SB.PCI0.PCI9, 0x02)
                }
            }
        }
    }
}
Method(_GPE._L1B) {
    XOr(LIDP, 0x08, LIDP)
    Or(PME2, One, PME2)
    Notify(\_SB.PCI0.PCI8, 0x02)
}
Method(_GPE._L1D) {
    XOr(LIDP, 0x20, LIDP)
}
Method(_WAK, 1) {
    If(LEqual(Arg0, 0x04)) {
        GUSB()
    }
    Else {
        If(LEqual(Arg0, 0x03)) {
            If(And(0x20, CMRD(0x49), )) {
                GUSB()
            }
        }
    }
    CMWR(0x49, And(0xdf, CMRD(0x49), ))
    If(Or(And(PMS2, One, ), Or(And(LNot(HACK()), And(GLBT, 0x11, ), ), And(LNot(HACK()), And(THRP, 0x18, ), ), ), )) {
        Notify(\_SB.VBTN, 0x02)
    }
    Return(Zero)
}
Scope(_SI) {
    Method(_SST, 1) {
        Store(Arg0, SSTX)
        If(LEqual(Arg0, 0x03)) {
            And(LED2, 0xfd, LED2)
        }
        If(LEqual(Arg0, One)) {
            Or(LED2, 0x02, LED2)
        }
    }
}
Scope(_SB) {
    Device(PCI0) {
        Name(_HID, 0x030ad041)
        Name(_UID, 0x04)
        Name(_ADR, Zero)
        Name(_PRW, Package(0x02) {
            0x0d,
            0x05,
        })
        Method(_S1D) {
            Return(One)
        }
        Method(_S3D) {
            If(HACK()) {
                Return(0x03)
            }
            Else {
                Return(0x02)
            }
        }
        Name(PIC0, Package(0x1e) {
            Package(0x04) {
                0xffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0xffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0xffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0xffff,
                0x03,
                LNKD,
                Zero,
            },
            Package(0x04) {
                0x0001ffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x0001ffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x0001ffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0x0001ffff,
                0x03,
                LNKD,
                Zero,
            },
            Package(0x04) {
                0x0005ffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x0005ffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x0005ffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0x0005ffff,
                0x03,
                LNKD,
                Zero,
            },
            Package(0x04) {
                0x0009ffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x0009ffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x0009ffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0x0009ffff,
                0x03,
                LNKD,
                Zero,
            },
            Package(0x04) {
                0x001bffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x001cffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x001cffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x001cffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0x001cffff,
                0x03,
                LNKD,
                Zero,
            },
            Package(0x04) {
                0x001dffff,
                Zero,
                LNKF,
                Zero,
            },
            Package(0x04) {
                0x001dffff,
                One,
                LNKG,
                Zero,
            },
            Package(0x04) {
                0x001dffff,
                0x02,
                LNKC,
                Zero,
            },
            Package(0x04) {
                0x001dffff,
                0x03,
                LNKH,
                Zero,
            },
            Package(0x04) {
                0x001effff,
                Zero,
                LNKH,
                Zero,
            },
            Package(0x04) {
                0x001effff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x001fffff,
                Zero,
                LNKA,
                Zero,
            },
            Package(0x04) {
                0x001fffff,
                One,
                LNKB,
                Zero,
            },
            Package(0x04) {
                0x001fffff,
                0x02,
                LNKE,
                Zero,
            },
        })
        Name(API0, Package(0x1e) {
            Package(0x04) {
                0xffff,
                Zero,
                Zero,
                0x10,
            },
            Package(0x04) {
                0xffff,
                One,
                Zero,
                0x11,
            },
            Package(0x04) {
                0xffff,
                0x02,
                Zero,
                0x12,
            },
            Package(0x04) {
                0xffff,
                0x03,
                Zero,
                0x13,
            },
            Package(0x04) {
                0x0001ffff,
                Zero,
                Zero,
                0x30,
            },
            Package(0x04) {
                0x0001ffff,
                One,
                Zero,
                0x3a,
            },
            Package(0x04) {
                0x0001ffff,
                0x02,
                Zero,
                0x42,
            },
            Package(0x04) {
                0x0001ffff,
                0x03,
                Zero,
                0x3e,
            },
            Package(0x04) {
                0x0005ffff,
                Zero,
                Zero,
                0x34,
            },
            Package(0x04) {
                0x0005ffff,
                One,
                Zero,
                0x3c,
            },
            Package(0x04) {
                0x0005ffff,
                0x02,
                Zero,
                0x44,
            },
            Package(0x04) {
                0x0005ffff,
                0x03,
                Zero,
                0x40,
            },
            Package(0x04) {
                0x0009ffff,
                Zero,
                Zero,
                0x38,
            },
            Package(0x04) {
                0x0009ffff,
                One,
                Zero,
                0x46,
            },
            Package(0x04) {
                0x0009ffff,
                0x02,
                Zero,
                0x47,
            },
            Package(0x04) {
                0x0009ffff,
                0x03,
                Zero,
                0x46,
            },
            Package(0x04) {
                0x001bffff,
                Zero,
                Zero,
                0x10,
            },
            Package(0x04) {
                0x001cffff,
                Zero,
                Zero,
                0x10,
            },
            Package(0x04) {
                0x001cffff,
                One,
                Zero,
                0x11,
            },
            Package(0x04) {
                0x001cffff,
                0x02,
                Zero,
                0x12,
            },
            Package(0x04) {
                0x001cffff,
                0x03,
                Zero,
                0x13,
            },
            Package(0x04) {
                0x001dffff,
                Zero,
                Zero,
                0x15,
            },
            Package(0x04) {
                0x001dffff,
                One,
                Zero,
                0x16,
            },
            Package(0x04) {
                0x001dffff,
                0x02,
                Zero,
                0x12,
            },
            Package(0x04) {
                0x001dffff,
                0x03,
                Zero,
                0x17,
            },
            Package(0x04) {
                0x001effff,
                Zero,
                Zero,
                0x17,
            },
            Package(0x04) {
                0x001effff,
                One,
                Zero,
                0x11,
            },
            Package(0x04) {
                0x001fffff,
                Zero,
                Zero,
                0x10,
            },
            Package(0x04) {
                0x001fffff,
                One,
                Zero,
                0x11,
            },
            Package(0x04) {
                0x001fffff,
                0x02,
                Zero,
                0x14,
            },
        })
        Device(PCI1) {
            Method(_S1D) {
                Return(One)
            }
            Method(_S3D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S4D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S5D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_ADR) {
                Store(0x00010000, Local0)
                Return(Local0)
            }
            Name(_UID, 0x20)
            Name(_PRW, Package(0x02) {
                0x18,
                0x05,
            })
            OperationRegion(PERS, PCI_Config, 0x8c, 0x04)
            Field(PERS, ByteAcc, NoLock, Preserve) {
                PER0,	8,
                PER1,	8,
                PER2,	8,
                PER3,	8
            }
            Method(XME1) {
                Store(PER2, Local0)
                And(Local0, One, Local0)
                Store(Local0, PER2)
                Return(Local0)
            }
            Name(PIC1, 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(API1, Package(0x04) {
                Package(0x04) {
                    0xffff,
                    Zero,
                    Zero,
                    0x30,
                },
                Package(0x04) {
                    0xffff,
                    One,
                    Zero,
                    0x3a,
                },
                Package(0x04) {
                    0xffff,
                    0x02,
                    Zero,
                    0x42,
                },
                Package(0x04) {
                    0xffff,
                    0x03,
                    Zero,
                    0x3e,
                },
            })
            Method(_PRT) {
                Store(API1, Local0)
                If(LNot(PICF)) {
                    Store(PIC1, Local0)
                }
                Return(Local0)
            }
        }
        Device(PCI2) {
            Method(_S1D) {
                Return(One)
            }
            Method(_S3D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S4D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S5D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_ADR) {
                Store(0x00050000, Local0)
                Return(Local0)
            }
            Name(_UID, 0x21)
            Name(_PRW, Package(0x02) {
                0x18,
                0x05,
            })
            OperationRegion(PERS, PCI_Config, 0x8c, 0x04)
            Field(PERS, ByteAcc, NoLock, Preserve) {
                PER0,	8,
                PER1,	8,
                PER2,	8,
                PER3,	8
            }
            Method(XME2) {
                Store(PER2, Local0)
                And(Local0, One, Local0)
                Store(Local0, PER2)
                Return(Local0)
            }
            Name(PIC2, 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(API2, Package(0x04) {
                Package(0x04) {
                    0xffff,
                    Zero,
                    Zero,
                    0x34,
                },
                Package(0x04) {
                    0xffff,
                    One,
                    Zero,
                    0x3c,
                },
                Package(0x04) {
                    0xffff,
                    0x02,
                    Zero,
                    0x44,
                },
                Package(0x04) {
                    0xffff,
                    0x03,
                    Zero,
                    0x40,
                },
            })
            Method(_PRT) {
                Store(API2, Local0)
                If(LNot(PICF)) {
                    Store(PIC2, Local0)
                }
                Return(Local0)
            }
        }
        Device(PCI3) {
            Method(_S1D) {
                Return(One)
            }
            Method(_S3D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S4D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S5D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_ADR) {
                Store(0x00090000, Local0)
                Return(Local0)
            }
            Name(_UID, 0x22)
            Name(_PRW, Package(0x02) {
                0x18,
                0x05,
            })
            Name(PIC3, 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(API3, Package(0x04) {
                Package(0x04) {
                    0xffff,
                    Zero,
                    Zero,
                    0x38,
                },
                Package(0x04) {
                    0xffff,
                    One,
                    Zero,
                    0x46,
                },
                Package(0x04) {
                    0xffff,
                    0x02,
                    Zero,
                    0x47,
                },
                Package(0x04) {
                    0xffff,
                    0x03,
                    Zero,
                    0x46,
                },
            })
            Method(_PRT) {
                Store(API3, Local0)
                If(LNot(PICF)) {
                    Store(PIC3, Local0)
                }
                Return(Local0)
            }
            Device(PCI4) {
                Method(_S1D) {
                    Return(One)
                }
                Method(_S3D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_S4D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_S5D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_ADR) {
                    Store(Zero, Local0)
                    Return(Local0)
                }
                Name(_UID, 0x23)
                Name(_PRW, Package(0x02) {
                    0x18,
                    0x05,
                })
                Name(PIC4, Package(0x08) {
                    Package(0x04) {
                        0xffff,
                        Zero,
                        LNKA,
                        Zero,
                    },
                    Package(0x04) {
                        0xffff,
                        One,
                        LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0xffff,
                        0x02,
                        LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0xffff,
                        0x03,
                        LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        Zero,
                        LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        One,
                        LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x02,
                        LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x03,
                        LNKA,
                        Zero,
                    },
                })
                Name(API4, Package(0x08) {
                    Package(0x04) {
                        0xffff,
                        Zero,
                        Zero,
                        0x38,
                    },
                    Package(0x04) {
                        0xffff,
                        One,
                        Zero,
                        0x46,
                    },
                    Package(0x04) {
                        0xffff,
                        0x02,
                        Zero,
                        0x47,
                    },
                    Package(0x04) {
                        0xffff,
                        0x03,
                        Zero,
                        0x46,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        Zero,
                        Zero,
                        0x38,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        One,
                        Zero,
                        0x46,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x02,
                        Zero,
                        0x47,
                    },
                    Package(0x04) {
                        0x0001ffff,
                        0x03,
                        Zero,
                        0x46,
                    },
                })
                Method(_PRT) {
                    Store(API4, Local0)
                    If(LNot(PICF)) {
                        Store(PIC4, Local0)
                    }
                    Return(Local0)
                }
                Device(PCI5) {
                    Method(_S1D) {
                        Return(One)
                    }
                    Method(_S3D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_S4D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_S5D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_ADR) {
                        Store(Zero, Local0)
                        Return(Local0)
                    }
                    Name(_UID, 0x29)
                    Name(_PRW, Package(0x02) {
                        0x18,
                        0x05,
                    })
                    OperationRegion(PMCS, PCI_Config, 0x74, 0x02)
                    Field(PMCS, ByteAcc, NoLock, Preserve) {
                        PMC1,	8,
                        PMC2,	8
                    }
                    Method(XME5) {
                        Store(PMC2, Local0)
                        And(Local0, 0x80, Local0)
                        Store(Local0, PMC2)
                        If(Local0) {
                            Return(One)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Name(PIC5, Package(0x02) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            LNKA,
                            Zero,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            LNKB,
                            Zero,
                        },
                    })
                    Name(API5, Package(0x02) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x38,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x46,
                        },
                    })
                    Method(_PRT) {
                        Store(API5, Local0)
                        If(LNot(PICF)) {
                            Store(PIC5, Local0)
                        }
                        Return(Local0)
                    }
                }
                Device(PCI6) {
                    Method(_S1D) {
                        Return(One)
                    }
                    Method(_S3D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_S4D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_S5D) {
                        If(HACK()) {
                            Return(0x03)
                        }
                        Else {
                            Return(0x02)
                        }
                    }
                    Method(_ADR) {
                        Store(0x00010000, Local0)
                        Return(Local0)
                    }
                    Name(_UID, 0x24)
                    Name(_PRW, Package(0x02) {
                        0x18,
                        0x05,
                    })
                    OperationRegion(PMCS, PCI_Config, 0x74, 0x02)
                    Field(PMCS, ByteAcc, NoLock, Preserve) {
                        PMC1,	8,
                        PMC2,	8
                    }
                    Method(XME6) {
                        Store(PMC2, Local0)
                        And(Local0, 0x80, Local0)
                        Store(Local0, PMC2)
                        If(Local0) {
                            Return(One)
                        }
                        Else {
                            Return(Zero)
                        }
                    }
                    Name(PIC6, 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(API6, Package(0x04) {
                        Package(0x04) {
                            0xffff,
                            Zero,
                            Zero,
                            0x46,
                        },
                        Package(0x04) {
                            0xffff,
                            One,
                            Zero,
                            0x47,
                        },
                        Package(0x04) {
                            0xffff,
                            0x02,
                            Zero,
                            0x46,
                        },
                        Package(0x04) {
                            0xffff,
                            0x03,
                            Zero,
                            0x38,
                        },
                    })
                    Method(_PRT) {
                        Store(API6, Local0)
                        If(LNot(PICF)) {
                            Store(PIC6, Local0)
                        }
                        Return(Local0)
                    }
                }
            }
            Device(PCI7) {
                Method(_S1D) {
                    Return(One)
                }
                Method(_S3D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_S4D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_S5D) {
                    If(HACK()) {
                        Return(0x03)
                    }
                    Else {
                        Return(0x02)
                    }
                }
                Method(_ADR) {
                    Store(0x03, Local0)
                    Return(Local0)
                }
                Name(_UID, 0x25)
                Name(_PRW, Package(0x02) {
                    0x18,
                    0x05,
                })
                OperationRegion(PMCS, PCI_Config, 0x74, 0x02)
                Field(PMCS, ByteAcc, NoLock, Preserve) {
                    PMC1,	8,
                    PMC2,	8
                }
                Method(XME7) {
                    Store(PMC2, Local0)
                    And(Local0, 0x80, Local0)
                    Store(Local0, PMC2)
                    If(Local0) {
                        Return(One)
                    }
                    Else {
                        Return(Zero)
                    }
                }
                Name(PIC7, Package(0x08) {
                    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,
                        LNKB,
                        Zero,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        One,
                        LNKC,
                        Zero,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        0x02,
                        LNKD,
                        Zero,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        0x03,
                        LNKA,
                        Zero,
                    },
                })
                Name(API7, Package(0x08) {
                    Package(0x04) {
                        0x0005ffff,
                        Zero,
                        Zero,
                        0x1a,
                    },
                    Package(0x04) {
                        0x0005ffff,
                        One,
                        Zero,
                        0x1b,
                    },
                    Package(0x04) {
                        0x0005ffff,
                        0x02,
                        Zero,
                        0x1c,
                    },
                    Package(0x04) {
                        0x0005ffff,
                        0x03,
                        Zero,
                        0x1d,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        Zero,
                        Zero,
                        0x1e,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        One,
                        Zero,
                        0x1f,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        0x02,
                        Zero,
                        0x20,
                    },
                    Package(0x04) {
                        0x0006ffff,
                        0x03,
                        Zero,
                        0x21,
                    },
                })
                Method(_PRT) {
                    Store(API7, Local0)
                    If(LNot(PICF)) {
                        Store(PIC7, Local0)
                    }
                    Return(Local0)
                }
            }
        }
        Device(PCI8) {
            Method(_S1D) {
                Return(One)
            }
            Method(_S3D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S4D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S5D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_ADR) {
                Store(0x001c0000, Local0)
                Return(Local0)
            }
            Name(_UID, 0x26)
            Name(_PRW, Package(0x02) {
                0x1b,
                0x05,
            })
            Name(PIC8, Package(0x01) {
                Package(0x04) {
                    0xffff,
                    Zero,
                    LNKA,
                    Zero,
                },
            })
            Name(API8, Package(0x01) {
                Package(0x04) {
                    0xffff,
                    Zero,
                    Zero,
                    0x10,
                },
            })
            Method(_PRT) {
                Store(API8, Local0)
                If(LNot(PICF)) {
                    Store(PIC8, Local0)
                }
                Return(Local0)
            }
        }
        Device(PCI9) {
            Method(_S1D) {
                Return(One)
            }
            Method(_S3D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S4D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_S5D) {
                If(HACK()) {
                    Return(0x03)
                }
                Else {
                    Return(0x02)
                }
            }
            Method(_ADR) {
                Store(0x001e0000, Local0)
                Return(Local0)
            }
            Name(_UID, 0x28)
            Name(_PRW, Package(0x02) {
                0x0b,
                0x05,
            })
            Name(PIC9, Package(0x04) {
                Package(0x04) {
                    0x0002ffff,
                    Zero,
                    LNKC,
                    Zero,
                },
                Package(0x04) {
                    0x0002ffff,
                    One,
                    LNKD,
                    Zero,
                },
                Package(0x04) {
                    0x0002ffff,
                    0x02,
                    LNKA,
                    Zero,
                },
                Package(0x04) {
                    0x0002ffff,
                    0x03,
                    LNKB,
                    Zero,
                },
            })
            Name(API9, Package(0x04) {
                Package(0x04) {
                    0x0002ffff,
                    Zero,
                    Zero,
                    0x12,
                },
                Package(0x04) {
                    0x0002ffff,
                    One,
                    Zero,
                    0x13,
                },
                Package(0x04) {
                    0x0002ffff,
                    0x02,
                    Zero,
                    0x10,
                },
                Package(0x04) {
                    0x0002ffff,
                    0x03,
                    Zero,
                    0x11,
                },
            })
            Method(_PRT) {
                Store(API9, Local0)
                If(LNot(PICF)) {
                    Store(PIC9, Local0)
                }
                Return(Local0)
            }
        }
    }
}
Scope(\) {
    Method(_GPE._L03) {
        If(Not(LEqual(SSTX, One), )) {
            Notify(\_SB.VBTN, 0x02)
        }
        Sleep(0x14)
        XOr(THRP, 0x08, THRP)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0.USB0, 0x02)
    }
    Method(_GPE._L04) {
        If(Not(LEqual(SSTX, One), )) {
            Notify(\_SB.VBTN, 0x02)
        }
        Sleep(0x14)
        XOr(THRP, 0x10, THRP)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0.USB1, 0x02)
    }
    Method(_GPE._L0C) {
        If(Not(LEqual(SSTX, One), )) {
            Notify(\_SB.VBTN, 0x02)
        }
        Sleep(0x14)
        XOr(GLBT, 0x10, GLBT)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0.USB2, 0x02)
    }
    Method(_GPE._L0E) {
        If(Not(LEqual(SSTX, One), )) {
            Notify(\_SB.VBTN, 0x02)
        }
        Sleep(0x14)
        XOr(GLBT, 0x40, GLBT)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0.USB3, 0x02)
    }
    Method(_GPE._L0D) {
        Sleep(0x14)
        XOr(GLBT, 0x20, GLBT)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0, 0x02)
    }
    Method(_GPE._L0B) {
        XOr(GLBT, 0x08, GLBT)
        Or(PME2, One, PME2)
        Notify(\_SB.PCI0.PCI9, 0x02)
    }
}
Scope(_SB.PCI0) {
    Device(ISA) {
        Name(_ADR, 0x001f0000)
        Name(_UID, 0x0a)
        OperationRegion(P40C, PCI_Config, 0x60, 0x04)
        OperationRegion(P41C, PCI_Config, 0x68, 0x04)
        Device(MBIO) {
            Name(_HID, 0x010cd041)
            Name(_UID, 0x0b)
            Method(_CRS) {
                Name(MIO1, Buffer(0x32) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x60, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x1, 0x80, 0x47, 0x1, 0x60, 0x8, 0x60, 0x8, 0x1, 0xa0, 0x79, 0x0 })
                Name(MIO2, Buffer(0x42) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x2, 0x47, 0x1, 0x65, 0x0, 0x65, 0x0, 0x1, 0xb, 0x47, 0x1, 0xe0, 0x0, 0xe0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x0, 0x8, 0x0, 0x8, 0x1, 0x60, 0x47, 0x1, 0x0, 0xc, 0x0, 0xc, 0x1, 0x80, 0x47, 0x1, 0x60, 0x8, 0x60, 0x8, 0x1, 0xa0, 0x79, 0x0 })
                If(Or(GCKB(), GCMS(), )) {
                    Return(MIO1)
                }
                Else {
                    Return(MIO2)
                }
            }
        }
    }
}
Scope(_SB.PCI0) {
    Device(USB0) {
        Name(_ADR, 0x001d0000)
        Name(_UID, 0x05)
        Name(_PRW, Package(0x02) {
            0x03,
            0x03,
        })
        OperationRegion(UPC1, PCI_Config, 0xc1, One)
        Field(UPC1, ByteAcc, NoLock, Preserve) {
            LEGK,	8
        }
        Method(_INI) {
            If(HACK()) {
            }
            Else {
                Store(LEGK, Local0)
                And(Local0, 0x60, Local0)
                Or(Local0, 0x20, Local0)
                Store(Local0, LEGK)
            }
            GUSB()
        }
        Method(_STA) {
            If(GCUC()) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(_S1D) {
            Return(One)
        }
        Method(_S3D) {
            If(HACK()) {
                Return(0x03)
            }
            Else {
                Return(0x02)
            }
        }
    }
    Device(USB1) {
        Name(_ADR, 0x001d0001)
        Name(_UID, 0x06)
        Name(_PRW, Package(0x02) {
            0x04,
            0x03,
        })
        OperationRegion(UPC1, PCI_Config, 0xc1, One)
        Field(UPC1, ByteAcc, NoLock, Preserve) {
            LEGK,	8
        }
        Method(_INI) {
            If(HACK()) {
            }
            Else {
                Store(LEGK, Local0)
                And(Local0, 0x60, Local0)
                Or(Local0, 0x20, Local0)
                Store(Local0, LEGK)
            }
        }
        Method(_STA) {
            If(GCUC()) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(_S1D) {
            Return(One)
        }
        Method(_S3D) {
            If(HACK()) {
                Return(0x03)
            }
            Else {
                Return(0x02)
            }
        }
    }
    Device(USB2) {
        Name(_ADR, 0x001d0002)
        Name(_UID, 0x14)
        Name(_PRW, Package(0x02) {
            0x0c,
            0x03,
        })
        OperationRegion(UPC1, PCI_Config, 0xc1, One)
        Field(UPC1, ByteAcc, NoLock, Preserve) {
            LEGK,	8
        }
        Method(_INI) {
            If(HACK()) {
            }
            Else {
                Store(LEGK, Local0)
                And(Local0, 0x60, Local0)
                Or(Local0, 0x20, Local0)
                Store(Local0, LEGK)
            }
        }
        Method(_STA) {
            If(GCUC()) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(_S1D) {
            Return(One)
        }
        Method(_S3D) {
            If(HACK()) {
                Return(0x03)
            }
            Else {
                Return(0x02)
            }
        }
    }
    Device(USB3) {
        Name(_ADR, 0x001d0003)
        Name(_UID, 0x15)
        Name(_PRW, Package(0x02) {
            0x0e,
            0x03,
        })
        OperationRegion(UPC1, PCI_Config, 0xc1, One)
        Field(UPC1, ByteAcc, NoLock, Preserve) {
            LEGK,	8
        }
        Method(_INI) {
            If(HACK()) {
            }
            Else {
                Store(LEGK, Local0)
                And(Local0, 0x60, Local0)
                Or(Local0, 0x20, Local0)
                Store(Local0, LEGK)
            }
        }
        Method(_STA) {
            If(GCUC()) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(_S1D) {
            Return(One)
        }
        Method(_S3D) {
            If(HACK()) {
                Return(0x03)
            }
            Else {
                Return(0x02)
            }
        }
    }
}
Scope(\) {
    Name(PICF, Zero)
    Method(_PIC, 1) {
        Store(Arg0, PICF)
    }
}
Scope(_SB.PCI0) {
    Method(_PRT) {
        Store(API0, Local0)
        If(LNot(PICF)) {
            Store(PIC0, Local0)
        }
        Return(Local0)
    }
    Method(_CRS) {
        OperationRegion(ORMF, SystemMemory, 0x000fff6c, 0x04)
        Field(ORMF, WordAcc, NoLock, Preserve) {
            ORGP,	16,
            ORND,	16
        }
        Name(MEMP, Buffer(0x0124) {0x88, 0xd, 0x0, 0x2, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x1, 0x47, 0x1, 0xf8, 0xc, 0xf8, 0xc, 0x1, 0x8, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0xf7, 0xc, 0x0, 0x0, 0xf8, 0xc, 0x88, 0xd, 0x0, 0x1, 0xc, 0x3, 0x0, 0x0, 0x0, 0xd, 0xff, 0xff, 0x0, 0x0, 0x0, 0xf3, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0xff, 0xff, 0xb, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0xc, 0x0, 0xff, 0xff, 0xd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x1, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x0, 0xff, 0xff, 0xf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x0, 0x0, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xdf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0xff, 0xff, 0xef, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x98, 0xff, 0xff, 0xb, 0x98, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0x8, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc0, 0x97, 0xff, 0xff, 0xff, 0x97, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x87, 0x17, 0x0, 0x0, 0xc, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd2, 0xfe, 0xff, 0xff, 0xd9, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x79, 0x0 })
        CreateDWordField(MEMP, 0x5c, PMIN)
        CreateDWordField(MEMP, 0x60, PMAX)
        CreateDWordField(MEMP, 0x68, PLEN)
        CreateDWordField(MEMP, 0x76, BMIN)
        CreateDWordField(MEMP, 0x82, BLEN)
        ShiftLeft(ORGP, 0x04, BMIN)
        Subtract(0x00100000, BMIN, BLEN)
        Store(0x000c0000, PMIN)
        Subtract(BMIN, One, PMAX)
        Subtract(BMIN, PMIN, PLEN)
        CreateDWordField(MEMP, 0xaa, MEMM)
        CreateDWordField(MEMP, 0xb6, MEML)
        Store(GTOM(), MEMM)
        Subtract(0xdfffffff, MEMM, MEML)
        Increment(MEML)
        CreateDWordField(MEMP, 0xde, UMIN)
        CreateDWordField(MEMP, 0xe2, UMAX)
        CreateDWordField(MEMP, 0xea, ULEN)
        If(GCUC()) {
        }
        Else {
            Store(Zero, UMIN)
            Store(Zero, UMAX)
            Store(Zero, ULEN)
        }
        Return(MEMP)
    }
}
Scope(_SB.PCI0.ISA) {
    Device(DMA) {
        Name(_HID, 0x0002d041)
        Method(_CRS) {
            Name(DMAB, Buffer(0x1d) {0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x20, 0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x20, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x12, 0x79, 0x0 })
            Return(DMAB)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(FPU) {
        Name(_HID, 0x040cd041)
        Method(_CRS) {
            Name(FPUB, Buffer(0x0d) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
            Return(FPUB)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(PIC) {
        Name(_HID, 0xd041)
        Method(_CRS) {
            Name(PICB, Buffer(0x1d) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x20, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x20, 0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            Return(PICB)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(SPK) {
        Name(_HID, 0x0008d041)
        Method(_CRS) {
            Name(SPKB, Buffer(0x0a) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 })
            Return(SPKB)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(RTC) {
        Name(_HID, 0x000bd041)
        Method(_CRS) {
            Name(RTCB, Buffer(0x0d) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x10, 0x22, 0x0, 0x1, 0x79, 0x0 })
            Return(RTCB)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(TMR) {
        Name(_HID, 0x0001d041)
        Method(_CRS) {
            Name(TMRB, Buffer(0x0d) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x20, 0x22, 0x1, 0x0, 0x79, 0x0 })
            Return(TMRB)
        }
    }
}
Scope(_SB) {
    Field(PCI0.ISA.P40C, ByteAcc, NoLock, Preserve) {
        PRQ0,	8,
        PRQ1,	8,
        PRQ2,	8,
        PRQ3,	8
    }
    Field(PCI0.ISA.P41C, ByteAcc, NoLock, Preserve) {
        PRQ4,	8,
        PRQ5,	8,
        PRQ6,	8,
        PRQ7,	8
    }
    Device(LNKA) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x0c)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ0, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ0, 0x80, PRQ0)
        }
        Method(_CRS) {
            Name(PRR0, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR0, One, IQR)
            Store(PRQ0, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR0)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ0)
        }
    }
    Device(LNKB) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x0d)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ1, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ1, 0x80, PRQ1)
        }
        Method(_CRS) {
            Name(PRR1, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR1, One, IQR)
            Store(PRQ1, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR1)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ1)
        }
    }
    Device(LNKC) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x0e)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ2, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ2, 0x80, PRQ2)
        }
        Method(_CRS) {
            Name(PRR2, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR2, One, IQR)
            Store(PRQ2, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR2)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ2)
        }
    }
    Device(LNKD) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x0f)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ3, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ3, 0x80, PRQ3)
        }
        Method(_CRS) {
            Name(PRR3, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR3, One, IQR)
            Store(PRQ3, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR3)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ3)
        }
    }
    Device(LNKE) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x10)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ4, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ4, 0x80, PRQ4)
        }
        Method(_CRS) {
            Name(PRR4, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR4, One, IQR)
            Store(PRQ4, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR4)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ4)
        }
    }
    Device(LNKF) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x11)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ5, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ5, 0x80, PRQ5)
        }
        Method(_CRS) {
            Name(PRR5, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR5, One, IQR)
            Store(PRQ5, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR5)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ5)
        }
    }
    Device(LNKG) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x12)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ6, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ6, 0x80, PRQ6)
        }
        Method(_CRS) {
            Name(PRR6, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR6, One, IQR)
            Store(PRQ6, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR6)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ6)
        }
    }
    Device(LNKH) {
        Name(_HID, 0x0f0cd041)
        Name(_UID, 0x13)
        Name(_PRS, Buffer(0x06) {0x23, 0xf8, 0x9e, 0x18, 0x79, 0x0 })
        Method(_STA) {
            Store(0x0b, Local0)
            If(And(0x80, PRQ7, Local1)) {
                Store(0x09, Local0)
            }
            Return(Local0)
        }
        Method(_DIS) {
            Or(PRQ7, 0x80, PRQ7)
        }
        Method(_CRS) {
            Name(PRR7, Buffer(0x06) {0x23, 0x10, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(PRR7, One, IQR)
            Store(PRQ7, Local0)
            If(LNot(LLess(Local0, 0x80))) {
                Store(Zero, IQR)
            }
            Else {
                ShiftLeft(One, Local0, IQR)
            }
            Return(PRR7)
        }
        Method(_SRS, 1) {
            CreateWordField(Arg0, One, IQR)
            FindSetRightBit(IQR, Local0)
            Decrement(Local0)
            Store(Local0, PRQ7)
        }
    }
}
Scope(_SB) {
    Device(HPET) {
        Name(_HID, 0x0301d041)
        Method(_CRS) {
            Name(HBAB, Buffer(0x0e) {0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xd0, 0xfe, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
            Return(HBAB)
        }
    }
}
Scope(\) {
    OperationRegion(WENX, SystemIO, 0x0c0a, 0x06)
    Field(WENX, ByteAcc, NoLock, Preserve) {
        WEN1,	8,
        WEN2,	8,
        WEN3,	8,
        WEN4,	8,
        WEN5,	8,
        WEN6,	8
    }
    OperationRegion(WSTX, SystemIO, 0x0c00, 0x0a)
    Field(WSTX, ByteAcc, NoLock, Preserve) {
        WST0,	8,
        PMEJ,	8,
        PENA,	8,
        PENJ,	8,
        WST1,	8,
        WST2,	8,
        WST3,	8,
        WST4,	8,
        WST5,	8,
        WST6,	8
    }
    OperationRegion(SGPX, SystemIO, 0x0c4b, 0x06)
    Field(SGPX, ByteAcc, NoLock, Preserve) {
        SGP1,	8,
        SGP2,	8,
        SGP3,	8,
        SGP4,	8,
        SGP5,	8,
        SGP6,	8
    }
    OperationRegion(LEDX, SystemIO, 0x0c5d, 0x02)
    Field(LEDX, ByteAcc, NoLock, Preserve) {
        LED1,	8,
        LED2,	8
    }
    Method(PSKM, 1) {
        If(Or(LEqual(Arg0, 0x03), LEqual(Arg0, One), )) {
            Store(0x55, SIOI)
            Store(0x07, SIOI)
            Store(0x07, SIOD)
            Store(0xf0, SIOI)
            Store(SIOD, Local0)
            Or(Local0, 0x60, SIOD)
            Store(0xaa, SIOI)
            Store(WST1, Local0)
            And(Local0, 0x18, WST1)
            Store(GSTS, Local0)
            And(Local0, One, GSTS)
            Store(WEN1, Local0)
            Or(Local0, 0x18, WEN1)
        }
    }
    Method(GPKM) {
        Store(WEN1, Local0)
        And(Local0, 0xe7, WEN1)
        Store(WST1, Local0)
        And(Local0, 0x18, WST1)
        Store(GSTS, Local0)
        And(Local0, One, GSTS)
    }
}
Scope(_SB.PCI0.ISA) {
    OperationRegion(NSIO, SystemIO, 0x2e, 0x02)
    Field(NSIO, ByteAcc, NoLock, Preserve) {
        INDX,	8,
        DATA,	8
    }
    IndexField(INDX, DATA, ByteAcc, NoLock, Preserve) {
        Offset(0x2),
        CFG,	8,
        Offset(0x7),
        LDN,	8,
        Offset(0x20),
        SIID,	8,
        Offset(0x30),
        ACTR,	8,
        Offset(0x60),
        IOAH,	8,
        IOAL,	8,
        Offset(0x70),
        INTR,	8,
        Offset(0x74),
        DMCH,	8,
        Offset(0xf0),
        OPT1,	8,
        OPT2,	8,
        OPT3,	8
    }
    OperationRegion(COM, PCI_Config, 0x80, One)
    Field(COM, ByteAcc, NoLock, Preserve) {
        NSCA,	3,
        ,	1,
        NSCB,	3,
        Offset(0x1)
    }
    OperationRegion(FDPA, PCI_Config, 0x81, One)
    Field(FDPA, ByteAcc, NoLock, Preserve) {
        LPTO,	2,
        ,	2,
        FDDC,	1,
        Offset(0x1)
    }
    Mutex(MTX, 1)
    Method(SIOD, 1) {
        CSIO(0x55)
        Store(Arg0, LDN)
        CSIO(0xaa)
    }
    Method(CSIO, 1) {
        Store(Arg0, INDX)
    }
    Device(FDC) {
        Name(_HID, 0x0007d041)
        Method(_STA) {
            Name(RET, Zero)
            Acquire(MTX, 0xffff)
            SIOD(Zero)
            If(GCFD()) {
                CSIO(0x55)
                If(ACTR) {
                    CSIO(0xaa)
                    Store(0x0f, RET)
                }
                Else {
                    CSIO(0xaa)
                    Store(0x0d, RET)
                }
            }
            Else {
                CSIO(0xaa)
                Store(Zero, RET)
            }
            Release(MTX)
            Return(RET)
        }
        Method(_DIS) {
            Acquire(MTX, 0xffff)
            SIOD(Zero)
            CSIO(0x55)
            Store(Zero, INTR)
            Store(Zero, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
        Method(_CRS) {
            Name(FDB0, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x8, 0x79, 0x0 })
            CreateByteField(FDB0, 0x02, IOL0)
            CreateByteField(FDB0, 0x03, IOH0)
            CreateByteField(FDB0, 0x04, IOL1)
            CreateByteField(FDB0, 0x05, IOH1)
            CreateByteField(FDB0, 0x0a, I2L0)
            CreateByteField(FDB0, 0x0b, I2H0)
            CreateByteField(FDB0, 0x0c, I2L1)
            CreateByteField(FDB0, 0x0d, I2H1)
            CreateWordField(FDB0, 0x11, IQR)
            CreateByteField(FDB0, 0x14, DAM)
            Acquire(MTX, 0xffff)
            SIOD(Zero)
            CSIO(0x55)
            Store(IOAH, IOH0)
            Store(IOAH, IOH1)
            Store(IOAL, IOL0)
            Store(IOAL, IOL1)
            Store(IOAH, I2H0)
            Store(IOAH, I2H1)
            Add(IOAL, 0x07, I2L0)
            Add(IOAL, 0x07, I2L1)
            ShiftLeft(One, INTR, IQR)
            ShiftLeft(One, DMCH, DAM)
            CSIO(0xaa)
            Release(MTX)
            Return(FDB0)
        }
        Method(_PRS) {
            Name(FDB1, Buffer(0x48) {0x30, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x8, 0x30, 0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x8, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x70, 0x3, 0x70, 0x3, 0x8, 0x6, 0x47, 0x1, 0x77, 0x3, 0x77, 0x3, 0x1, 0x1, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x38, 0x79, 0x0 })
            Return(FDB1)
        }
        Method(_SRS, 1) {
            CreateByteField(Arg0, 0x02, IOLO)
            CreateByteField(Arg0, 0x03, IOHI)
            CreateWordField(Arg0, 0x11, IQR)
            CreateByteField(Arg0, 0x14, DAM)
            Acquire(MTX, 0xffff)
            SIOD(Zero)
            CSIO(0x55)
            Store(IOLO, IOAL)
            Store(IOHI, IOAH)
            CSIO(0xaa)
            If(LEqual(IOLO, 0x70)) {
                Store(One, FDDC)
            }
            If(LEqual(IOLO, 0xf0)) {
                Store(Zero, FDDC)
            }
            CSIO(0x55)
            FindSetRightBit(IQR, Local0)
            Subtract(Local0, One, INTR)
            FindSetRightBit(DAM, Local0)
            Subtract(Local0, One, DMCH)
            Store(One, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
    }
    Device(KBD) {
        Name(_HID, 0x0303d041)
        Method(_STA) {
            Name(RET, Zero)
            Store(Zero, RET)
            If(GCKB()) {
                Store(0x0f, RET)
            }
            Return(RET)
        }
        Method(_CRS) {
            Name(KBDB, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
            Return(KBDB)
        }
    }
    Device(MOU) {
        Name(_HID, 0x130fd041)
        Method(_STA) {
            Name(RET, Zero)
            Store(Zero, RET)
            If(GCON()) {
                If(GCMS()) {
                    Store(0x0f, RET)
                }
            }
            Return(RET)
        }
        Method(_CRS) {
            Name(MOUB, Buffer(0x05) {0x22, 0x0, 0x10, 0x79, 0x0 })
            Name(MOKB, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0 })
            If(GCKB()) {
                Return(MOUB)
            }
            Else {
                Return(MOKB)
            }
        }
    }
    Device(PRT) {
        Name(_HID, 0x0104d041)
        Method(_STA) {
            Name(RET, Zero)
            Acquire(MTX, 0xffff)
            SIOD(0x03)
            If(GCPP()) {
                CSIO(0x55)
                If(ACTR) {
                    CSIO(0xaa)
                    Store(0x0f, RET)
                }
                Else {
                    CSIO(0xaa)
                    Store(0x0d, RET)
                }
            }
            Else {
                CSIO(0xaa)
                Store(Zero, RET)
            }
            Release(MTX)
            Return(RET)
        }
        Method(_DIS) {
            Acquire(MTX, 0xffff)
            SIOD(0x03)
            CSIO(0x55)
            Store(Zero, INTR)
            Store(0x04, DMCH)
            Store(Zero, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
        Method(_CRS) {
            Name(PTB0, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x79, 0x0 })
            CreateByteField(PTB0, 0x02, IOL0)
            CreateByteField(PTB0, 0x03, IOH0)
            CreateByteField(PTB0, 0x04, IOL1)
            CreateByteField(PTB0, 0x05, IOH1)
            CreateByteField(PTB0, 0x06, LALN)
            CreateByteField(PTB0, 0x07, LLEN)
            CreateByteField(PTB0, 0x0a, I2L0)
            CreateByteField(PTB0, 0x0b, I2H0)
            CreateByteField(PTB0, 0x0c, I2L1)
            CreateByteField(PTB0, 0x0d, I2H1)
            CreateByteField(PTB0, 0x0e, HALN)
            CreateByteField(PTB0, 0x0f, HLEN)
            CreateWordField(PTB0, 0x11, IQR)
            CreateByteField(PTB0, 0x14, DAM)
            Acquire(MTX, 0xffff)
            SIOD(0x03)
            CSIO(0x55)
            Store(IOAH, IOH0)
            Store(IOAH, IOH1)
            Store(IOAL, IOL0)
            Store(IOAL, IOL1)
            Add(IOAH, 0x04, I2H0)
            Add(IOAH, 0x04, I2H1)
            Store(IOAL, I2L0)
            Store(IOAL, I2L1)
            ShiftLeft(One, INTR, IQR)
            ShiftLeft(One, DMCH, DAM)
            If(LEqual(IOL0, 0xbc)) {
                Store(0x04, LALN)
                Store(0x04, LLEN)
                Store(0x04, HALN)
                Store(0x04, HLEN)
            }
            If(LEqual(DMCH, 0x04)) {
                Store(Zero, DAM)
            }
            If(LEqual(INTR, Zero)) {
                Store(Zero, IQR)
            }
            CSIO(0xaa)
            Release(MTX)
            Return(PTB0)
        }
        Method(_PRS) {
            Name(PTB1, Buffer(0xe9) {0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0x20, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0xf8, 0x10, 0x2a, 0xe, 0x8, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x8, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x8, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x8, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x8, 0x8, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x8, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x4, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x4, 0x4, 0x22, 0x80, 0x0, 0x2a, 0x0, 0x8, 0x38, 0x79, 0x0 })
            Return(PTB1)
        }
        Method(_SRS, 1) {
            CreateByteField(Arg0, 0x02, IOLO)
            CreateByteField(Arg0, 0x03, IOHI)
            CreateWordField(Arg0, 0x11, IQR)
            CreateByteField(Arg0, 0x14, DAM)
            Acquire(MTX, 0xffff)
            SIOD(0x03)
            CSIO(0x55)
            Store(IOLO, IOAL)
            Store(IOHI, IOAH)
            If(LEqual(IOLO, 0xbc)) {
                Store(0x02, LPTO)
            }
            If(LEqual(IOLO, 0x78)) {
                If(LEqual(IOHI, 0x02)) {
                    Store(One, LPTO)
                }
                If(LEqual(IOHI, 0x03)) {
                    Store(Zero, LPTO)
                }
            }
            If(LEqual(IQR, Zero)) {
                Store(Zero, INTR)
            }
            Else {
                FindSetRightBit(IQR, Local0)
                Subtract(Local0, One, INTR)
            }
            If(LEqual(DAM, Zero)) {
                Store(0x04, DMCH)
            }
            Else {
                FindSetRightBit(DAM, Local0)
                Subtract(Local0, One, DMCH)
            }
            Store(One, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
    }
    Device(COMA) {
        Name(_HID, 0x0105d041)
        Name(_UID, One)
        Method(_STA) {
            Name(RET, Zero)
            Acquire(MTX, 0xffff)
            SIOD(0x04)
            If(GCS1()) {
                CSIO(0x55)
                If(ACTR) {
                    CSIO(0xaa)
                    Store(0x0f, RET)
                }
                Else {
                    CSIO(0xaa)
                    Store(0x0d, RET)
                }
            }
            Else {
                CSIO(0xaa)
                Store(Zero, RET)
            }
            Release(MTX)
            Return(RET)
        }
        Method(_DIS) {
            Acquire(MTX, 0xffff)
            SIOD(0x04)
            CSIO(0x55)
            Store(Zero, INTR)
            Store(Zero, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
        Method(_CRS) {
            Name(CMA0, Buffer(0x0d) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 })
            CreateByteField(CMA0, 0x02, IOL0)
            CreateByteField(CMA0, 0x03, IOH0)
            CreateByteField(CMA0, 0x04, IOL1)
            CreateByteField(CMA0, 0x05, IOH1)
            CreateWordField(CMA0, 0x09, IQR)
            Acquire(MTX, 0xffff)
            SIOD(0x04)
            CSIO(0x55)
            Store(IOAL, IOL0)
            Store(IOAL, IOL1)
            Store(IOAH, IOH0)
            Store(IOAH, IOH1)
            ShiftLeft(One, INTR, IQR)
            CSIO(0xaa)
            Release(MTX)
            Return(CMA0)
        }
        Method(_PRS) {
            Name(CMA1, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 })
            Return(CMA1)
        }
        Method(_SRS, 1) {
            CreateByteField(Arg0, 0x02, IOLO)
            CreateByteField(Arg0, 0x03, IOHI)
            CreateWordField(Arg0, 0x09, IQR)
            Acquire(MTX, 0xffff)
            SIOD(0x04)
            CSIO(0x55)
            Store(IOLO, IOAL)
            Store(IOHI, IOAH)
            FindSetRightBit(IQR, Local0)
            Subtract(Local0, One, INTR)
            If(LEqual(IOHI, 0x03)) {
                If(LEqual(IOLO, 0xf8)) {
                    Store(Zero, NSCA)
                }
                If(LEqual(IOLO, 0xe8)) {
                    Store(0x07, NSCA)
                }
            }
            If(LEqual(IOHI, 0x02)) {
                If(LEqual(IOLO, 0xf8)) {
                    Store(One, NSCA)
                }
                If(LEqual(IOLO, 0xe8)) {
                    Store(0x05, NSCA)
                }
            }
            Store(One, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
    }
    Device(COMB) {
        Name(_HID, 0x0105d041)
        Name(_UID, 0x02)
        Method(_STA) {
            Name(RET, Zero)
            Acquire(MTX, 0xffff)
            SIOD(0x05)
            If(GCS2()) {
                CSIO(0x55)
                If(ACTR) {
                    CSIO(0xaa)
                    Store(0x0f, RET)
                }
                Else {
                    CSIO(0xaa)
                    Store(0x0d, RET)
                }
            }
            Else {
                CSIO(0xaa)
                Store(Zero, RET)
            }
            Release(MTX)
            Return(RET)
        }
        Method(_DIS) {
            Acquire(MTX, 0xffff)
            SIOD(0x05)
            CSIO(0x55)
            Store(Zero, INTR)
            Store(OPT1, Local0)
            Or(Local0, 0x20, Local0)
            Store(Local0, OPT1)
            Store(Zero, ACTR)
            CSIO(0xaa)
            Release(MTX)
        }
        Method(_CRS) {
            Name(CMB0, Buffer(0x0d) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 })
            CreateByteField(CMB0, 0x02, IOL0)
            CreateByteField(CMB0, 0x03, IOH0)
            CreateByteField(CMB0, 0x04, IOL1)
            CreateByteField(CMB0, 0x05, IOH1)
            CreateWordField(CMB0, 0x09, IQR)
            Acquire(MTX, 0xffff)
            SIOD(0x05)
            CSIO(0x55)
            Store(IOAL, IOL0)
            Store(IOAL, IOL1)
            Store(IOAH, IOH0)
            Store(IOAH, IOH1)
            ShiftLeft(One, INTR, IQR)
            CSIO(0xaa)
            Release(MTX)
            Return(CMB0)
        }
        Method(_PRS) {
            Name(CMB1, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x8, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x8, 0x8, 0x22, 0x10, 0x0, 0x38, 0x79, 0x0 })
            Return(CMB1)
        }
        Method(_SRS, 1) {
            CreateByteField(Arg0, 0x02, IOLO)
            CreateByteField(Arg0, 0x03, IOHI)
            CreateWordField(Arg0, 0x09, IQR)
            Acquire(MTX, 0xffff)
            SIOD(0x05)
            CSIO(0x55)
            Store(IOLO, IOAL)
            Store(IOHI, IOAH)
            FindSetRightBit(IQR, Local0)
            Subtract(Local0, One, INTR)
            If(LEqual(IOHI, 0x03)) {
                If(LEqual(IOLO, 0xf8)) {
                    Store(Zero, NSCB)
                }
                If(LEqual(IOLO, 0xe8)) {
                    Store(0x07, NSCB)
                }
            }
            If(LEqual(IOHI, 0x02)) {
                If(LEqual(IOLO, 0xf8)) {
                    Store(One, NSCB)
                }
                If(LEqual(IOLO, 0xe8)) {
                    Store(0x05, NSCB)
                }
            }
            Store(One, ACTR)
            Store(OPT1, Local0)
            And(Local0, 0xdf, Local0)
            Store(Local0, OPT1)
            CSIO(0xaa)
            Release(MTX)
        }
    }
}
Scope(_SB.PCI0.ISA) {
    Device(TPM) {
        Method(_HID) {
            If(GTPM()) {
                Return(0x0435cf4d)
            }
            Else {
                Return(0x0010a35c)
            }
        }
        Name(_CID, 0x310cd041)
        Method(_STA) {
            If(GCTP()) {
                Return(0x0f)
            }
            Else {
                Return(Zero)
            }
        }
        Method(_CRS) {
            If(GCTP()) {
                Return(Buffer(0x16) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xd4, 0xfe, 0x0, 0x50, 0x0, 0x0, 0x47, 0x1, 0xb0, 0xc, 0xb0, 0xc, 0x8, 0x10, 0x79, 0x0 })
            }
            Else {
                Return(Zero)
            }
        }
        Method(_DSM, 4) {
            If(LEqual(ToBuffer(Arg0, ), Buffer(0x10) {0xa6, 0xfa, 0xdd, 0x3d, 0x1b, 0x36, 0xb4, 0x4e, 0xa4, 0x24, 0x8d, 0x10, 0x8, 0x9d, 0x16, 0x53 })) {
                Name(_T_0, Zero)
                Store(ToInteger(Arg2, ), _T_0)
                If(LEqual(_T_0, Zero)) {
                    Return(Buffer(One) {0x3f })
                }
                Else {
                    If(LEqual(_T_0, One)) {
                        Return("1.0")
                    }
                    Else {
                        If(LEqual(_T_0, 0x02)) {
                            Store(ToInteger(Arg3, ), Local0)
                            And(Local0, 0x0f, Local0)
                            CMWR(0x7e, Local0)
                            Return(Zero)
                        }
                        Else {
                            If(LEqual(_T_0, 0x03)) {
                                Store(CMRD(0x7e), Local0)
                                And(Local0, 0x0f, Local0)
                                Return(PPR2(Local0))
                            }
                            Else {
                                If(LEqual(_T_0, 0x04)) {
                                    Return(0x02)
                                }
                                Else {
                                    If(LEqual(_T_0, 0x05)) {
                                        Store(CMRD(0x7e), Local0)
                                        ShiftRight(Local0, 0x04, Local0)
                                        Store(CMRD(0x7f), Local1)
                                        And(Local1, 0x7f, Local1)
                                        Return(PPR3(Local0, Local1))
                                    }
                                    Else {
                                        If(LEqual(_T_0, 0x06)) {
                                            Name(_T_1, "")
                                            Store(ToString(Arg3,Ones, ), _T_1)
                                            If(LEqual(_T_1, "en")) {
                                                Return(Zero)
                                            }
                                            Else {
                                                Return(One)
                                            }
                                        }
                                        Else {
                                            Return(Buffer(One) {0x0 })
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            If(LEqual(ToBuffer(Arg0, ), Buffer(0x10) {0xed, 0x54, 0x60, 0x37, 0x13, 0xcc, 0x75, 0x46, 0x90, 0x1c, 0x47, 0x56, 0xd7, 0xf2, 0xd4, 0x5d })) {
                Name(_T_2, Zero)
                Store(ToInteger(Arg2, ), _T_2)
                If(LEqual(_T_2, Zero)) {
                    Return(Buffer(One) {0x1 })
                }
                Else {
                    If(LEqual(_T_2, One)) {
                        Store(SMI(0xbc, And(ToInteger(Arg3, ), One, )), Local1)
                        Return(ToInteger(Local1, ))
                    }
                }
            }
            Return(Buffer(One) {0x0 })
        }
        Method(PPR2, 1) {
            Name(_T_0, Zero)
            Store(ToInteger(Arg0, ), _T_0)
            If(LEqual(_T_0, Zero)) {
                Return(Package(0x02) {
                    Zero,
                    Zero,
                })
            }
            Else {
                If(LEqual(_T_0, One)) {
                    Return(Package(0x02) {
                        Zero,
                        One,
                    })
                }
                Else {
                    If(LEqual(_T_0, 0x02)) {
                        Return(Package(0x02) {
                            Zero,
                            0x02,
                        })
                    }
                    Else {
                        If(LEqual(_T_0, 0x03)) {
                            Return(Package(0x02) {
                                Zero,
                                0x03,
                            })
                        }
                        Else {
                            If(LEqual(_T_0, 0x04)) {
                                Return(Package(0x02) {
                                    Zero,
                                    0x04,
                                })
                            }
                            Else {
                                If(LEqual(_T_0, 0x05)) {
                                    Return(Package(0x02) {
                                        Zero,
                                        0x05,
                                    })
                                }
                                Else {
                                    If(LEqual(_T_0, 0x06)) {
                                        Return(Package(0x02) {
                                            Zero,
                                            0x06,
                                        })
                                    }
                                    Else {
                                        If(LEqual(_T_0, 0x07)) {
                                            Return(Package(0x02) {
                                                Zero,
                                                0x07,
                                            })
                                        }
                                        Else {
                                            If(LEqual(_T_0, 0x08)) {
                                                Return(Package(0x02) {
                                                    Zero,
                                                    0x08,
                                                })
                                            }
                                            Else {
                                                If(LEqual(_T_0, 0x09)) {
                                                    Return(Package(0x02) {
                                                        Zero,
                                                        0x09,
                                                    })
                                                }
                                                Else {
                                                    If(LEqual(_T_0, 0x0a)) {
                                                        Return(Package(0x02) {
                                                            Zero,
                                                            0x0a,
                                                        })
                                                    }
                                                    Else {
                                                        If(LEqual(_T_0, 0x0b)) {
                                                            Return(Package(0x02) {
                                                                Zero,
                                                                0x0b,
                                                            })
                                                        }
                                                        Else {
                                                            If(LEqual(_T_0, 0x0c)) {
                                                                Return(Package(0x02) {
                                                                    Zero,
                                                                    0x0c,
                                                                })
                                                            }
                                                            Else {
                                                                If(LEqual(_T_0, 0x0d)) {
                                                                    Return(Package(0x02) {
                                                                        Zero,
                                                                        0x0d,
                                                                    })
                                                                }
                                                                Else {
                                                                    If(LEqual(_T_0, 0x0e)) {
                                                                        Return(Package(0x02) {
                                                                            Zero,
                                                                            0x0e,
                                                                        })
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            Return(Package(0x02) {
                One,
                Zero,
            })
        }
        Method(PPR3, 2) {
            If(LEqual(Arg1, Zero)) {
                Name(_T_0, Zero)
                Store(ToInteger(Arg0, ), _T_0)
                If(LEqual(_T_0, Zero)) {
                    Return(Package(0x03) {
                        Zero,
                        Zero,
                        Zero,
                    })
                }
                Else {
                    If(LEqual(_T_0, One)) {
                        Return(Package(0x03) {
                            Zero,
                            One,
                            Zero,
                        })
                    }
                    Else {
                        If(LEqual(_T_0, 0x02)) {
                            Return(Package(0x03) {
                                Zero,
                                0x02,
                                Zero,
                            })
                        }
                        Else {
                            If(LEqual(_T_0, 0x03)) {
                                Return(Package(0x03) {
                                    Zero,
                                    0x03,
                                    Zero,
                                })
                            }
                            Else {
                                If(LEqual(_T_0, 0x04)) {
                                    Return(Package(0x03) {
                                        Zero,
                                        0x04,
                                        Zero,
                                    })
                                }
                                Else {
                                    If(LEqual(_T_0, 0x05)) {
                                        Return(Package(0x03) {
                                            Zero,
                                            0x05,
                                            Zero,
                                        })
                                    }
                                    Else {
                                        If(LEqual(_T_0, 0x06)) {
                                            Return(Package(0x03) {
                                                Zero,
                                                0x06,
                                                Zero,
                                            })
                                        }
                                        Else {
                                            If(LEqual(_T_0, 0x07)) {
                                                Return(Package(0x03) {
                                                    Zero,
                                                    0x07,
                                                    Zero,
                                                })
                                            }
                                            Else {
                                                If(LEqual(_T_0, 0x08)) {
                                                    Return(Package(0x03) {
                                                        Zero,
                                                        0x08,
                                                        Zero,
                                                    })
                                                }
                                                Else {
                                                    If(LEqual(_T_0, 0x09)) {
                                                        Return(Package(0x03) {
                                                            Zero,
                                                            0x09,
                                                            Zero,
                                                        })
                                                    }
                                                    Else {
                                                        If(LEqual(_T_0, 0x0a)) {
                                                            Return(Package(0x03) {
                                                                Zero,
                                                                0x0a,
                                                                Zero,
                                                            })
                                                        }
                                                        Else {
                                                            If(LEqual(_T_0, 0x0b)) {
                                                                Return(Package(0x03) {
                                                                    Zero,
                                                                    0x0b,
                                                                    Zero,
                                                                })
                                                            }
                                                            Else {
                                                                If(LEqual(_T_0, 0x0c)) {
                                                                    Return(Package(0x03) {
                                                                        Zero,
                                                                        0x0c,
                                                                        Zero,
                                                                    })
                                                                }
                                                                Else {
                                                                    If(LEqual(_T_0, 0x0d)) {
                                                                        Return(Package(0x03) {
                                                                            Zero,
                                                                            0x0d,
                                                                            Zero,
                                                                        })
                                                                    }
                                                                    Else {
                                                                        If(LEqual(_T_0, 0x0e)) {
                                                                            Return(Package(0x03) {
                                                                                Zero,
                                                                                0x0e,
                                                                                Zero,
                                                                            })
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Return(Package(0x03) {
                    One,
                    Zero,
                    Zero,
                })
            }
            Else {
                Name(_T_1, Zero)
                Store(ToInteger(Arg0, ), _T_1)
                If(LEqual(_T_1, Zero)) {
                    Return(Package(0x03) {
                        Zero,
                        Zero,
                        0xfffffff0,
                    })
                }
                Else {
                    If(LEqual(_T_1, One)) {
                        Return(Package(0x03) {
                            Zero,
                            One,
                            0xfffffff0,
                        })
                    }
                    Else {
                        If(LEqual(_T_1, 0x02)) {
                            Return(Package(0x03) {
                                Zero,
                                0x02,
                                0xfffffff0,
                            })
                        }
                        Else {
                            If(LEqual(_T_1, 0x03)) {
                                Return(Package(0x03) {
                                    Zero,
                                    0x03,
                                    0xfffffff0,
                                })
                            }
                            Else {
                                If(LEqual(_T_1, 0x04)) {
                                    Return(Package(0x03) {
                                        Zero,
                                        0x04,
                                        0xfffffff0,
                                    })
                                }
                                Else {
                                    If(LEqual(_T_1, 0x05)) {
                                        Return(Package(0x03) {
                                            Zero,
                                            0x05,
                                            0xfffffff0,
                                        })
                                    }
                                    Else {
                                        If(LEqual(_T_1, 0x06)) {
                                            Return(Package(0x03) {
                                                Zero,
                                                0x06,
                                                0xfffffff0,
                                            })
                                        }
                                        Else {
                                            If(LEqual(_T_1, 0x07)) {
                                                Return(Package(0x03) {
                                                    Zero,
                                                    0x07,
                                                    0xfffffff0,
                                                })
                                            }
                                            Else {
                                                If(LEqual(_T_1, 0x08)) {
                                                    Return(Package(0x03) {
                                                        Zero,
                                                        0x08,
                                                        0xfffffff0,
                                                    })
                                                }
                                                Else {
                                                    If(LEqual(_T_1, 0x09)) {
                                                        Return(Package(0x03) {
                                                            Zero,
                                                            0x09,
                                                            0xfffffff0,
                                                        })
                                                    }
                                                    Else {
                                                        If(LEqual(_T_1, 0x0a)) {
                                                            Return(Package(0x03) {
                                                                Zero,
                                                                0x0a,
                                                                0xfffffff0,
                                                            })
                                                        }
                                                        Else {
                                                            If(LEqual(_T_1, 0x0b)) {
                                                                Return(Package(0x03) {
                                                                    Zero,
                                                                    0x0b,
                                                                    0xfffffff0,
                                                                })
                                                            }
                                                            Else {
                                                                If(LEqual(_T_1, 0x0c)) {
                                                                    Return(Package(0x03) {
                                                                        Zero,
                                                                        0x0c,
                                                                        0xfffffff0,
                                                                    })
                                                                }
                                                                Else {
                                                                    If(LEqual(_T_1, 0x0d)) {
                                                                        Return(Package(0x03) {
                                                                            Zero,
                                                                            0x0d,
                                                                            0xfffffff0,
                                                                        })
                                                                    }
                                                                    Else {
                                                                        If(LEqual(_T_1, 0x0e)) {
                                                                            Return(Package(0x03) {
                                                                                Zero,
                                                                                0x0e,
                                                                                0xfffffff0,
                                                                            })
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                Return(Package(0x03) {
                    One,
                    Zero,
                    Zero,
                })
            }
        }
    }
}

}
/*
SSDT: Length=172, Revision=1, Checksum=235,
	OEMID=DELL, OEM Table ID=st_ex, OEM Revision=0x1000,
	Creator ID=INTL, Creator Revision=0x20050624
 */
/*
BOOT: Length=40, Revision=1, Checksum=12,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
ASF!: Length=150, Revision=32, Checksum=220,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
MCFG: Length=62, Revision=1, Checksum=168,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
HPET: Length=56, Revision=1, Checksum=23,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
____: Length=48, Revision=1, Checksum=17,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
/*
APIC: Length=170, Revision=1, Checksum=156,
	OEMID=DELL, OEM Table ID=B9K, OEM Revision=0x15,
	Creator ID=ASL, Creator Revision=0x61
 */
