ACPI dump for Compaq Evo N800w [LONG]

From: Georg-W. Koltermann <g.w.k_at_web.de>
Date: 21 May 2003 23:47:37 +0200
As promised here is the ACPI dump of my Evo N800w.

--
Regards,
Georg.
-- 
Georg-W. Koltermann <g.w.k_at_web.de>

/*
RSD PTR: Checksum=82, OEMID=COMPAQ, RsdtAddress=0x3fff0c84
 */
/*
RSDT: Length=48, Revision=1, Checksum=209,
	OEMID=COMPAQ, OEM Table ID=CPQ0057, OEM Revision=0x11020320,
	Creator ID=CPQ, Creator Revision=0x1
 */
/*
	Entries={ 0x3fff0c00, 0x3fff6b29, 0x3fff6c2f }
 */
/*
	DSDT=0x3fff0cb4
	INT_MODEL=PIC
	SCI_INT=9
	SMI_CMD=0xb2, ACPI_ENABLE=0xf1, ACPI_DISABLE=0xf0, S4BIOS_REQ=0x0
	PM1a_EVT_BLK=0x1000-0x1003
	PM1a_CNT_BLK=0x1004-0x1005
	PM2_CNT_BLK=0x1020-0x1020
	PM2_TMR_BLK=0x1008-0x100b
	PM2_GPE0_BLK=0x1028-0x102b
	PM2_GPE1_BLK=0x102c-0x102f, GPE1_BASE=16
	P_LVL2_LAT=2ms, P_LVL3_LAT=85ms
	FLUSH_SIZE=0, FLUSH_STRIDE=0
	DUTY_OFFSET=1, DUTY_WIDTH=3
	DAY_ALRM=13, MON_ALRM=0, CENTURY=50
	Flags={WBINVD,PROC_C1,SLP_BUTTON,RTC_S4,DCK_CAP}
 */
/*
DSDT: Length=24181, Revision=1, Checksum=214,
	OEMID=COMPAQ, OEM Table ID=EVON800, OEM Revision=0x10000,
	Creator ID=MSFT, Creator Revision=0x100000e
 */
DefinitionBlock (
    "acpi_dsdt.aml",	//Output filename
    "DSDT",		//Signature
    0x1,		//DSDT Revision
    "COMPAQ",		//OEMID
    "EVON800",		//TABLE ID
    0x10000		//OEM Revision
)

{
Processor(\_PR_.C000, 1, 0x1010, 0x6) {
    Method(_CST) {
        Return(C001)
    }
}
Name(C001, Package(0x4) {
    0x3,
    Package(0x4) {
        Buffer(0x11) {0x82, 0xc, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
        0x1,
        0x1,
        0x03e8,
    },
    Package(0x4) {
        Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x14, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
        0x2,
        0x2,
        0x01f4,
    },
    Package(0x4) {
        Buffer(0x11) {0x82, 0xc, 0x0, 0x1, 0x8, 0x0, 0x0, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 },
        0x3,
        0xb9,
        0xfa,
    },
})
Name(\C002, Package(0x10) {
    "0",
    "1",
    "2",
    "3",
    "4",
    "5",
    "6",
    "7",
    "8",
    "9",
    "A",
    "B",
    "C",
    "D",
    "E",
    "F",
})
Method(\C003, 2) {
    Store(Arg0, Local0)
    Store("", Local7)
    Store(Arg1, Local4)
    While(LGreater(Local4, 0x0)) {
        And(Local0, 0xf, Local1)
        Store(DerefOf(Index(\C002, Local1, )), Local2)
        Concatenate(Local2, Local7, Local3)
        Store(Local3, Local7)
        ShiftRight(Local0, 0x4, Local0)
        Decrement(Local4)
    }
    Return(Local7)
}
Method(\C004, 2) {
    Store(SizeOf(Arg0), Local7)
    If(LNot(LEqual(Local7, SizeOf(Arg1)))) {
        Return(0x0)
    }
    Name(C005, Buffer(Local7) { })
    Name(C006, Buffer(Local7) { })
    Store(Arg0, C005)
    Store(Arg1, C006)
    Store(0x0, Local6)
    Store(0x1, Local0)
    While(LAnd(LNot(LEqual(Local6, Local7)), Local0)) {
        Store(DerefOf(Index(C005, Local6, )), Local2)
        Store(DerefOf(Index(C006, Local6, )), Local3)
        Increment(Local6)
        If(LNot(LEqual(Local2, Local3))) {
            Store(0x0, Local0)
        }
    }
    Return(Local0)
}
Name(C007, 0xfffffffd)
Name(C008, Package(0x3) {
    "Microsoft Windows",
    "Microsoft WindowsME: Millennium Edition",
    "Microsoft Windows NT",
})
Method(C009, 0, Serialized) {
    If(LEqual(C007, 0xfffffffd)) {
        Store(\_OS_, Local0)
        Store(SizeOf(C008), Local7)
        Store(0x0, Local1)
        While(LAnd(LLess(Local1, Local7), LEqual(C007, 0xfffffffd))) {
            Store(\C004(Local0, DerefOf(Index(C008, Local1, ))), Local2)
            If(Local2) {
                Add(Local1, 0x1, C007)
            }
            Else {
                Increment(Local1)
            }
        }
        If(LEqual(C007, 0xfffffffd)) {
            Store(0x0, C007)
        }
        If(LOr(LEqual(C007, 0x0), LEqual(C007, 0x3))) {
            If(CondRefOf(\_OSI, Local0)) {
                If(\_OSI) {
                    "Windows 2001"
                    Store(0x4, C007)
                }
            }
        }
        Store(C007, \_SB_.C009)
    }
    Return(C007)
}
Method(\_SB_._INI) {
    \C009()
}
Scope(\_SB_) {
    Device(C00A) {
        Name(_HID, "*PNP0C01")
        Method(_CRS) {
            Name(C00B, Buffer(0x26) {0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf, 0x0, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0x10, 0x0, 0x0, 0x0, 0xf0, 0x0, 0x79, 0x0 })
            CreateDWordField(C00B, 0x20, C00E)
            CreateDWordField(C00B, 0x1c, C00F)
            Subtract(\_SB_.C010(), C00F, C00E)
            CreateDWordField(C00B, 0x14, C011)
            CreateDWordField(C00B, 0x10, C012)
            Store(ShiftLeft(\_SB_.C013, 0x4, ), C012)
            Subtract(C00F, C012, C011)
            Return(C00B)
        }
    }
    Method(C010) {
        Store(C014, Local0)
        Return(Local0)
    }
    Method(C015) {
        Store(C016, Local0)
        Return(Local0)
    }
    Method(C017) {
        Add(C015(), 0x0002bec0, Local0)
        Return(Local0)
    }
    OperationRegion(C018, SystemMemory, 0x000f8000, 0x2c)
    Field(C018, WordAcc, NoLock, Preserve) {
        C019,	16,
        Offset(0x8),
        C01A,	16,
        Offset(0xe),
        C016,	32
    }
    OperationRegion(C01B, SystemMemory, C015, 0x00020200)
    Field(C01B, AnyAcc, NoLock, Preserve) {
        C01C,	1048576,
        C01D,	2048,
        C01E,	2048
    }
    OperationRegion(C01F, SystemMemory, C017, 0x0140)
    Field(C01F, AnyAcc, NoLock, Preserve) {
        C020,	32,
        C021,	4,
        C022,	1,
        C009,	4,
        C023,	5,
        C024,	1,
        C025,	1,
        C026,	2,
        C027,	1,
        C028,	1,
        C029,	1,
        C02A,	1,
        C02B,	10,
        C02C,	32,
        C013,	16,
        C02D,	16,
        C02E,	16,
        C02F,	16,
        C030,	16,
        C031,	16,
        C032,	16,
        C014,	32,
        C033,	8,
        C034,	8,
        C035,	8,
        C036,	8,
        C037,	8,
        C038,	8,
        Offset(0x68),
        C039,	32,
        C03A,	32,
        C03B,	32,
        C03C,	32,
        Offset(0x8c),
        C03D,	32
    }
    Method(C03E) {
        Add(C019, 0x000f0000, Local0)
        Return(Local0)
    }
    OperationRegion(C03F, SystemMemory, C03E, 0x6)
    Field(C03F, AnyAcc, NoLock, Preserve) {
        C040,	8,
        C041,	8,
        C042,	8,
        C043,	8,
        C044,	8,
        C045,	8
    }
    Method(C046, 2, Serialized) {
        Store(Arg0, Local0)
        If(LEqual(Local0, 0x1)) {
            Store(\_SB_.C02C, Local1)
            Or(Local1, Arg1, Local1)
            Store(Local1, \_SB_.C02C)
        }
        Else {
            Store(\_SB_.C02C, Local1)
            Not(Arg1, Local2)
            And(Local1, Local2, Local1)
            Store(Local1, \_SB_.C02C)
        }
    }
    Device(C047) {
        Name(_HID, "*PNP0A03")
        Name(_ADR, 0x0)
        Device(C048) {
            Name(_ADR, 0x00010000)
        }
        OperationRegion(C049, PCI_Config, 0x91, 0x6)
        Field(C049, AnyAcc, NoLock, Preserve) {
            C04A,	48
        }
        Alias(C04A, \_SB_.C04A)
        Scope(\_SB_) {
            Name(C04B, Package(0xc) {
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
                0x4000,
            })
            Method(C04C) {
                Acquire(C04D, 0xffff)
                If(LEqual(C04E, 0xfffffffd)) {
                    Store(0x0, Local0)
                    Store(Local0, C04E)
                    Store(Local0, Local2)
                    Store(C04A, Local5)
                    Store(DerefOf(Index(Local5, Local0, )), Local1)
                    Store(0x000c0000, Local4)
                    Store(ShiftLeft(C013, 0x4, ), Local3)
                    While(LAnd(LNot(LGreater(Local4, Local3)), LLess(C04E, 0x6))) {
                        If(LEqual(And(Local1, 0x3, ), 0x0)) {
                            If(LEqual(Local2, 0x0)) {
                                Store(Local4, Index(C04F, C04E, ))
                            }
                            Store(0x1, Local2)
                        }
                        Else {
                            If(Local2) {
                                Subtract(Local4, 0x1, Index(C050, C04E, ))
                                Increment(C04E)
                            }
                            Store(0x0, Local2)
                        }
                        If(LLess(Local4, Local3)) {
                            Add(Local4, DerefOf(Index(C04B, Local0, )), Local4)
                            ShiftRight(Local1, 0x4, Local1)
                            If(And(Local0, 0x1, )) {
                                Store(0x1, Local1)
                                If(LLess(Local4, Local3)) {
                                    ShiftRight(Local0, 0x1, Local6)
                                    Increment(Local6)
                                    Store(DerefOf(Index(Local5, Local6, )), Local1)
                                }
                            }
                        }
                        Else {
                            Increment(Local4)
                        }
                        Increment(Local0)
                    }
                }
                Release(C04D)
            }
        }
        Method(_INI) {
            C04C()
        }
        Name(C051, Buffer(0x6e) {0x88, 0xd, 0x0, 0x2, 0xd, 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, 0x0, 0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x79, 0x0 })
        Scope(\_SB_) {
            Name(C04F, Package(0x7) {
            })
            Name(C050, Package(0x7) {
            })
            Name(C04E, 0xfffffffd)
            Mutex(C04D, 0)
        }
        Method(C053, 4) {
            Store(Arg1, Local2)
            Store(Arg3, Local4)
            Add(Local4, 0x1a, Local5)
            While(LLess(Local4, Local5)) {
                Store(DerefOf(Index(C051, Local4, )), Index(Arg0, Local2, ))
                Increment(Local4)
                Increment(Local2)
            }
            Store(Arg1, Local2)
            Add(Local2, 0xa, Local2)
            CreateDWordField(Arg0, Local2, C054)
            Add(Local2, 0x4, Local2)
            CreateDWordField(Arg0, Local2, C055)
            Add(Local2, 0x8, Local2)
            CreateDWordField(Arg0, Local2, C056)
            Store(DerefOf(Index(C04F, Arg2, )), C054)
            Store(DerefOf(Index(C050, Arg2, )), C055)
            Subtract(C055, C054, Local3)
            Add(Local3, 0x1, C056)
            Add(Local2, 0x4, Local2)
            Return(Local2)
        }
        Method(C057) {
            Acquire(C04D, 0xffff)
            Multiply(C04E, 0x1a, Local1)
            Add(SizeOf(C051), Local1, Local2)
            Store(Buffer(Local2) { }, Local0)
            Store(0x0, Local1)
            Store(0x0, Local2)
            While(LLess(Local1, SizeOf(C051))) {
                Store(DerefOf(Index(C051, Local1, )), Index(Local0, Local2, ))
                Increment(Local2)
                Increment(Local1)
            }
            Store(0x0, Local1)
            Subtract(Local2, 0x2, Local2)
            Subtract(Local2, 0x1a, Local3)
            While(LLess(Local1, C04E)) {
                Store(C053(Local0, Local2, Local1, Local3), Local2)
                Increment(Local1)
            }
            CreateWordField(Local0, Local2, C058)
            Store(0x79, C058)
            Release(C04D)
            Return(Local0)
        }
        Method(_CRS) {
            CreateDWordField(C051, 0x5c, C054)
            CreateDWordField(C051, 0x68, C056)
            CreateDWordField(C051, 0x60, C055)
            Store(\_SB_.C010(), Local1)
            Store(Local1, C054)
            Subtract(C055, Local1, Local1)
            Add(Local1, 0x1, C056)
            Store(C057(), Local2)
            Return(Local2)
        }
        Name(_S3D, 0x2)
        Name(_S4D, 0x3)
        Device(C059) {
            Name(_ADR, 0x001e0000)
            Name(_PRW, Package(0x2) {
                0xb,
                0x5,
            })
        }
        Device(C05A) {
            Name(_ADR, 0x001f0000)
            OperationRegion(C05B, PCI_Config, 0x60, 0xa0)
            Field(C05B, AnyAcc, NoLock, Preserve) {
                C05C,	8,
                C05D,	8,
                C05E,	8,
                C05F,	8,
                Offset(0x8),
                C060,	8,
                C061,	8,
                C062,	8,
                C063,	8,
                Offset(0x30),
                C064,	16,
                Offset(0x40),
                ,	7,
                C065,	1,
                Offset(0x58),
                C066,	32,
                Offset(0x60),
                ,	4,
                C067,	4,
                Offset(0x64),
                C068,	64,
                C069,	16,
                Offset(0x80),
                C06A,	3,
                ,	1,
                C06B,	3,
                Offset(0x81),
                C06C,	2,
                ,	2,
                C06D,	1,
                Offset(0x84),
                C06E,	16,
                C06F,	1,
                C070,	1,
                C071,	1,
                C072,	1
            }
            OperationRegion(C073, SystemIO, 0xb2, 0x1)
            Field(C073, AnyAcc, NoLock, Preserve) {
                C074,	8
            }
            OperationRegion(C075, SystemIO, 0x1000, 0x36)
            Field(C075, AnyAcc, NoLock, Preserve) {
                Offset(0x2a),
                ,	2,
                C076,	1,
                Offset(0x2c),
                C077,	16,
                Offset(0x30),
                C078,	1,
                C079,	1,
                ,	2,
                C07A,	1,
                Offset(0x34),
                ,	4,
                C07B,	1
            }
            OperationRegion(C07C, SystemIO, 0x1060, 0x11)
            Field(C07C, ByteAcc, NoLock, Preserve) {
                C07D,	8,
                C07E,	8,
                Offset(0x4),
                ,	3,
                C07F,	1,
                Offset(0x6),
                ,	1,
                C080,	1,
                Offset(0x8),
                ,	11,
                C081,	1
            }
            OperationRegion(C082, SystemMemory, 0xffbc0100, 0x1)
            Field(C082, ByteAcc, NoLock, Preserve) {
                C083,	5
            }
            OperationRegion(C084, SystemIO, 0x1100, 0x3c)
            Field(C084, AnyAcc, NoLock, Preserve) {
                Offset(0xc),
                C085,	32,
                Offset(0x2c),
                C086,	32,
                Offset(0x38),
                C087,	16
            }
            OperationRegion(C088, SystemIO, 0x1200, 0x6)
            Field(C088, ByteAcc, NoLock, Preserve) {
                C089,	8,
                Offset(0x2),
                C08A,	8,
                C08B,	8,
                C08C,	8,
                C08D,	8
            }
            Method(C08E, 3, Serialized) {
                Acquire(\_GL_, 0xffff)
                Store(0x0, Local2)
                Store(0xfa, Local0)
                While(LAnd(And(C089, 0x1, ), LGreater(Local0, 0x0))) {
                    Stall(0x64)
                    Decrement(Local0)
                }
                If(Local0) {
                    Store(Arg1, C08B)
                    Store(Arg0, C08C)
                    If(LEqual(And(Arg0, 0x1, ), 0x0)) {
                        Store(Arg2, C08D)
                    }
                    Store(0xff, C089)
                    Store(0x48, C08A)
                    Store(0xfa, Local0)
                    While(LAnd(LEqual(And(C089, 0x1e, ), 0x0), LGreater(Local0, 0x0))) {
                        Stall(0x64)
                        Decrement(Local0)
                    }
                    And(C089, 0x1c, Local1)
                    Store(0xff, C089)
                    If(LAnd(LEqual(Local1, 0x0), And(Arg0, 0x1, ))) {
                        Store(C08D, Local2)
                    }
                }
                Else {
                    Store(0x1, Local1)
                }
                Release(\_GL_)
                If(And(Arg0, 0x1, )) {
                    ShiftLeft(Local1, 0x8, Local3)
                    Or(Local3, Local2, Local1)
                }
                Return(Local1)
            }
            Method(C08F, 2, Serialized) {
                If(And(Arg0, 0xef, )) {
                    FindSetRightBit(Arg0, Local4)
                    Decrement(Local4)
                    Multiply(Local4, 0x2, Local0)
                    ShiftLeft(0x3, Local0, Local1)
                    ShiftLeft(Arg1, Local0, Local2)
                    Store(C064, Local3)
                    And(Local3, Not(Local1, ), Local3)
                    Or(Local3, Local2, Local3)
                    Store(Local3, C064)
                }
            }
            Name(C090, Package(0x8) {
                0x03f8,
                0x02f8,
                0x0220,
                0x0228,
                0x0238,
                0x02e8,
                0x0338,
                0x03e8,
            })
            Name(C091, Package(0x3) {
                0x0378,
                0x0278,
                0x03bc,
            })
            Method(C092, 3) {
                Store(0x0, Local1)
                Store(Match(Arg0, MEQ, Arg1, MTR, 0x0, 0x0), Local0)
                If(LNot(LEqual(Local0, Ones))) {
                    ShiftLeft(Local0, Arg2, Local1)
                }
                Return(Local1)
            }
            Method(C093, 3, Serialized) {
                Store(C068, Local0)
                CreateWordField(Local0, Multiply(Arg0, 0x2, ), C094)
                Store(Arg1, C094)
                Store(Local0, C068)
                Multiply(Arg0, 0x4, Local1)
                ShiftLeft(Arg2, Local1, Local2)
                ShiftLeft(0xf, Local1, Local3)
                And(C069, Not(Local3, ), Local4)
                Or(Local4, Local2, C069)
            }
            Method(C095, 3, Serialized) {
                If(Arg1) {
                    Store(0x0, Local0)
                    Store(0x0, Local1)
                    Store(0x0, Local3)
                    And(C067, 0xf, Local2)
                    While(Local2) {
                        If(And(Local2, 0x1, )) {
                            Multiply(Local3, 0x2, Local5)
                            Store(C068, Local6)
                            Store(DerefOf(Index(Local6, Local5, )), Local4)
                            Or(ShiftLeft(DerefOf(Index(Local6, Add(Local5, 0x1, ), )), 0x8, ), Local4, Local4)
                            If(LEqual(Arg1, Local4)) {
                                If(LEqual(Arg0, 0x0)) {
                                    ShiftLeft(0x1, Local3, Local5)
                                    And(C067, Not(Local5, ), C067)
                                    C093(Local3, 0x0, 0x0)
                                }
                                Add(Local3, 0x1, Local1)
                            }
                        }
                        Else {
                            If(LAnd(Arg0, LEqual(Local0, 0x0))) {
                                Add(Local3, 0x1, Local0)
                            }
                        }
                        ShiftRight(Local2, 0x1, Local2)
                        Increment(Local3)
                    }
                    If(LAnd(Arg0, LEqual(Local1, 0x0))) {
                        If(LEqual(Local0, 0x0)) {
                            Add(Local3, 0x1, Local0)
                        }
                        Decrement(Local0)
                        If(LLess(Local0, 0x4)) {
                            C093(Local0, Arg1, Arg2)
                            Or(C067, ShiftLeft(0x1, Local0, ), C067)
                        }
                    }
                }
            }
            Method(C096, 2, Serialized) {
                If(LEqual(Arg0, 0x0)) {
                    Store(0x0, C072)
                }
                Else {
                    If(LEqual(Arg0, 0x1)) {
                        Store(0x0, C071)
                    }
                    Else {
                        If(LEqual(Arg0, 0x3)) {
                            Store(0x0, C06F)
                        }
                        Else {
                            If(LEqual(Arg0, 0x2)) {
                                Store(0x0, C070)
                                C095(0x0, Arg1, 0x0)
                            }
                        }
                    }
                }
            }
            Method(C097, 3, Serialized) {
                If(LEqual(Arg0, 0x0)) {
                    Store(0x0, Local0)
                    If(LEqual(Arg1, 0x0370)) {
                        Store(0x1, Local0)
                    }
                    Store(Local0, C06D)
                    Store(0x1, C072)
                }
                Else {
                    If(LEqual(Arg0, 0x1)) {
                        Store(C092(C091, Arg1, 0x0), C06C)
                        Store(0x1, C071)
                    }
                    Else {
                        If(LEqual(Arg0, 0x3)) {
                            Store(C092(C090, Arg1, 0x0), C06A)
                            Store(0x1, C06F)
                        }
                        Else {
                            If(LEqual(Arg0, 0x2)) {
                                Store(C092(C090, Arg1, 0x0), C06B)
                                Store(0x1, C070)
                                C095(0x1, Arg2, 0x7)
                            }
                        }
                    }
                }
            }
        }
        Device(C098) {
            Name(_ADR, 0x001f0001)
            OperationRegion(C099, PCI_Config, 0x40, 0x18)
            Field(C099, AnyAcc, NoLock, Preserve) {
                C09A,	16,
                C09B,	16,
                C09C,	8,
                Offset(0x8),
                C09D,	8,
                Offset(0xa),
                C09E,	16,
                Offset(0x14),
                C09F,	32
            }
            Method(C0A0, 2, Serialized) {
                If(LEqual(Arg0, 0x0)) {
                    Store(C09A, Local0)
                }
                Else {
                    Store(C09B, Local0)
                }
                If(LEqual(And(Local0, 0x9, ), 0x0)) {
                    Return(0x0384)
                }
                If(LEqual(Arg1, 0x0)) {
                    If(LEqual(And(Local0, 0x9, ), 0x8)) {
                        Return(0x0384)
                    }
                    ShiftRight(And(Local0, 0x0300, ), 0x8, Local1)
                    ShiftRight(And(Local0, 0x3000, ), 0xc, Local2)
                    Return(Multiply(0x1e, Subtract(0x9, Add(Local1, Local2, ), ), ))
                }
                Else {
                    If(And(Local0, 0x4000, )) {
                        If(LEqual(And(Local0, 0x90, ), 0x80)) {
                            Return(0x0384)
                        }
                        Store(C09C, Local0)
                        If(LEqual(Arg0, 0x1)) {
                            ShiftRight(Local0, 0x4, Local0)
                        }
                        Return(Multiply(0x1e, Subtract(0x9, Add(And(ShiftRight(Local0, 0x2, ), 0x3, ), And(Local0, 0x3, ), ), ), ))
                    }
                    Return(0xffffffff)
                }
            }
            Name(C0A1, Buffer(0x5) {0x70, 0x49, 0x36, 0x27, 0x19 })
            Method(C0A2, 2, Serialized) {
                ShiftLeft(0x1, Add(Multiply(Arg0, 0x2, ), Arg1, ), Local0)
                If(And(C09D, Local0, )) {
                    Store(C09F, Local1)
                    If(And(ShiftRight(Local1, 0xc, ), Local0, )) {
                        Return(0x11)
                    }
                    Store(And(ShiftRight(C09E, Add(Multiply(Arg0, 0x8, ), Multiply(Arg1, 0x4, ), ), ), 0x3, ), Local2)
                    If(And(Local1, Local0, )) {
                        Add(Local2, 0x2, Local2)
                    }
                    Return(DerefOf(Index(C0A1, Local2, )))
                }
                Return(0xffffffff)
            }
            Method(C0A3, 1, Serialized) {
                If(LEqual(Arg0, 0x0)) {
                    Store(C09A, Local0)
                }
                Else {
                    Store(C09B, Local0)
                }
                Store(ShiftRight(C09D, Multiply(0x2, Arg0, ), ), Local1)
                Store(0x0, Local3)
                If(And(Local1, 0x1, )) {
                    Or(Local3, 0x1, Local3)
                }
                If(And(Local1, 0x2, )) {
                    Or(Local3, 0x4, Local3)
                }
                If(And(Local0, 0x2, )) {
                    Or(Local3, 0x2, Local3)
                }
                If(And(Local0, 0x20, )) {
                    Or(Local3, 0x8, Local3)
                }
                If(And(Local0, 0x4000, )) {
                    Or(Local3, 0x10, Local3)
                }
                Return(Local3)
            }
            Method(C0A4, 5, Serialized) {
                CreateWordField(Arg4, 0x2, C0A5)
                CreateWordField(Arg4, 0x4, C0A6)
                CreateWordField(Arg4, 0x8, C0A7)
                Store(0xc, Local0)
                Store(0x0, Local1)
                Store(0x0, Local2)
                Store(0x1, Local5)
                If(LAnd(And(Arg3, ShiftLeft(0x2, Multiply(Arg1, 0x2, ), ), ), And(C0A5, 0x0800, ))) {
                    Or(Local0, 0x2, Local0)
                    Store(0x8, Local5)
                }
                If(LAnd(LNot(LGreater(Arg2, 0xf0)), And(C0A6, 0x2, ))) {
                    Or(And(Local0, 0xfffffff7, ), 0x1, Local0)
                    If(LAnd(LNot(LGreater(Arg2, 0x78)), And(C0A7, 0x2, ))) {
                        Store(0x2300, Local1)
                        Store(0xb, Local2)
                        Or(Local5, 0x4, Local5)
                    }
                    Else {
                        If(LAnd(LNot(LGreater(Arg2, 0xb4)), And(C0A7, 0x1, ))) {
                            Store(0x2100, Local1)
                            Store(0x9, Local2)
                            Or(Local5, 0x3, Local5)
                        }
                        Else {
                            Store(0x0100, Local1)
                            Store(0x4, Local2)
                            Or(Local5, 0x2, Local5)
                        }
                    }
                }
                If(LEqual(Arg1, 0x0)) {
                    Or(Local0, Local1, Local0)
                    Store(0x40f0, Local4)
                }
                Else {
                    ShiftLeft(Local0, 0x4, Local0)
                    If(And(Arg3, 0x10, )) {
                        Or(Local0, 0x4000, Local0)
                        If(LEqual(Arg0, 0x0)) {
                            Or(And(C09C, 0xf0, ), Local2, C09C)
                        }
                        Else {
                            Or(And(C09C, 0xf, ), ShiftLeft(Local2, 0x4, ), C09C)
                        }
                    }
                    Store(0x3f0f, Local4)
                }
                Or(Local0, 0x8000, Local0)
                If(LEqual(Arg0, 0x0)) {
                    Or(And(C09A, Local4, ), Local0, C09A)
                }
                Else {
                    Or(And(C09B, Local4, ), Local0, C09B)
                }
                Return(Local5)
            }
            Method(C0A8, 5, Serialized) {
                CreateWordField(Arg4, 0xc, C0A9)
                Store(0x0, Local0)
                Store(0x0, Local1)
                Store(0x0, Local2)
                Add(Multiply(Arg0, 0x2, ), Arg1, Local3)
                Store(0x0, Local4)
                ShiftLeft(0x1011, Local3, Local5)
                If(And(Arg3, ShiftLeft(0x1, Multiply(Arg1, 0x2, ), ), )) {
                    Store(0x1, Local1)
                    Store(C0AA(Arg0, Arg1), Local6)
                    If(LAnd(LNot(LLess(Local6, 0x5)), LAnd(LLess(Arg2, 0x19), And(C0A9, 0x20, )))) {
                        Store(0x1, Local0)
                        Store(0x45, Local2)
                        ShiftLeft(0x1011, Local3, Local4)
                    }
                    Else {
                        If(LAnd(LNot(LLess(Local6, 0x4)), LAnd(LLess(Arg2, 0x27), And(C0A9, 0x10, )))) {
                            Store(0x2, Local0)
                            Store(0x44, Local2)
                            ShiftLeft(0x11, Local3, Local4)
                        }
                        Else {
                            If(LAnd(LNot(LLess(Local6, 0x3)), LAnd(LLess(Arg2, 0x36), And(C0A9, 0x8, )))) {
                                Store(0x1, Local0)
                                Store(0x43, Local2)
                                ShiftLeft(0x11, Local3, Local4)
                            }
                            Else {
                                If(LAnd(LNot(LLess(Local6, 0x2)), LAnd(LLess(Arg2, 0x49), And(C0A9, 0x4, )))) {
                                    Store(0x2, Local0)
                                    Store(0x42, Local2)
                                }
                                Else {
                                    If(LAnd(LNot(LLess(Local6, 0x1)), LAnd(LLess(Arg2, 0x70), And(C0A9, 0x2, )))) {
                                        Store(0x1, Local0)
                                        Store(0x41, Local2)
                                    }
                                    Else {
                                        Store(0x0, Local0)
                                        Store(0x40, Local2)
                                    }
                                }
                            }
                        }
                    }
                }
                Or(And(C09D, Not(ShiftLeft(0x1, Local3, ), ), ), ShiftLeft(Local1, Local3, ), C09D)
                Multiply(Local3, 0x4, Local3)
                Or(And(C09E, Not(ShiftLeft(0x3, Local3, ), ), ), ShiftLeft(Local0, Local3, ), C09E)
                Or(And(C09F, Not(Local5, ), ), Local4, C09F)
                Return(Local2)
            }
        }
        Device(C0AB) {
            Name(_ADR, 0x001d0000)
            OperationRegion(C0AC, PCI_Config, 0xc4, 0x4)
            Field(C0AC, AnyAcc, NoLock, Preserve) {
                C0AD,	1,
                C0AE,	1
            }
            Device(C0AF) {
                Name(_ADR, 0x0)
                Device(C0B0) {
                    Name(_ADR, 0x0)
                }
            }
        }
        Device(C0B1) {
            Name(_ADR, 0x001d0001)
            OperationRegion(C0AC, PCI_Config, 0xc4, 0x4)
            Field(C0AC, AnyAcc, NoLock, Preserve) {
                C0AD,	1,
                C0AE,	1
            }
            Device(C0AF) {
                Name(_ADR, 0x0)
                Device(C0B0) {
                    Name(_ADR, 0x0)
                }
                Device(C0B2) {
                    Name(_ADR, 0x1)
                }
            }
        }
        Device(C0B3) {
            Name(_ADR, 0x001d0002)
            OperationRegion(C0AC, PCI_Config, 0xc4, 0x1)
            Field(C0AC, AnyAcc, NoLock, Preserve) {
                C0AD,	1,
                C0AE,	1
            }
            Device(C0AF) {
                Name(_ADR, 0x0)
                Device(C0B0) {
                    Name(_ADR, 0x0)
                }
                Device(C0B2) {
                    Name(_ADR, 0x1)
                }
            }
        }
        Device(C0B4) {
            Name(_ADR, 0x001d0007)
            Device(C0AF) {
                Name(_ADR, 0x0)
                Device(C0B0) {
                    Name(_ADR, 0x0)
                }
                Device(C0B2) {
                    Name(_ADR, 0x1)
                }
                Device(C0B5) {
                    Name(_ADR, 0x2)
                }
                Device(C0B6) {
                    Name(_ADR, 0x3)
                }
                Device(C0B7) {
                    Name(_ADR, 0x4)
                }
                Device(C0B8) {
                    Name(_ADR, 0x5)
                }
            }
        }
        Method(C0B9, 1, Serialized) {
            Name(C0BA, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
            CreateWordField(C0BA, 0x1, C0BC)
            Store(0x0, Local1)
            Store(Arg0, Local0)
            And(Local0, 0x8f, Local0)
            If(LLess(Local0, 0x80)) {
                And(Local0, 0xf, Local0)
                ShiftLeft(0x1, Local0, Local1)
            }
            Store(Local1, C0BC)
            Return(C0BA)
        }
        Method(C0BD, 1, Serialized) {
            Store(Arg0, Local0)
            And(Local0, 0x80, Local0)
            If(LEqual(Local0, 0x0)) {
                Store(0xb, Local0)
            }
            Else {
                Store(0x9, Local0)
            }
            Return(Local0)
        }
        Method(C0BE, 1, Serialized) {
            Store(Arg0, Local0)
            And(Local0, 0xf0, Local0)
            Or(Local0, 0x80, Local0)
            Return(Local0)
        }
        Method(C0BF, 1, Serialized) {
            CreateWordField(Arg0, 0x1, C0C0)
            If(LEqual(C0C0, 0x0)) {
                Store(0x0, Local0)
            }
            Else {
                FindSetRightBit(C0C0, Local0)
                Decrement(Local0)
            }
            Return(Local0)
        }
        Device(C0C1) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x60)
            Method(_STA) {
                Return(C0BD(^^C05A.C05C))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C05C), ^^C05A.C05C)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C05C)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C05C))
            }
        }
        Device(C0C2) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x61)
            Method(_STA) {
                Return(C0BD(^^C05A.C05D))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C05D), ^^C05A.C05D)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C05D)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C05D))
            }
        }
        Device(C0C3) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x62)
            Method(_STA) {
                Return(C0BD(^^C05A.C05E))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C05E), ^^C05A.C05E)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C05E)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C05E))
            }
        }
        Device(C0C4) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x63)
            Method(_STA) {
                Return(C0BD(^^C05A.C05F))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C05F), ^^C05A.C05F)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C05F)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C05F))
            }
        }
        Device(C0C5) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x68)
            Method(_STA) {
                Return(C0BD(^^C05A.C060))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C060), ^^C05A.C060)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C060)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C060))
            }
        }
        Device(C0C6) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x69)
            Method(_STA) {
                Return(C0BD(^^C05A.C061))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C061), ^^C05A.C061)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C061)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C061))
            }
        }
        Device(C0C7) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x6a)
            Method(_STA) {
                Return(C0BD(^^C05A.C062))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C062), ^^C05A.C062)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C062)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C062))
            }
        }
        Device(C0C8) {
            Name(_HID, "*PNP0C0F")
            Name(_UID, 0x6b)
            Method(_STA) {
                Return(C0BD(^^C05A.C063))
            }
            Method(_DIS) {
                Store(C0BE(^^C05A.C063), ^^C05A.C063)
            }
            Method(_SRS, 1) {
                Store(C0BF(Arg0), ^^C05A.C063)
            }
            Method(_CRS) {
                Return(C0B9(^^C05A.C063))
            }
        }
        Method(C0C9, 1) {
            While(^C05A.C07B) {
                Stall(0x1)
            }
            Store(0xf3, ^C05A.C074)
            Stall(0x32)
            While(^C05A.C07B) {
                Stall(0x1)
            }
        }
        Mutex(C0CA, 0)
        Name(C0CB, 0x0)
        Name(C0CC, 0x0)
        Method(C0CD) {
            Acquire(C0CA, 0xffff)
            If(LEqual(C0CC, 0x0)) {
                Store(0x0, ^C05A.C078)
                Store(0x0, ^C05A.C079)
            }
            Increment(C0CC)
            Release(C0CA)
        }
        Method(C0CE) {
            Acquire(C0CA, 0xffff)
            Decrement(C0CC)
            If(LEqual(C0CC, 0x0)) {
                Store(0x1, ^C05A.C079)
                Store(0x1, ^C05A.C078)
            }
            Release(C0CA)
        }
        Scope(C048) {
            Device(C0CF) {
                Name(_ADR, 0x0)
                Name(C0D0, 0x0)
                OperationRegion(C0D1, PCI_Config, 0x2c, 0x4)
                Field(C0D1, DWordAcc, NoLock, Preserve) {
                    C0D2,	32
                }
                OperationRegion(C0D3, PCI_Config, 0x4c, 0x4)
                Field(C0D3, DWordAcc, NoLock, Preserve) {
                    C0D4,	32
                }
                Method(_REG, 2) {
                    If(LAnd(LEqual(Arg0, 0x2), LEqual(Arg1, 0x1))) {
                        Store(C0D2, Local0)
                        If(LEqual(C0D0, 0x0)) {
                            Store(Local0, C0D0)
                        }
                        Else {
                            If(LNot(LEqual(Local0, C0D0))) {
                                Store(C0D0, C0D4)
                            }
                        }
                    }
                }
                Name(_S1D, 0x3)
                Name(_S3D, 0x3)
                Name(_S4D, 0x3)
                Method(C0D5, 1, Serialized) {
                    Store(0x0, Local0)
                    If(And(C0D6(0x0), Arg0, )) {
                        Store(0x1, Local0)
                        If(And(C035, Arg0, )) {
                            Store(0x1d, Local0)
                            If(And(C034, Arg0, )) {
                                Store(0x1f, Local0)
                            }
                        }
                    }
                    Return(Local0)
                }
                Method(C0D7, 1, Serialized) {
                    Store(0x0, Local0)
                    If(And(C036, Arg0, )) {
                        Store(0x1, Local0)
                    }
                    Return(Local0)
                }
                Method(C0D8, 2, Serialized) {
                    Store(C037, Local0)
                    If(And(Arg1, 0x1, )) {
                        Or(Local0, Arg0, Local0)
                    }
                    Else {
                        And(Local0, Not(Arg0, ), Local0)
                    }
                    Store(Local0, C037)
                    If(And(Arg1, 0x40000000, )) {
                        Store(Local0, C034)
                    }
                    If(LEqual(And(Arg1, 0xc0000000, ), 0x80000000)) {
                        \_SB_.C0D9(0xea74, 0x1, 0x0, 0x0, 0x0)
                    }
                }
                Method(_DOS, 1) {
                    And(C033, 0xf8, Local0)
                    Or(Local0, Arg0, C033)
                }
                Device(C0DA) {
                    Name(_ADR, 0x0100)
                    Method(_DCS) {
                        Return(C0D5(0x2))
                    }
                    Method(_DGS) {
                        Return(C0D7(0x2))
                    }
                    Method(_DSS, 1) {
                        C0D8(0x2, Arg0)
                    }
                }
                Device(C0DB) {
                    Name(_ADR, 0x0110)
                    Method(_DCS) {
                        Return(C0D5(0x1))
                    }
                    Method(_DGS) {
                        Return(C0D7(0x1))
                    }
                    Method(_DSS, 1) {
                        C0D8(0x1, Arg0)
                    }
                }
                Device(C0DC) {
                    Name(_ADR, 0x0200)
                    Method(_DCS) {
                        Return(C0D5(0x4))
                    }
                    Method(_DGS) {
                        Return(C0D7(0x4))
                    }
                    Method(_DSS, 1) {
                        C0D8(0x4, Arg0)
                    }
                }
                Device(C0DD) {
                    Name(_ADR, 0x0210)
                    Method(_DCS) {
                        Return(C0D5(0x8))
                    }
                    Method(_DGS) {
                        Return(C0D7(0x8))
                    }
                    Method(_DSS, 1) {
                        C0D8(0x8, Arg0)
                    }
                }
                Name(C0DE, 0xfffffffd)
                Method(C0D6, 1, Serialized) {
                    If(LAnd(Arg0, LEqual(C0DE, 0xfffffffd))) {
                        Store(0x7, Local0)
                        If(And(\_SB_.C047.C05A.C086, 0x10, )) {
                            Or(Local0, 0x8, Local0)
                        }
                        Store(Local0, C0DE)
                    }
                    Return(C0DE)
                }
                Method(_DOD) {
                    Return(Package(0x4) {
                        0x00010100,
                        0x00010110,
                        0x00010200,
                        0x00010210,
                    })
                }
            }
        }
        Method(\C0C9, 1) {
            \_SB_.C047.C0C9(Arg0)
        }
        Method(\C0CD) {
            \_SB_.C047.C0CD()
        }
        Method(\C0CE) {
            \_SB_.C047.C0CE()
        }
        Scope(C05A) {
            Method(C0DF, 5, Serialized) {
                If(LEqual(Arg1, 0x0)) {
                    ^C096(Arg0, Arg2)
                    Store(0x1, Local0)
                }
                Else {
                    ^C097(Arg0, Arg1, Arg2)
                    Store(0x3, Local0)
                }
                ^C08F(Arg4, Local0)
            }
            Method(C0E0, 1, Serialized) {
                Store(0x0, Local0)
                If(LOr(C07F, Arg0)) {
                    Store(0x1, C081)
                    Store(0x1, C080)
                    Store(0x1, C07F)
                    Store(0x4, C07E)
                    Store(0x0, C07D)
                    Store(0x0, C081)
                    Store(0x1, Local0)
                }
                Return(Local0)
            }
        }
        Method(\_SB_.C0E1, 5, Serialized) {
            ^C047.C05A.C0DF(Arg0, Arg1, Arg2, Arg3, Arg4)
        }
        Method(\_SB_.C0E2) {
            If(And(\_SB_.C047.C05A.C086, 0x80, )) {
                Store(0x7, Local0)
            }
            Else {
                And(\_SB_.C047.C05A.C087, 0x0300, Local0)
                ShiftRight(Local0, 0x8, Local0)
            }
            Return(Local0)
        }
        Device(C0E3) {
            Name(_ADR, 0x001f0005)
            PowerResource(C0E4, 0, 0) {
                Method(_STA) {
                    Store(0x1, Local1)
                    And(\_SB_.C047.C05A.C087, 0x80, Local0)
                    If(Local0) {
                        Store(0x1, Local1)
                    }
                    Return(Local1)
                }
                Method(_ON_) {
                    And(\_SB_.C047.C05A.C087, 0xffffff7f, Local0)
                    Store(Local0, \_SB_.C047.C05A.C087)
                }
                Method(_OFF) {
                    Or(\_SB_.C047.C05A.C087, 0x80, Local0)
                    Store(Local0, \_SB_.C047.C05A.C087)
                }
            }
            Name(_PR0, Package(0x1) {
                C0E4,
            })
        }
        Scope(C05A) {
            Device(C0E5) {
                Name(_HID, "*PNP0C09")
                Name(_GPE, 0x1d)
                Method(_STA) {
                    Return(0xf)
                }
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x62, 0x0, 0x62, 0x0, 0x1, 0x1, 0x47, 0x1, 0x66, 0x0, 0x66, 0x0, 0x1, 0x1, 0x79, 0x0 })
                Mutex(C0E6, 0)
                Name(C0E7, 0x0)
                Name(C0E8, 0x0)
                Method(C0E9, 0, Serialized) {
                    C0EA(0x7, 0xff)
                    Store(C0EB(), Local0)
                    C0EC(Local0, 0x81)
                    And(C0E7, 0x1, C0ED)
                    And(ShiftRight(C0E7, 0x1, ), 0x1, C0EE)
                }
                Method(_REG, 2) {
                    If(LEqual(Arg0, 0x3)) {
                        Store(Arg1, C0E8)
                        If(LAnd(Arg1, LNot(LLess(\C009(), 0x3)))) {
                            C0E9()
                        }
                    }
                }
                OperationRegion(C0EF, EmbeddedControl, 0x0, 0xff)
                Field(C0EF, ByteAcc, NoLock, Preserve) {
                    Offset(0x80),
                    Offset(0x81),
                    ,	4,
                    C0F0,	4,
                    ,	1,
                    C0ED,	1,
                    C0F1,	1,
                    ,	1,
                    C0EE,	1,
                    ,	1,
                    ,	1,
                    C0F2,	1,
                    C0F3,	1,
                    C0F4,	1,
                    ,	1,
                    ,	1,
                    ,	1,
                    C0F5,	1,
                    C0F6,	1,
                    C0F7,	1,
                    C0F8,	1,
                    ,	1,
                    ,	1,
                    C0F9,	1,
                    C0FA,	4,
                    C0FB,	1,
                    Offset(0x86),
                    C0FC,	4,
                    Offset(0x89),
                    C0FD,	16,
                    Offset(0x8d),
                    C0FE,	16,
                    Offset(0x91),
                    C0FF,	1,
                    Offset(0x95),
                    C100,	16,
                    Offset(0x99),
                    C101,	4,
                    Offset(0x9d),
                    C102,	16,
                    Offset(0xa1),
                    C103,	16,
                    Offset(0xa5),
                    C104,	16,
                    Offset(0xa9),
                    C105,	16,
                    Offset(0xad),
                    C106,	16,
                    Offset(0xb1),
                    C107,	16,
                    Offset(0xb5),
                    C108,	8,
                    Offset(0xb9),
                    C109,	8,
                    Offset(0xbd),
                    C10A,	8,
                    Offset(0xc1),
                    C10B,	64,
                    C10C,	64,
                    C10D,	32,
                    C10E,	8,
                    C10F,	8,
                    C110,	8,
                    C111,	8,
                    C112,	8,
                    C113,	8,
                    C114,	8,
                    C115,	8,
                    C116,	4,
                    C117,	4,
                    C118,	16,
                    C119,	16,
                    Offset(0xe3),
                    C11A,	4
                }
                Method(_INI) {
                    If(LLess(\C009(), 0x3)) {
                        C0E9()
                    }
                }
                Name(C11B, 0xff)
                Name(C11C, 0xff)
                Name(C11D, 0x7)
                Name(C11E, 0x1)
                Name(C11F, 0x0)
                Name(C120, 0x1)
                Name(C121, 0x0)
                Mutex(C122, 0)
                Name(C123, Package(0x8) {
                    "Unknown",
                    "NiMH",
                    "LiIon",
                })
                Method(C124, 0, Serialized) {
                    Acquire(C122, 0xffff)
                    If(And(C11D, 0x1, )) {
                        And(C11D, 0x6, C11D)
                        Release(C122)
                        Store(0x1, Local0)
                        If(And(\_SB_.C047.C05A.C086, 0x8, )) {
                            Store(0x0, Local0)
                        }
                        Store(Local0, C11E)
                    }
                    Else {
                        Release(C122)
                        Store(C11E, Local0)
                    }
                    Return(Local0)
                }
                Method(C0EB, 0, Serialized) {
                    Acquire(C122, 0xffff)
                    If(And(C11D, 0x2, )) {
                        And(C11D, 0x5, C11D)
                        Release(C122)
                        Acquire(C0E6, 0xffff)
                        If(C0E8) {
                            Store(C0FA, C11F)
                        }
                        Release(C0E6)
                    }
                    Else {
                        Release(C122)
                    }
                    Return(C11F)
                }
                Method(C0EA, 2, Serialized) {
                    Store(0x0, Local0)
                    Acquire(C122, 0xffff)
                    Or(Arg0, C11D, Local1)
                    And(Local1, 0x7, C11D)
                    If(And(C11D, 0x2, )) {
                        Or(C11B, Arg1, C11B)
                    }
                    If(And(C11D, 0x4, )) {
                        If(LNot(LEqual(C11C, 0xff))) {
                            Store(0x1, Local0)
                        }
                        Or(C11C, Arg1, C11C)
                    }
                    Release(C122)
                    Return(Local0)
                }
                Method(C125, 1, Serialized) {
                    If(LEqual(Arg0, 0x1)) {
                        Store(0x1, C120)
                    }
                    Else {
                        If(LEqual(Arg0, 0x0)) {
                            Store(0x0, C120)
                        }
                    }
                    Return(C120)
                }
                Method(C126, 1, Serialized) {
                    C125(0x1)
                    Store(C0EB(), Local0)
                    Store(0xf, Local1)
                    If(And(Local0, Arg0, )) {
                        Store(0x1f, Local1)
                    }
                    Return(Local1)
                }
                Method(C127, 1, Serialized) {
                    ShiftLeft(0x1, Arg0, Local7)
                    C125(0x1)
                    If(LEqual(C126(Local7), 0xf)) {
                        Return(0xfffffffd)
                    }
                    Acquire(C122, 0xffff)
                    Store(C11B, Local0)
                    Release(C122)
                    If(LEqual(And(Local0, Local7, ), 0x0)) {
                        Return(0x0)
                    }
                    Store(C128, Index(C129, Arg0, ))
                    Acquire(C0E6, 0xffff)
                    If(C0E8) {
                        Store(Arg0, C0FC)
                        Store(C0FE, Local0)
                        Store(Local0, Index(DerefOf(Index(C12A, Arg0, )), 0x1, ))
                        Store(Local0, Index(DerefOf(Index(C12A, Arg0, )), 0x2, ))
                        Store(C100, Index(DerefOf(Index(C12A, Arg0, )), 0x4, ))
                        Multiply(Local0, 0xa, Local1)
                        Divide(Add(Local1, 0x32, ), 0x64, Local3, Local2)
                        Store(Local2, Index(DerefOf(Index(C12A, Arg0, )), 0x5, ))
                        Name(C12B, 0x0)
                        Name(C12C, "     ")
                        Store(C10C, Local0)
                        Store(0x0, Index(Local0, 0x4, ))
                        Store(Local0, C12C)
                        Store(C12C, Index(DerefOf(Index(C12A, Arg0, )), 0xa, ))
                        Store(C10D, C12C)
                        Store(C12C, Index(DerefOf(Index(C12A, Arg0, )), 0xb, ))
                    }
                    Release(C0E6)
                    Acquire(C122, 0xffff)
                    And(C11B, Not(Local7, ), C11B)
                    Release(C122)
                    Return(0x0)
                }
                Method(C12D, 2, Serialized) {
                    ShiftLeft(0x1, Arg0, Local7)
                    C125(0x1)
                    If(LEqual(C126(Local7), 0xf)) {
                        Store(Package(0x4) {
                            0x0,
                            0xffffffff,
                            0xffffffff,
                            0xffffffff,
                        }, Index(C129, Arg0, ))
                        Return(0xfffffffd)
                    }
                    Acquire(C122, 0xffff)
                    If(Arg1) {
                        Store(0xff, C11C)
                    }
                    Store(C11C, Local0)
                    Release(C122)
                    If(LEqual(And(Local0, Local7, ), 0x0)) {
                        Return(0x0)
                    }
                    Acquire(C0E6, 0xffff)
                    If(C0E8) {
                        Store(Arg0, C0FC)
                        Store(C101, Local0)
                        Store(C102, Local3)
                        Store(C103, Index(DerefOf(Index(C129, Arg0, )), 0x2, ))
                        Store(C104, Index(DerefOf(Index(C129, Arg0, )), 0x3, ))
                    }
                    Release(C0E6)
                    If(LEqual(C124(), 0x1)) {
                        And(0xfffffffe, Local0, Local0)
                    }
                    Else {
                        And(0xfffffffd, Local0, Local0)
                    }
                    If(And(Local0, 0x1, )) {
                        Acquire(C122, 0xffff)
                        Store(Local7, C121)
                        Release(C122)
                    }
                    Store(Local0, Index(DerefOf(Index(C129, Arg0, )), 0x0, ))
                    If(And(Local0, 0x1, )) {
                        If(LOr(LLess(Local3, 0x0320), LGreater(Local3, 0x07d0))) {
                            Store(DerefOf(Index(DerefOf(Index(C129, Arg0, )), 0x1, )), Local5)
                            If(LOr(LLess(Local5, 0x0320), LGreater(Local5, 0x07d0))) {
                                Store(0x0578, Local3)
                            }
                            Else {
                                Store(Local5, Local3)
                            }
                        }
                    }
                    Store(Local3, Index(DerefOf(Index(C129, Arg0, )), 0x1, ))
                    Acquire(C122, 0xffff)
                    And(C11C, Not(Local7, ), C11C)
                    Release(C122)
                    Return(0x0)
                }
                Name(C12F, 0x0)
                Method(_Q03) {
                    Acquire(C122, 0xffff)
                    Store(C121, Local0)
                    Release(C122)
                    C0EA(0x4, Local0)
                    C0EC(Local0, 0x80)
                }
                Method(_Q04) {
                    Acquire(C122, 0xffff)
                    Store(C121, Local0)
                    Release(C122)
                    If(LEqual(\C009(), 0x3)) {
                        Store(0x81, Local1)
                        Store(C0EB(), Local0)
                    }
                    Else {
                        Store(0x80, Local1)
                    }
                    C0EA(0x4, Local0)
                    C0EC(Local0, Local1)
                }
                Method(_Q05) {
                    Acquire(\_TZ_.C130, 0xffff)
                    Store(0x4, \_TZ_.C131)
                    Release(\_TZ_.C130)
                    Notify(\_TZ_.TZ3_, 0x80)
                }
                Method(_Q06) {
                    C0EA(0x5, 0x3)
                    If(C125(0x2)) {
                        Notify(\_SB_.C132, 0x80)
                        Notify(\_PR_.C000, 0x80)
                        Notify(\_TZ_.TZ1_, 0x81)
                        Notify(\_TZ_.TZ2_, 0x81)
                    }
                }
                Method(_Q07) {
                    Acquire(\_TZ_.C130, 0xffff)
                    Store(0x4, \_TZ_.C131)
                    Release(\_TZ_.C130)
                    Notify(\_TZ_.TZ1_, 0x80)
                }
                Method(_Q08) {
                    C0EA(0x6, 0x1)
                    If(C125(0x2)) {
                        If(C133(0x1)) {
                            Return(0x0)
                        }
                        Store(C0EB(), Local0)
                        If(LNot(LEqual(Local0, 0x2))) {
                            C0EA(0x4, 0x2)
                            Notify(\_SB_.C134, 0x80)
                        }
                        Notify(\_SB_.C135, 0x81)
                        Return(0x0)
                    }
                }
                Method(_Q09) {
                    C0EA(0x4, 0x1)
                    If(C125(0x2)) {
                        Notify(\_SB_.C135, 0x80)
                    }
                }
                Method(_Q0A) {
                    Notify(\_SB_.C136, 0x80)
                }
                Method(_Q0B) {
                    Notify(\_SB_.C137, 0x80)
                }
                Method(_Q0E) {
                    Notify(\_SB_.C047, 0x2)
                }
                Method(_Q10) {
                    If(LEqual(And(C033, 0x3, ), 0x0)) {
                        \_SB_.C0D9(0xea74, 0x0, 0x0, 0x0, 0x0)
                        If(\_SB_.C029) {
                            Notify(\_SB_.C047.C048.C0CF, 0x80)
                        }
                    }
                    Else {
                        \_SB_.C0D9(0xea2d, 0x4, 0x0, 0x0, 0x0)
                    }
                }
                Method(_Q18) {
                    C0EA(0x6, 0x2)
                    If(C125(0x2)) {
                        If(C133(0x2)) {
                            Return(0x0)
                        }
                        Store(C0EB(), Local0)
                        If(LNot(LEqual(Local0, 0x1))) {
                            C0EA(0x4, 0x1)
                            Notify(\_SB_.C135, 0x80)
                        }
                        Notify(\_SB_.C134, 0x81)
                    }
                    Return(0x0)
                }
                Method(_Q19) {
                    C0EA(0x4, 0x2)
                    If(C125(0x2)) {
                        Notify(\_SB_.C134, 0x80)
                    }
                }
                Method(C0EC, 2, Serialized) {
                    If(And(Arg0, 0x1, )) {
                        Notify(\_SB_.C135, Arg1)
                    }
                    If(And(Arg0, 0x2, )) {
                        Notify(\_SB_.C134, Arg1)
                    }
                }
                Method(C133, 1, Serialized) {
                    If(LAnd(LEqual(\_SB_.C026, 0x0), LLess(\C009(), 0x3))) {
                        Store(C0EB(), Local0)
                        Store(C12F, Local1)
                        Or(Local0, Local1, Local0)
                        If(LEqual(And(Local0, Arg0, ), 0x0)) {
                            Or(Local1, Arg0, C12F)
                            Return(0x1)
                        }
                        And(Local1, Not(Arg0, ), C12F)
                    }
                    Return(0x0)
                }
            }
            Device(C138) {
                Name(_HID, "*PNP0A06")
                OperationRegion(C139, SystemIO, 0x2e, 0x2)
                Field(C139, ByteAcc, NoLock, Preserve) {
                    C13A,	8,
                    C13B,	8
                }
                OperationRegion(C13C, SystemIO, 0x2e, 0x1)
                Field(C13C, ByteAcc, NoLock, Preserve) {
                    C13D,	8
                }
                Mutex(C13E, 0)
                Mutex(C13F, 0)
                Name(C140, 0x0)
                Name(C141, 0x0)
                Method(C142, 2) {
                    Acquire(C13E, 0xffff)
                    Acquire(\_GL_, 0xffff)
                    Store(0x7, C13A)
                    Store(Arg0, C13B)
                    Store(Arg1, C13A)
                    Store(C13B, Local0)
                    Release(\_GL_)
                    Release(C13E)
                    Return(Local0)
                }
                Method(C143, 3) {
                    Acquire(C13E, 0xffff)
                    Acquire(\_GL_, 0xffff)
                    Store(0x7, C13A)
                    Store(Arg0, C13B)
                    Store(Arg1, C13A)
                    Store(Arg2, C13B)
                    Release(\_GL_)
                    Release(C13E)
                }
                Method(C144, 4, Serialized) {
                    Store(C142(Arg0, Arg1), Local0)
                    And(Arg2, Local0, Local1)
                    Or(Arg3, Local1, Local2)
                    C143(Arg0, Arg1, Local2)
                }
                Method(C145, 1) {
                    Store(C142(Arg0, 0x61), Local0)
                    Store(C142(Arg0, 0x60), Local1)
                    Or(Local0, ShiftLeft(Local1, 0x8, ), Local0)
                    If(Local0) {
                        If(LEqual(C142(Arg0, 0x30), 0x0)) {
                            Acquire(C13F, 0xffff)
                            Store(C140, Local1)
                            Store(C141, Local2)
                            Release(C13F)
                            And(Local1, Local2, Local1)
                            ShiftRight(Local1, Arg0, Local1)
                            If(LEqual(And(Local1, 0x1, ), 0x0)) {
                                Store(0x0, Local0)
                            }
                        }
                    }
                    Return(Local0)
                }
                Method(C146, 1) {
                    Name(C147, Package(0x4) {
                        0x0,
                        0x0,
                        0x0,
                        0x0,
                    })
                    Store(C142(Arg0, 0x61), Local0)
                    Store(C142(Arg0, 0x60), Local1)
                    ShiftLeft(Local1, 0x8, Local1)
                    Or(Local0, Local1, Index(C147, 0x0, ))
                    If(LEqual(Arg0, 0x2)) {
                        Store(C142(Arg0, 0x63), Local0)
                        Store(C142(Arg0, 0x62), Local1)
                        ShiftLeft(Local1, 0x8, Local1)
                        Or(Local0, Local1, Index(C147, 0x1, ))
                    }
                    Store(C142(Arg0, 0x70), Local0)
                    Store(0x0, Local1)
                    If(LLess(Local0, 0x10)) {
                        ShiftLeft(0x1, Local0, Local1)
                    }
                    Store(Local1, Index(C147, 0x2, ))
                    If(LNot(LEqual(Arg0, 0x3))) {
                        Store(C142(Arg0, 0x74), Local0)
                        Store(0x0, Local1)
                        If(LLess(Local0, 0x4)) {
                            ShiftLeft(0x1, Local0, Local1)
                        }
                        Store(Local1, Index(C147, 0x3, ))
                    }
                    Return(C147)
                }
                Method(C148, 5) {
                    If(LEqual(Arg1, 0x0)) {
                        C143(Arg0, 0x30, 0x0)
                    }
                    FindSetRightBit(Arg3, Local1)
                    If(LAnd(LGreater(Local1, 0x1), LLess(Local1, 0x11))) {
                        Decrement(Local1)
                    }
                    Else {
                        Store(0x0, Local1)
                    }
                    FindSetRightBit(Arg4, Local2)
                    If(LAnd(LGreater(Local2, 0x0), LLess(Local2, 0x5))) {
                        Decrement(Local2)
                    }
                    Else {
                        Store(0x4, Local2)
                    }
                    C143(Arg0, 0x61, Arg1)
                    ShiftRight(Arg1, 0x8, Local0)
                    C143(Arg0, 0x60, Local0)
                    If(LEqual(Arg0, 0x2)) {
                        C143(Arg0, 0x63, Arg2)
                        ShiftRight(Arg2, 0x8, Local0)
                        C143(Arg0, 0x62, Local0)
                    }
                    C144(Arg0, 0x70, 0xf0, Local1)
                    If(LNot(LEqual(Arg0, 0x3))) {
                        C144(Arg0, 0x74, 0xf0, Local2)
                    }
                    If(LNot(LEqual(Arg1, 0x0))) {
                        C143(Arg0, 0x30, 0x1)
                    }
                }
                Method(C149, 1, Serialized) {
                    Acquire(C13F, 0xffff)
                    Store(C140, Local0)
                    Release(C13F)
                    ShiftRight(Local0, Arg0, Local1)
                    Return(And(One, Local1, Local1))
                }
                Method(C14A, 2, Serialized) {
                    ShiftLeft(0x1, Arg0, Local0)
                    ShiftLeft(And(Arg1, 0x1, ), Arg0, Local1)
                    Acquire(C13F, 0xffff)
                    Or(C141, Local0, C141)
                    Store(C140, Local2)
                    And(Local2, Not(Local0, ), Local2)
                    Or(Local2, Local1, Local2)
                    Store(Local2, C140)
                    Release(C13F)
                }
                Method(C14B, 2, Serialized) {
                    And(C023, 0x10, Local0)
                    And(Not(C023, ), Arg1, Local1)
                    If(LOr(Local0, Local1)) {
                        Store(0x0, Local0)
                    }
                    Else {
                        Store(C145(Arg0), Local1)
                        Store(0xd, Local0)
                        If(Local1) {
                            Store(0xf, Local0)
                        }
                    }
                    Return(Local0)
                }
                Method(C14C, 1, Serialized) {
                    If(C145(Arg0)) {
                        Store(C146(Arg0), Local0)
                        Store(DerefOf(Index(Local0, 0x1, )), Local1)
                        Store(DerefOf(Index(Local0, 0x2, )), Local2)
                        Store(DerefOf(Index(Local0, 0x3, )), Local3)
                        \_SB_.C0E1(Arg0, 0x0, Local1, Local2, Local3)
                        C148(Arg0, 0x0, 0x0, 0x0, 0x0)
                    }
                }
                Method(C14D) {
                    Store(^^C14E, Local3)
                    If(\_SB_.C14F()) {
                        If(C145(0x3)) {
                            Name(C150, Buffer(0xa) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x79, 0x0 })
                            CreateWordField(C150, 0x2, C152)
                            CreateWordField(C150, 0x4, C153)
                            Store(C146(0x3), Local1)
                            Store(DerefOf(Index(Local1, 0x0, )), C152)
                            Store(C152, C153)
                            Add(SizeOf(C150), SizeOf(Local3), Local1)
                            Subtract(Local1, 0x2, Local1)
                            Store(Buffer(Local1) { }, Local0)
                            Store(0x0, Local1)
                            While(LLess(Local1, SizeOf(Local3))) {
                                Store(DerefOf(Index(Local3, Local1, )), Index(Local0, Local1, ))
                                Increment(Local1)
                            }
                            Subtract(Local1, 0x2, Local1)
                            Store(0x0, Local2)
                            While(LLess(Local2, SizeOf(C150))) {
                                Store(DerefOf(Index(C150, Local2, )), Index(Local0, Local1, ))
                                Increment(Local1)
                                Increment(Local2)
                            }
                            Store(Local0, Local3)
                        }
                    }
                    Return(Local3)
                }
                Device(C154) {
                    Name(_HID, "*PNP0501")
                    Name(_CID, 0x0005d041)
                    Name(_DDN, "COM1")
                    Name(C155, 0x0)
                    Name(C156, Buffer(0x33) {0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0x8, 0x0, 0x38, 0x79, 0x0 })
                    Method(_PRS) {
                        Return(C156)
                    }
                    Method(_STA) {
                        If(C155) {
                            Store(0xd, Local0)
                        }
                        Else {
                            Store(C14B(0x3, 0x2), Local0)
                        }
                        Return(Local0)
                    }
                    Method(_DIS) {
                        If(LOr(\_SB_.C022, LEqual(0x0, 0x1))) {
                            Store(0x1, C155)
                            Return(0x0)
                        }
                        C14C(0x3)
                        Return(0x0)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x2, C152)
                        CreateWordField(Arg0, 0x9, C157)
                        If(C14B(0x3, 0x2)) {
                            _DIS()
                            \_SB_.C0E1(0x3, C152, 0x0, C157, 0x0)
                            C148(0x3, C152, 0x0, C157, 0x0)
                        }
                        Store(0x0, C155)
                    }
                    Method(_CRS) {
                        Name(C00B, Buffer(0xd) {0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0x10, 0x0, 0x79, 0x0 })
                        CreateWordField(C00B, 0x2, C152)
                        CreateWordField(C00B, 0x4, C153)
                        CreateWordField(C00B, 0x9, C157)
                        If(C155) {
                            Store(0x0, Local0)
                        }
                        Else {
                            Store(C14B(0x3, 0x2), Local0)
                        }
                        If(LEqual(Local0, 0x0)) {
                            Store(0x0, C152)
                            Store(0x0, C153)
                            Store(0x0, C157)
                            Return(C00B)
                        }
                        Store(C146(0x3), Local1)
                        Store(DerefOf(Index(Local1, 0x0, )), C152)
                        Store(C152, C153)
                        Store(DerefOf(Index(Local1, 0x2, )), C157)
                        Return(C00B)
                    }
                    PowerResource(C158, 0, 0) {
                        Method(_STA) {
                            Return(C149(0x3))
                        }
                        Method(_ON_) {
                            C14A(0x3, 0x1)
                        }
                        Method(_OFF) {
                            If(LOr(\_SB_.C022, LEqual(0x0, 0x1))) {
                                Return(0x0)
                            }
                            C14A(0x3, 0x0)
                        }
                    }
                    Name(_PR0, Package(0x1) {
                        C158,
                    })
                }
                Device(C159) {
                    Name(_HID, "*PNP0700")
                    Device(C15A) {
                        Name(_ADR, 0x0)
                        Name(_FDI, Package(0x10) {
                            0x0,
                            0x4,
                            0x4f,
                            0x12,
                            0x1,
                            0xdf,
                            0x2,
                            0x25,
                            0x2,
                            0x12,
                            0x1b,
                            0xff,
                            0x65,
                            0xf6,
                            0xf,
                            0x8,
                        })
                    }
                    Device(C15B) {
                        Name(_ADR, 0x1)
                        Name(_FDI, Package(0x10) {
                            0x1,
                            0x4,
                            0x4f,
                            0x12,
                            0x1,
                            0xdf,
                            0x2,
                            0x25,
                            0x2,
                            0x12,
                            0x1b,
                            0xff,
                            0x65,
                            0xf6,
                            0xf,
                            0x8,
                        })
                    }
                    Name(C156, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
                    Method(_PRS) {
                        Return(C156)
                    }
                    Method(_STA) {
                        Store(C14B(0x0, 0x8), Local0)
                        If(LEqual(And(C023, 0x8, ), 0x0)) {
                            If(LOr(LEqual(C009, 0x1), LEqual(C009, 0x2))) {
                                Store(0xf, Local0)
                            }
                        }
                        Return(Local0)
                    }
                    Method(_DIS) {
                        C14C(0x0)
                    }
                    OperationRegion(C15C, SystemIO, 0x03f0, 0x8)
                    Field(C15C, AnyAcc, NoLock, Preserve) {
                        C15D,	8,
                        C15E,	8,
                        C15F,	8,
                        C160,	8,
                        C161,	8,
                        C162,	8,
                        C163,	8,
                        C164,	8
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x2, C152)
                        CreateWordField(Arg0, 0xa, C165)
                        CreateWordField(Arg0, 0x11, C157)
                        CreateWordField(Arg0, 0x14, C166)
                        If(C14B(0x0, 0x8)) {
                            _DIS()
                            \_SB_.C0E1(0x0, C152, C165, C157, C166)
                            C148(0x0, C152, C165, C157, C166)
                            \_SB_.C167(0x1)
                            If(LOr(LEqual(C009, 0x1), LEqual(C009, 0x2))) {
                                Store(Or(C15F, 0x4, ), C15F)
                            }
                        }
                    }
                    Method(_CRS) {
                        Name(C00B, Buffer(0x18) {0x47, 0x1, 0xf0, 0x3, 0xf0, 0x3, 0x1, 0x6, 0x47, 0x1, 0xf7, 0x3, 0xf7, 0x3, 0x1, 0x1, 0x22, 0x40, 0x0, 0x2a, 0x4, 0x0, 0x79, 0x0 })
                        CreateWordField(C00B, 0x2, C152)
                        CreateWordField(C00B, 0x4, C153)
                        CreateWordField(C00B, 0xa, C165)
                        CreateWordField(C00B, 0xc, C16B)
                        CreateWordField(C00B, 0x11, C157)
                        CreateWordField(C00B, 0x14, C166)
                        If(LEqual(C14B(0x0, 0x8), 0x0)) {
                            If(LEqual(And(C023, 0x8, ), 0x0)) {
                                If(LOr(LEqual(C009, 0x1), LEqual(C009, 0x2))) {
                                    Return(C00B)
                                }
                            }
                            Else {
                                Store(0x0, C152)
                                Store(0x0, C153)
                                Store(0x0, C165)
                                Store(0x0, C16B)
                                Store(0x0, C157)
                                Store(0x0, C166)
                                Return(C00B)
                            }
                        }
                        Store(C146(0x0), Local1)
                        Store(DerefOf(Index(Local1, 0x0, )), C152)
                        Store(C152, C153)
                        Add(C152, 0x7, C165)
                        Store(C165, C16B)
                        Store(DerefOf(Index(Local1, 0x2, )), C157)
                        Store(DerefOf(Index(Local1, 0x3, )), C166)
                        Return(C00B)
                    }
                    PowerResource(C16C, 0, 0) {
                        Method(_STA) {
                            Return(C149(0x0))
                        }
                        Method(_ON_) {
                            C14A(0x0, 0x1)
                        }
                        Method(_OFF) {
                            C14A(0x0, 0x0)
                        }
                    }
                    Name(_PR0, Package(0x1) {
                        C16C,
                    })
                    Scope(C15A) {
                        Method(_STA) {
                            If(LEqual(\_SB_.C026, 0x0)) {
                                Store(0x0, Local0)
                                If(LEqual(\_SB_.C0E2(), 0x2)) {
                                    Store(0xf, Local0)
                                }
                                Return(Local0)
                            }
                            Else {
                                Return(0xf)
                            }
                        }
                    }
                    Method(_FDE) {
                        Name(C16D, Buffer(0x14) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0 })
                        CreateDWordField(C16D, 0x0, C16E)
                        Store(^C15A._STA(), Local0)
                        If(LEqual(Local0, 0xf)) {
                            Store(0x1, C16E)
                        }
                        Return(C16D)
                    }
                }
                Device(C16F) {
                    Name(_HID, "*NSC6001")
                    Name(_CID, 0x1105d041)
                    Name(C156, Buffer(0x3f) {0x30, 0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xe8, 0x2, 0xe8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x3, 0xf8, 0x3, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xf8, 0x2, 0xf8, 0x2, 0x1, 0x8, 0x22, 0xb8, 0x0, 0x2a, 0xa, 0x0, 0x38, 0x79, 0x0 })
                    Method(_PRS) {
                        Return(C156)
                    }
                    Method(_STA) {
                        Return(C14B(0x2, 0x1))
                    }
                    Method(_DIS) {
                        C14C(0x2)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x2, C152)
                        CreateWordField(Arg0, 0x9, C157)
                        CreateWordField(Arg0, 0xc, C166)
                        If(C14B(0x2, 0x1)) {
                            ^_DIS()
                            \_SB_.C0E1(0x2, C152, 0x0, C157, C166)
                            ^^C148(0x2, C152, 0x0, C157, C166)
                        }
                    }
                    Method(_CRS) {
                        Name(C00B, Buffer(0x10) {0x47, 0x1, 0xe8, 0x3, 0xe8, 0x3, 0x1, 0x8, 0x22, 0x8, 0x0, 0x2a, 0x2, 0x0, 0x79, 0x0 })
                        CreateWordField(C00B, 0x2, C152)
                        CreateWordField(C00B, 0x4, C153)
                        CreateWordField(C00B, 0x9, C157)
                        CreateWordField(C00B, 0xc, C166)
                        If(LEqual(C14B(0x2, 0x1), 0x0)) {
                            Store(0x0, C152)
                            Store(0x0, C153)
                            Store(0x0, C157)
                            Store(0x0, C166)
                            Return(C00B)
                        }
                        Store(C146(0x2), Local1)
                        Store(DerefOf(Index(Local1, 0x0, )), C152)
                        Store(C152, C153)
                        Store(DerefOf(Index(Local1, 0x2, )), C157)
                        Store(DerefOf(Index(Local1, 0x3, )), C166)
                        Return(C00B)
                    }
                    PowerResource(C170, 0, 0) {
                        Method(_STA) {
                            Return(C149(0x2))
                        }
                        Method(_ON_) {
                            C14A(0x2, 0x1)
                        }
                        Method(_OFF) {
                            C14A(0x2, 0x0)
                        }
                    }
                    Name(_PR0, Package(0x1) {
                        C170,
                    })
                }
                Device(C171) {
                    Name(_HID, "*PNP0401")
                    Name(C172, 0x0)
                    Name(C156, Buffer(0xd4) {0x31, 0x0, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x31, 0x0, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0xa, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0xa0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0x78, 0x2, 0x78, 0x2, 0x1, 0x8, 0x47, 0x1, 0x78, 0x6, 0x78, 0x6, 0x1, 0x3, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x30, 0x47, 0x1, 0xbc, 0x3, 0xbc, 0x3, 0x1, 0x4, 0x47, 0x1, 0xbc, 0x7, 0xbc, 0x7, 0x1, 0x3, 0x22, 0x0, 0x0, 0x2a, 0x0, 0x0, 0x38, 0x79, 0x0 })
                    Method(_PRS) {
                        Return(C156)
                    }
                    Method(_STA) {
                        If(C172) {
                            Store(0xd, Local0)
                        }
                        Else {
                            Store(C14B(0x1, 0x4), Local0)
                        }
                        Return(Local0)
                    }
                    Method(_DIS) {
                        If(\_SB_.C025) {
                            Store(0x1, C172)
                            Return(0x0)
                        }
                        C14C(0x1)
                        Return(0x0)
                    }
                    Method(_SRS, 1) {
                        CreateWordField(Arg0, 0x2, C152)
                        CreateWordField(Arg0, 0xa, C165)
                        CreateWordField(Arg0, 0x11, C157)
                        CreateWordField(Arg0, 0x14, C166)
                        If(C14B(0x1, 0x4)) {
                            _DIS()
                            \_SB_.C0E1(0x1, C152, C165, C157, C166)
                            C148(0x1, C152, C165, C157, C166)
                        }
                        Store(0x0, C172)
                    }
                    Method(_CRS) {
                        Name(C00B, Buffer(0x18) {0x47, 0x1, 0x78, 0x3, 0x78, 0x3, 0x1, 0x8, 0x47, 0x1, 0x78, 0x7, 0x78, 0x7, 0x1, 0x3, 0x22, 0x80, 0x0, 0x2a, 0x8, 0x0, 0x79, 0x0 })
                        CreateWordField(C00B, 0x2, C152)
                        CreateWordField(C00B, 0x4, C153)
                        CreateByteField(C00B, 0x7, C173)
                        CreateWordField(C00B, 0xa, C165)
                        CreateWordField(C00B, 0xc, C16B)
                        CreateWordField(C00B, 0x11, C157)
                        CreateWordField(C00B, 0x14, C166)
                        If(C172) {
                            Store(0x0, Local0)
                        }
                        Else {
                            Store(C14B(0x1, 0x4), Local0)
                        }
                        If(LEqual(Local0, 0x0)) {
                            Store(0x0, C152)
                            Store(0x0, C153)
                            Store(0x0, C165)
                            Store(0x0, C16B)
                            Store(0x0, C157)
                            Store(0x0, C166)
                            Return(C00B)
                        }
                        Store(C146(0x1), Local1)
                        Store(DerefOf(Index(Local1, 0x0, )), C152)
                        Store(C152, C153)
                        If(LEqual(C152, 0x03bc)) {
                            Store(0x4, C173)
                        }
                        Add(C152, 0x0400, C165)
                        Store(C165, C16B)
                        Store(DerefOf(Index(Local1, 0x2, )), C157)
                        Store(DerefOf(Index(Local1, 0x3, )), C166)
                        Return(C00B)
                    }
                    PowerResource(C174, 0, 0) {
                        Method(_STA) {
                            Return(C149(0x1))
                        }
                        Method(_ON_) {
                            C14A(0x1, 0x1)
                        }
                        Method(_OFF) {
                            If(LOr(\_SB_.C025, LEqual(0x0, 0x1))) {
                                Return(0x0)
                            }
                            C14A(0x1, 0x0)
                        }
                    }
                    Name(_PR0, Package(0x1) {
                        C174,
                    })
                }
                Method(\_SB_.C175) {
                    Store(\_SB_.C047.C05A.C138.C145(0x3), Local0)
                    Return(Local0)
                }
                Method(\_SB_.C14F) {
                    Store(0x1, Local0)
                    If(Not(And(\_SB_.C023, 0x10, ), )) {
                        Store(0x0, Local0)
                    }
                    Return(Local0)
                }
                Method(\_SB_.C167, 1) {
                    Return(0x0)
                }
            }
            Device(C176) {
                Name(_HID, "*PNP0C04")
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0xf0, 0x0, 0xf0, 0x0, 0x1, 0x10, 0x22, 0x0, 0x20, 0x79, 0x0 })
            }
            Device(C177) {
                Name(_HID, "*PNP0100")
                Name(_CRS, Buffer(0xd) {0x47, 0x1, 0x40, 0x0, 0x40, 0x0, 0x1, 0x4, 0x22, 0x1, 0x0, 0x79, 0x0 })
            }
            Device(C166) {
                Name(_HID, "*PNP0200")
                Name(_CRS, Buffer(0x1d) {0x47, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x10, 0x47, 0x1, 0x80, 0x0, 0x80, 0x0, 0x1, 0x10, 0x47, 0x1, 0xc0, 0x0, 0xc0, 0x0, 0x1, 0x20, 0x2a, 0x10, 0x2, 0x79, 0x0 })
            }
            Device(C178) {
                Name(_HID, "*PNP0800")
                Name(_CRS, Buffer(0xa) {0x47, 0x1, 0x61, 0x0, 0x61, 0x0, 0x1, 0x1, 0x79, 0x0 })
            }
            Device(C179) {
                Name(_HID, "*PNP0B00")
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x70, 0x0, 0x70, 0x0, 0x1, 0x2, 0x47, 0x1, 0x72, 0x0, 0x72, 0x0, 0x1, 0x2, 0x22, 0x0, 0x1, 0x79, 0x0 })
            }
            Device(C17A) {
                Name(_HID, "*PNP0303")
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1, 0x1, 0x22, 0x2, 0x0, 0x79, 0x0 })
            }
            Device(C17B) {
                Name(_CRS, Buffer(0x5) {0x22, 0x0, 0x10, 0x79, 0x0 })
                Name(C17C, 0x1)
                PowerResource(C17D, 0, 0) {
                    Method(_STA) {
                        Return(C17C)
                    }
                    Method(_ON_) {
                        Store(0x1, C17C)
                    }
                    Method(_OFF) {
                        Store(0x0, C17C)
                    }
                }
                Name(_PR0, Package(0x1) {
                    C17D,
                })
            }
            Scope(C17A) {
                Name(_PRW, Package(0x2) {
                    0x1c,
                    0x3,
                })
                Method(_PSW, 1) {
                    Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
                    And(\_SB_.C047.C05A.C0E5.C0E7, 0xfe, Local0)
                    And(Arg0, 0x1, Local1)
                    Or(Local0, Local1, \_SB_.C047.C05A.C0E5.C0E7)
                    If(\_SB_.C047.C05A.C0E5.C0E8) {
                        Store(Arg0, \_SB_.C047.C05A.C0E5.C0ED)
                    }
                    Release(\_SB_.C047.C05A.C0E5.C0E6)
                }
            }
            Scope(C17B) {
                Name(_HID, "*SYN0100")
                Name(_CID, Package(0x2) {
                    0x02002e4f,
                    0x130fd041,
                })
                Name(_PRW, Package(0x2) {
                    0x1c,
                    0x3,
                })
                Method(_PSW, 1) {
                    Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
                    And(\_SB_.C047.C05A.C0E5.C0E7, 0xfd, Local0)
                    ShiftLeft(And(Arg0, 0x1, ), 0x1, Local1)
                    Or(Local0, Local1, \_SB_.C047.C05A.C0E5.C0E7)
                    If(\_SB_.C047.C05A.C0E5.C0E8) {
                        Store(Arg0, \_SB_.C047.C05A.C0E5.C0EE)
                    }
                    Release(\_SB_.C047.C05A.C0E5.C0E6)
                }
            }
            Device(C17E) {
                Name(_HID, "*PNP0000")
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x20, 0x0, 0x20, 0x0, 0x1, 0x2, 0x47, 0x1, 0xa0, 0x0, 0xa0, 0x0, 0x1, 0x2, 0x22, 0x4, 0x0, 0x79, 0x0 })
            }
        }
        Scope(C059) {
            Device(C17F) {
                Name(_ADR, 0x00060000)
                OperationRegion(C180, PCI_Config, 0x44, 0x4)
                Field(C180, AnyAcc, NoLock, Preserve) {
                    C181,	32
                }
                Method(_INI) {
                    Store(0x0, C181)
                }
            }
            Device(C182) {
                Name(_ADR, 0x00040000)
            }
            Device(C183) {
                Name(_ADR, 0x00040001)
            }
            Device(C0AB) {
                Name(_ADR, 0x000e0000)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x3,
                })
                Name(_S3D, 0x3)
                Device(C0AF) {
                    Name(_ADR, 0x0)
                    Device(C0B0) {
                        Name(_ADR, 0x0)
                    }
                    Device(C0B2) {
                        Name(_ADR, 0x1)
                    }
                    Device(C0B5) {
                        Name(_ADR, 0x2)
                    }
                }
            }
            Device(C0B1) {
                Name(_ADR, 0x000e0001)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x3,
                })
                Name(_S3D, 0x3)
                Device(C0AF) {
                    Name(_ADR, 0x0)
                    Device(C0B0) {
                        Name(_ADR, 0x0)
                    }
                    Device(C0B2) {
                        Name(_ADR, 0x1)
                    }
                }
            }
            Device(C0B4) {
                Name(_ADR, 0x000e0002)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x3,
                })
                Name(_S3D, 0x3)
                Device(C0AF) {
                    Name(_ADR, 0x0)
                    Device(C0B0) {
                        Name(_ADR, 0x0)
                    }
                    Device(C0B2) {
                        Name(_ADR, 0x1)
                    }
                    Device(C0B5) {
                        Name(_ADR, 0x2)
                    }
                    Device(C0B6) {
                        Name(_ADR, 0x3)
                    }
                    Device(C0B7) {
                        Name(_ADR, 0x4)
                    }
                }
            }
            Device(C184) {
                Name(_ADR, 0x00080000)
                Name(_PRW, Package(0x2) {
                    0xb,
                    0x5,
                })
                OperationRegion(C185, PCI_Config, 0x0, 0xff)
                Field(C185, AnyAcc, NoLock, Preserve) {
                    Offset(0xe0),
                    Offset(0xe1),
                    C186,	1
                }
                Method(_PS3) {
                    Store(\_SB_.C047.C059.C184.C186, Local0)
                    Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
                    If(\_SB_.C047.C05A.C0E5.C0E8) {
                        Store(Local0, \_SB_.C047.C05A.C0E5.C0F4)
                    }
                    Release(\_SB_.C047.C05A.C0E5.C0E6)
                }
                Method(_PS0) {
                }
            }
        }
        Scope(C098) {
            Device(C187) {
                Name(_ADR, 0x0)
                Name(C188, Package(0x5) {
                    0x0,
                    0x0,
                    0x0,
                    0x0,
                    0x0,
                })
                Method(_GTM) {
                    Store(Buffer(0x14) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, Local0)
                    CreateDWordField(Local0, 0x0, C189)
                    CreateDWordField(Local0, 0x4, C18A)
                    CreateDWordField(Local0, 0x10, C18B)
                    Store(C0A0(0x0, 0x0), C189)
                    Store(C0A3(0x0), C18B)
                    If(And(C18B, 0x1, )) {
                        Store(C0A2(0x0, 0x0), C18A)
                    }
                    Else {
                        Store(C189, C18A)
                    }
                    Return(Local0)
                }
                Method(_STM, 3) {
                    CreateDWordField(Arg0, 0x0, C189)
                    CreateDWordField(Arg0, 0x4, C18A)
                    CreateDWordField(Arg0, 0x10, C18B)
                    If(LEqual(SizeOf(Arg1), 0x0200)) {
                        Store(0x0, Local0)
                        Store(Buffer(Multiply(SizeOf(C18C), 0x2, )) { }, Local1)
                        While(LLess(Local0, SizeOf(C18C))) {
                            Store(DerefOf(Index(C18C, Local0, )), Local2)
                            Multiply(Local2, 0x2, Local2)
                            Multiply(Local0, 0x2, Local3)
                            Store(DerefOf(Index(Arg1, Local2, )), Index(Local1, Local3, ))
                            Store(DerefOf(Index(Arg1, Add(Local2, 0x1, ), )), Index(Local1, Add(Local3, 0x1, ), ))
                            Increment(Local0)
                        }
                        Store(C0A4(0x0, 0x0, C189, C18B, Local1), Local2)
                        Store(C0A8(0x0, 0x0, C18A, C18B, Local1), Local3)
                        \_SB_.C18D(Local2, Local3, Local1, C188)
                        If(\_SB_.C18E) {
                            Store(0x0, \_SB_.C18E)
                            If(And(DerefOf(Index(Arg1, 0x0100, )), 0x2, )) {
                                \_SB_.C0D9(0xea49, 0xc, 0x0, 0x0, 0x0)
                            }
                        }
                    }
                }
                Device(C15A) {
                    Name(_ADR, 0x0)
                    Method(_GTF) {
                        Return(\_SB_.C18F(C188, 0x0))
                    }
                }
            }
            Device(C190) {
                Name(_ADR, 0x1)
                Name(C191, Package(0x5) {
                    0x0,
                    0x0,
                    0x0,
                    0x0,
                    0x0,
                })
                Method(_GTM) {
                    Store(Buffer(0x14) {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff }, Local0)
                    CreateDWordField(Local0, 0x0, C189)
                    CreateDWordField(Local0, 0x4, C18A)
                    CreateDWordField(Local0, 0x10, C18B)
                    Store(C0A0(0x1, 0x0), C189)
                    Store(C0A3(0x1), C18B)
                    If(And(C18B, 0x1, )) {
                        Store(C0A2(0x1, 0x0), C18A)
                    }
                    Else {
                        Store(C189, C18A)
                    }
                    Return(Local0)
                }
                Method(_STM, 3) {
                    If(LEqual(And(\_SB_.C0E2(), 0xf, ), 0x1)) {
                        CreateDWordField(Arg0, 0x0, C189)
                        CreateDWordField(Arg0, 0x4, C18A)
                        CreateDWordField(Arg0, 0x10, C18B)
                        If(LEqual(SizeOf(Arg1), 0x0200)) {
                            Store(0x0, Local0)
                            Store(Buffer(Multiply(SizeOf(C18C), 0x2, )) { }, Local1)
                            While(LLess(Local0, SizeOf(C18C))) {
                                Store(DerefOf(Index(C18C, Local0, )), Local2)
                                Multiply(Local2, 0x2, Local2)
                                Multiply(Local0, 0x2, Local3)
                                Store(DerefOf(Index(Arg1, Local2, )), Index(Local1, Local3, ))
                                Store(DerefOf(Index(Arg1, Add(Local2, 0x1, ), )), Index(Local1, Add(Local3, 0x1, ), ))
                                Increment(Local0)
                            }
                            Store(C0A4(0x1, 0x0, C189, C18B, Local1), Local2)
                            Store(C0A8(0x1, 0x0, C18A, C18B, Local1), Local3)
                            \_SB_.C18D(Local2, Local3, Local1, C191)
                            If(And(DerefOf(Index(Arg1, 0x0100, )), 0x4, )) {
                                \_SB_.C0D9(0xea49, 0xc, 0x1, 0x0, 0x0)
                            }
                        }
                    }
                }
                Device(C15A) {
                    Name(_ADR, 0x0)
                    Method(_PS0) {
                        Store(0x0, Local0)
                    }
                    Method(_PS3) {
                        Store(0x0, Local0)
                    }
                    Method(_GTF) {
                        Return(\_SB_.C18F(C191, 0x0))
                    }
                }
            }
            Method(C0AA, 2) {
                Store(0x2, Local0)
                If(LAnd(LEqual(Arg0, 0x0), LEqual(Arg1, 0x0))) {
                    Store(0x5, Local0)
                }
                Return(Local0)
            }
        }
        Name(C0C1._PRS, Buffer(0x6) {0x23, 0x20, 0xc, 0x18, 0x79, 0x0 })
        Name(C0C2._PRS, Buffer(0x6) {0x23, 0x20, 0xc, 0x18, 0x79, 0x0 })
        Name(C0C3._PRS, Buffer(0x6) {0x23, 0x20, 0xc, 0x18, 0x79, 0x0 })
        Name(C0C4._PRS, Buffer(0x6) {0x23, 0x20, 0xc, 0x18, 0x79, 0x0 })
        Name(C0C5._PRS, Buffer(0x6) {0x23, 0x20, 0xc, 0x18, 0x79, 0x0 })
        Name(C0C6._PRS, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
        Name(C0C7._PRS, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
        Name(C0C8._PRS, Buffer(0x6) {0x23, 0x0, 0x0, 0x18, 0x79, 0x0 })
        Name(_PRT, Package(0x2) {
            Package(0x4) {
                0x001fffff,
                0x0,
                C0C3,
                0x0,
            },
            Package(0x4) {
                0x001fffff,
                0x1,
                C0C2,
                0x0,
            },
        })
        Name(C048._PRT, Package(0x1) {
            Package(0x4) {
                0xffff,
                0x0,
                C0C1,
                0x0,
            },
        })
        Name(C059._PRT, Package(0x8) {
            Package(0x4) {
                0x0004ffff,
                0x0,
                C0C2,
                0x0,
            },
            Package(0x4) {
                0x0004ffff,
                0x2,
                C0C2,
                0x0,
            },
            Package(0x4) {
                0x0005ffff,
                0x0,
                C0C3,
                0x0,
            },
            Package(0x4) {
                0x0006ffff,
                0x0,
                C0C4,
                0x0,
            },
            Package(0x4) {
                0x0008ffff,
                0x0,
                C0C5,
                0x0,
            },
            Package(0x4) {
                0x000effff,
                0x0,
                C0C5,
                0x0,
            },
            Package(0x4) {
                0x000effff,
                0x1,
                C0C5,
                0x0,
            },
            Package(0x4) {
                0x000effff,
                0x2,
                C0C5,
                0x0,
            },
        })
    }
    Name(C12A, Package(0x2) {
        Package(0xd) {
            0x1,
            0xffffffff,
            0xffffffff,
            0x1,
            0xffffffff,
            0x0,
            0x0,
            0x64,
            0x64,
            "Primary",
            "100000",
            "LIon",
            " COMPAQ ",
        },
        Package(0xd) {
            0x1,
            0xffffffff,
            0xffffffff,
            0x1,
            0xffffffff,
            0x0,
            0x0,
            0x64,
            0x64,
            "MultiBay",
            "100000",
            "LIon",
            " COMPAQ ",
        },
    })
    Name(C129, Package(0x2) {
        Package(0x4) {
            0x0,
            0x0,
            0xb010,
            0x40f2,
        },
        Package(0x4) {
            0x0,
            0x0,
            0xb010,
            0x40f2,
        },
    })
    Name(C128, Package(0x4) {
        0x0,
        0x0,
        0xb010,
        0x40f2,
    })
    Name(C11E, 0x1)
    Method(C127, 1, Serialized) {
        Store(\_SB_.C047.C05A.C0E5.C127(Arg0), Local0)
        If(LEqual(Local0, 0xfffffffd)) {
            Return(Package(0xd) {
                0x0,
                0xffffffff,
                0xffffffff,
                0x1,
                0xffffffff,
                0x0,
                0x0,
                0x0,
                0x0,
                "",
                "",
                "",
                0x0,
            })
        }
        Else {
            Return(DerefOf(Index(C12A, Arg0, )))
        }
    }
    Name(C192, 0x1)
    Method(C12D, 1, Serialized) {
        Store(\_SB_.C047.C05A.C0E0(C192), Local1)
        If(C192) {
            Store(0x0, C192)
        }
        Store(\_SB_.C047.C05A.C0E5.C12D(Arg0, Local1), Local0)
        Return(DerefOf(Index(C129, Arg0, )))
    }
    Device(C135) {
        Name(_HID, "*PNP0C0A")
        Name(_UID, 0x1)
        Method(_STA) {
            Return(\_SB_.C047.C05A.C0E5.C126(0x1))
        }
        Method(_BIF) {
            Return(C127(0x0))
        }
        Method(_BST) {
            Return(C12D(0x0))
        }
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
    }
    Device(C134) {
        Name(_HID, "*PNP0C0A")
        Name(_UID, 0x2)
        Method(_STA) {
            Store(0x0, Local0)
            If(LEqual(\_SB_.C026, 0x0)) {
                Store(\_SB_.C047.C05A.C0E5.C126(0x2), Local0)
            }
            Return(Local0)
        }
        Method(_BIF) {
            Return(C127(0x1))
        }
        Method(_BST) {
            Return(C12D(0x1))
        }
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
    }
    Device(C132) {
        Name(_HID, "ACPI0003")
        Name(_PCL, Package(0x1) {
            \_SB_,
        })
        Method(_PSR) {
            Store(\_SB_.C047.C05A.C0E5.C124(), Local0)
            If(LAnd(LEqual(\_SB_.C026, 0x1), XOr(Local0, C11E, ))) {
                Store(Local0, C11E)
                If(LEqual(\_SB_.C027, 0x0)) {
                    XOr(Local0, 0x1, \_SB_.C047.C05A.C065)
                }
                Else {
                    Store(0x0, \_SB_.C047.C05A.C065)
                }
            }
            Return(Local0)
        }
    }
    Device(C193) {
        Name(_HID, "*PNP0C0C")
        Name(_PRW, Package(0x2) {
            0x1c,
            0x4,
        })
    }
    Device(C137) {
        Name(_HID, "*PNP0C0E")
        Name(_PRW, Package(0x2) {
            0x1c,
            0x4,
        })
    }
    Device(C136) {
        Name(_HID, "*PNP0C0D")
        Method(_LID) {
            Store(0x0, Local0)
            If(And(\_SB_.C047.C05A.C086, 0x2, )) {
                Store(0x1, Local0)
            }
            Return(Local0)
        }
    }
    Name(C18C, Buffer(0x8) {0x2f, 0x31, 0x35, 0x3f, 0x40, 0x53, 0x58, 0x80 })
    Name(C18E, 0x0)
    Method(C18D, 4) {
        CreateWordField(Arg2, 0x0, C194)
        CreateWordField(Arg2, 0x6, C195)
        CreateWordField(Arg2, 0xa, C196)
        CreateWordField(Arg2, 0xe, C197)
        Store(0x0, Local0)
        While(LLess(Local0, SizeOf(Arg3))) {
            Store(0x0, Index(Arg3, Local0, ))
            Increment(Local0)
        }
        Store(Arg0, Local0)
        Store(Arg1, Local1)
        If(LEqual(Local1, 0x0)) {
            If(And(C195, 0x1, )) {
                Store(0x20, Local1)
                If(LAnd(LEqual(And(Local0, 0x7, ), 0x3), And(C195, 0x2, ))) {
                    Or(Local1, 0x1, Local1)
                }
                Else {
                    If(LAnd(LEqual(And(Local0, 0x7, ), 0x4), And(C195, 0x4, ))) {
                        Or(Local1, 0x2, Local1)
                    }
                }
            }
        }
        Store(Local0, Index(Arg3, 0x0, ))
        Store(Local1, Index(Arg3, 0x1, ))
        If(And(C197, 0x1, )) {
            Store(0x1, Index(Arg3, 0x2, ))
        }
        If(And(C196, 0x0800, )) {
            Store(0x1, Index(Arg3, 0x3, ))
        }
        If(LNot(LEqual(C194, 0x0))) {
            Store(C194, Index(Arg3, 0x4, ))
        }
    }
    Method(C198, 3) {
        If(LOr(LEqual(Arg0, 0x0), LEqual(Arg0, 0x1))) {
            Store(Buffer(0x7) {0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xef }, Local0)
            Store(Arg1, Index(Local0, 0x1, ))
        }
        If(LEqual(Arg0, 0x2)) {
            Store(Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf5 }, Local0)
        }
        If(LEqual(Arg0, 0x3)) {
            Store(Buffer(0x7) {0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb1 }, Local0)
        }
        If(LEqual(Arg0, 0x4)) {
            Store(Buffer(0x7) {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc6 }, Local0)
            Store(Arg1, Index(Local0, 0x1, ))
        }
        Store(Or(0xa0, ShiftLeft(Arg2, 0x4, ), ), Index(Local0, 0x5, ))
        Return(Local0)
    }
    Method(C18F, 2) {
        Store(0x0, Local0)
        While(LLess(Local0, SizeOf(Arg0))) {
            If(LNot(LEqual(DerefOf(Index(Arg0, Local0, )), 0x0))) {
                Store(C198(Local0, DerefOf(Index(Arg0, Local0, )), Arg1), Local2)
                If(LEqual(Local0, 0x0)) {
                    Store(Local2, Local1)
                }
                Else {
                    Concatenate(Local1, Local2, Local3)
                    Store(Local3, Local1)
                }
            }
            Increment(Local0)
        }
        Return(Local1)
    }
    Method(C199, 2) {
        Add(Multiply(Arg0, 0x2, ), Arg1, Local0)
        XOr(ShiftRight(C041, 0x6, ), 0x3, Local1)
        XOr(ShiftRight(C045, 0x6, ), 0x3, Local2)
        If(LEqual(Local0, Local1)) {
            Return(0x1)
        }
        If(LEqual(Local0, Local2)) {
            Return(0x5)
        }
        Return(0xff)
    }
    Mutex(C19A, 0)
    Method(C0D9, 5) {
        Acquire(C19A, 0xffff)
        If(Arg4) {
            Acquire(\_GL_, 0xffff)
        }
        ShiftLeft(Arg0, 0x10, C039)
        Store(Arg1, C03C)
        Store(Arg2, C03A)
        Store(Arg3, C03B)
        Store(0x0, C03D)
        \C0C9(Arg0)
        Store(C03D, Local0)
        If(Arg4) {
            Release(\_GL_)
        }
        Release(C19A)
        Return(Local0)
    }
    OperationRegion(C19B, SystemIO, 0x84, 0x2)
    Field(C19B, ByteAcc, NoLock, Preserve) {
        C19C,	8,
        C19D,	8
    }
    Mutex(C19E, 0)
    Method(C1A8, 1) {
        Acquire(C19E, 0xffff)
        Store(Arg0, C19C)
        Release(C19E)
        Return(0x0)
    }
    Method(C1AB, 1) {
        Acquire(C19E, 0xffff)
        Store(Arg0, C19D)
        Release(C19E)
        Return(0x0)
    }
    Method(C1AC, 1) {
        Acquire(C19E, 0xffff)
        Store(And(Arg0, 0xff, ), C19C)
        Store(And(ShiftRight(Arg0, 0x8, ), 0xff, ), C19D)
        Release(C19E)
        Return(0x0)
    }
    Method(C1AA, 1) {
        Return(0x0)
    }
    Method(C1AD, 1) {
        Return(0x0)
    }
    Method(C1A9) {
        Return(0x0)
    }
}
Device(\_SB_.C1B0) {
    Name(_HID, "*PNP0C02")
    Name(_UID, 0x0)
    Name(C1B1, Package(0x10) {
    })
    Name(C1B2, Package(0x10) {
    })
    Name(C1B3, Package(0x11) {
    })
    Name(C1B4, Package(0x11) {
    })
    Name(C1B5, 0xfffffffd)
    Mutex(C1B6, 0)
    Method(C1B7) {
        Add(\_SB_.C01A, 0x000f0000, Local0)
        Return(Local0)
    }
    OperationRegion(C1B8, SystemMemory, C1B7, 0xb0)
    Field(C1B8, AnyAcc, NoLock, Preserve) {
        C1B9,	640
    }
    Method(C1BA, 1) {
        OperationRegion(C1BB, SystemMemory, Arg0, 0x3)
        Field(C1BB, ByteAcc, NoLock, Preserve) {
            C1BC,	16,
            C1BD,	8
        }
        Store(0x0, Local0)
        If(LEqual(C1BC, 0xaa55)) {
            ShiftLeft(C1BD, 0x9, Local0)
            Add(Arg0, Local0, Local0)
            Decrement(Local0)
        }
        Return(Local0)
    }
    Method(C1BE) {
        Store(C1B9, Local0)
        Store(0x0, Local3)
        Store(0x0, Local4)
        Store(0x1, Local1)
        While(LAnd(Local1, LNot(LGreater(Local3, 0x10)))) {
            Store(DerefOf(Index(Local0, Add(Local4, 0x3, ), )), Local2)
            Or(ShiftLeft(DerefOf(Index(Local0, Add(Local4, 0x4, ), )), 0x8, ), Local2, Local1)
            ShiftLeft(Local1, 0x4, Local1)
            If(Local1) {
                Store(Local1, Index(C1B1, Local3, ))
                Store(DerefOf(Index(Local0, Add(Local4, 0x2, ), )), Local5)
                Add(Local1, ShiftLeft(Local5, 0x9, ), Local5)
                Decrement(Local5)
                Store(Local5, Index(C1B2, Local3, ))
                Increment(Local3)
                Add(Local4, 0x5, Local4)
            }
        }
        Return(Local3)
    }
    Method(C1BF) {
        Store(C1BE(), Local3)
        Store(Local3, Local4)
        Store(0x0, Local2)
        Store(Local2, Local7)
        While(LLess(Local2, Local4)) {
            Store(0x000fffff, Local1)
            Store(Local2, Local5)
            While(LLess(Local5, Local3)) {
                Store(DerefOf(Index(C1B1, Local5, )), Local6)
                If(LGreater(Local6, Local7)) {
                    If(LLess(Local6, Local1)) {
                        Store(Local5, Local0)
                        Store(Local6, Local1)
                    }
                }
                Else {
                    If(LEqual(Local6, Local7)) {
                        Decrement(Local4)
                    }
                }
                Increment(Local5)
            }
            If(LGreater(Local0, Local2)) {
                Store(DerefOf(Index(C1B2, Local0, )), Local7)
                Store(DerefOf(Index(C1B1, Local2, )), Index(C1B1, Local0, ))
                Store(DerefOf(Index(C1B2, Local2, )), Index(C1B2, Local0, ))
                Store(Local1, Index(C1B1, Local2, ))
                Store(Local7, Index(C1B2, Local2, ))
            }
            Store(C1BA(Local1), Local7)
            If(Local7) {
                Store(Local7, Index(C1B2, Local2, ))
            }
            Store(Local1, Local7)
            Increment(Local2)
        }
        Return(Local4)
    }
    Method(C1C0, 1) {
        Acquire(C04D, 0xffff)
        Store(0x0, Local0)
        Store(Local0, C1B5)
        Store(Local0, Local2)
        Store(Local0, Local3)
        While(LNot(LGreater(Local0, 0x10))) {
            Store(Local2, Index(C1B3, Local0, ))
            Store(Local2, Index(C1B4, Local0, ))
            Increment(Local0)
        }
        Store(ShiftLeft(C013, 0x4, ), Local0)
        Store(Local0, Index(C04F, C04E, ))
        Store(Local0, Index(C050, C04E, ))
        Store(Local0, Index(C1B1, Arg0, ))
        Store(Local0, Index(C1B2, Arg0, ))
        While(LAnd(LNot(LGreater(Local2, Arg0)), LNot(LGreater(Local3, C04E)))) {
            Store(DerefOf(Index(C04F, Local3, )), Local0)
            Add(DerefOf(Index(C050, Local3, )), 0x1, Local1)
            Store(DerefOf(Index(C1B1, Local2, )), Local4)
            Add(DerefOf(Index(C1B2, Local2, )), 0x1, Local5)
            Store(DerefOf(Index(C1B3, C1B5, )), Local6)
            If(LNot(LGreater(Local1, Local4))) {
                If(Local6) {
                    Subtract(Local0, Local6, Index(C1B4, C1B5, ))
                    Increment(C1B5)
                }
                If(LLess(Local1, Local4)) {
                    Store(Local1, Index(C1B3, C1B5, ))
                }
                Increment(Local3)
            }
            Else {
                If(Local6) {
                    Subtract(Local4, Local6, Local7)
                    If(LGreater(Local7, 0x0)) {
                        Store(Local7, Index(C1B4, C1B5, ))
                        Increment(C1B5)
                    }
                }
                If(LGreater(Local0, Local5)) {
                    Store(Local5, Index(C1B3, C1B5, ))
                }
                Increment(Local2)
            }
        }
        Release(C04D)
    }
    Method(C1C1) {
        Acquire(C1B6, 0xffff)
        If(LEqual(C1B5, 0xfffffffd)) {
            C04C()
            Store(C1BF(), Local0)
            C1C0(Local0)
        }
        Store(C1B5, Local1)
        Release(C1B6)
        Return(Local1)
    }
    Method(_INI) {
        C1C1()
    }
    Method(C053, 3) {
        Store(Arg1, Local2)
        CreateDWordField(Arg0, Local2, C1C2)
        Store(0x0986, C1C2)
        Add(Local2, 0x4, Local2)
        CreateDWordField(Arg0, Local2, C1C3)
        Store(DerefOf(Index(C1B3, Arg2, )), C1C3)
        Add(Local2, 0x4, Local2)
        CreateDWordField(Arg0, Local2, C1C4)
        Store(DerefOf(Index(C1B4, Arg2, )), C1C4)
        Add(Local2, 0x4, Local2)
        Return(Local2)
    }
    Method(C1C5) {
        Multiply(C1B5, 0xc, Local1)
        Add(SizeOf(C00B), Local1, Local2)
        Store(Buffer(Local2) { }, Local0)
        Store(0x0, Local1)
        Store(Local1, Local2)
        While(LLess(Local1, C1B5)) {
            Store(C053(Local0, Local2, Local1), Local2)
            Increment(Local1)
        }
        Store(0x0, Local1)
        While(LLess(Local1, SizeOf(C00B))) {
            Store(DerefOf(Index(C00B, Local1, )), Index(Local0, Local2, ))
            Increment(Local2)
            Increment(Local1)
        }
        Return(Local0)
    }
    Method(_CRS) {
        Store(C00B, Local0)
        Acquire(C1B6, 0xffff)
        If(LGreater(C1B5, 0x0)) {
            Store(C1C5(), Local0)
        }
        Release(C1B6)
        Return(Local0)
    }
    Method(_STA) {
        Subtract(SizeOf(C00B), 0x2, Local0)
        Or(C1C1(), Local0, Local0)
        If(Local0) {
            Store(0xf, Local0)
        }
        Return(Local0)
    }
}
Name(\_SB_.C1B0.C00B, Buffer(0x2) {0x79, 0x0 })
Device(\_SB_.C047.C1C6) {
    Name(_HID, "*PNP0C02")
    Name(_UID, 0x1)
    Method(_CRS) {
        Name(C1C7, Buffer(0x2e) {0x47, 0x1, 0xd0, 0x4, 0xd0, 0x4, 0x1, 0x2, 0x47, 0x1, 0x0, 0x10, 0x0, 0x10, 0x1, 0x80, 0x47, 0x1, 0x0, 0x11, 0x0, 0x11, 0x1, 0x40, 0x47, 0x1, 0x0, 0x12, 0x0, 0x12, 0x1, 0x20, 0x86, 0x9, 0x0, 0x1, 0x0, 0x0, 0xc0, 0xff, 0x0, 0x4, 0x0, 0x0, 0x79, 0x0 })
        Return(C1C7)
    }
}
Device(\_SB_.C047.C05A.C1C9) {
    Name(_HID, "*PNP0C02")
    Name(_UID, 0x2)
    Name(\_SB_.C047.C05A.C14E, Buffer(0x52) {0x47, 0x1, 0x10, 0x0, 0x10, 0x0, 0x1, 0x10, 0x47, 0x1, 0x24, 0x0, 0x24, 0x0, 0x1, 0x1a, 0x47, 0x1, 0x4e, 0x0, 0x4e, 0x0, 0x1, 0x2, 0x47, 0x1, 0x50, 0x0, 0x50, 0x0, 0x1, 0x4, 0x47, 0x1, 0x74, 0x0, 0x74, 0x0, 0x1, 0x4, 0x47, 0x1, 0x90, 0x0, 0x90, 0x0, 0x1, 0x10, 0x47, 0x1, 0xa4, 0x0, 0xa4, 0x0, 0x1, 0x1a, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xb0, 0xff, 0x0, 0x0, 0x10, 0x0, 0x86, 0x9, 0x0, 0x0, 0x0, 0x0, 0xf0, 0xff, 0x0, 0x0, 0x10, 0x0, 0x79, 0x0 })
    Method(_CRS) {
        Return(^^C138.C14D())
    }
}
Scope(\_TZ_) {
    Name(C1D7, 0x0)
    Name(C1D8, 0x1)
    Name(C1D9, 0x2)
    Name(C1DA, 0x3)
    Name(C1DB, 0x4)
    Name(C1DC, 0x0)
    Name(C1DD, 0x0)
    Name(C1DE, 0x0)
    Name(C1DF, 0x1)
    Name(C1E0, Package(0x3) {
        0x0,
        0x0,
        0x0,
    })
    Name(C1E1, Package(0x3) {
        0x0,
        0x0,
        0x0,
    })
    Name(C1E2, Package(0x3) {
        0xfffffffd,
        0xfffffffd,
        0xfffffffd,
    })
    Name(C1E3, 0x0)
    Mutex(C130, 0)
    Name(C131, 0x7)
    Name(C1E4, 0x0)
    Method(C1E5, 2, Serialized) {
        Store(0x0, Local1)
        If(And(C1E3, Arg0, )) {
            Store(\_SB_.C047.C05A.C08E(0x59, 0x22, 0x0), Local0)
            If(LEqual(And(Local0, 0xff00, ), 0x0)) {
                If(LGreater(Arg0, 0x8)) {
                    And(Local0, 0xf0, Local0)
                }
                Else {
                    And(Local0, 0xf, Local0)
                }
                If(LNot(LLess(Local0, Arg1))) {
                    Store(0x1, Local1)
                }
            }
        }
        Return(Local1)
    }
    Method(C1E6, 2, Serialized) {
        Store(\_SB_.C047.C05A.C08E(0x59, 0x22, 0x0), Local1)
        If(LEqual(And(Local1, 0xff00, ), 0x0)) {
            If(LGreater(Arg0, 0x8)) {
                And(Local1, 0xf0, Local2)
                If(LGreater(Arg1, Local2)) {
                    Store(Arg1, Local2)
                }
                And(Local1, 0xf, Local1)
                Or(Local1, Local2, Local1)
            }
            Else {
                And(Local1, 0xf, Local2)
                If(LGreater(Arg1, Local2)) {
                    Store(Arg1, Local2)
                }
                And(Local1, 0xf0, Local1)
                Or(Local1, Local2, Local1)
            }
            \_SB_.C047.C05A.C08E(0x58, 0x22, Local1)
        }
        Or(C1E3, Arg0, C1E3)
    }
    Method(C1E7, 2, Serialized) {
        And(C1E3, Not(Arg0, ), C1E3)
        Store(\_SB_.C047.C05A.C08E(0x59, 0x22, 0x0), Local1)
        If(LEqual(And(Local1, 0xff00, ), 0x0)) {
            If(LGreater(Arg0, 0x8)) {
                And(Local1, 0xf, Local1)
                Or(Local1, Arg1, Local1)
            }
            Else {
                And(Local1, 0xf0, Local1)
                Or(Local1, Arg1, Local1)
            }
        }
        \_SB_.C047.C05A.C08E(0x58, 0x22, Local1)
    }
    Method(C1E8, 2, Serialized) {
        Store(0x1, Local0)
        Store(Arg0, Local1)
        If(LLess(Arg0, DerefOf(Index(C1E2, Arg1, )))) {
            Store(0x0, Local0)
            Add(Arg0, 0x1, Local1)
        }
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(C1CA, C1E9(Arg1), )), Local0, )), Local1, )), Local2)
        If(LEqual(\_SB_.C026, 0x0)) {
            If(LAnd(LEqual(\_SB_.C028, 0x1), LAnd(LEqual(Arg0, 0x0), LEqual(Arg1, 0x0)))) {
                If(\_SB_.C047.C05A.C0E5.C124()) {
                    Store(0x0b4b, Local2)
                }
            }
        }
        Else {
            If(LAnd(LEqual(\_SB_.C028, 0x1), LAnd(LEqual(Arg0, 0x0), LLess(Arg1, 0x2)))) {
                If(\_SB_.C047.C05A.C0E5.C124()) {
                    Store(0x0b4b, Local2)
                }
            }
        }
        Store(Local2, Debug)
        Return(Local2)
    }
    Method(C1EA) {
        Acquire(C130, 0xffff)
        Store(0x7, C131)
        Store(0xfffffffd, Index(C1E2, 0x0, ))
        Store(0xfffffffd, Index(C1E2, 0x1, ))
        Store(0x0, C1E3)
        Release(C130)
        Subtract(C1D5, 0x0aac, Local1)
        Divide(Local1, 0xa, Local0, Local2)
        \_SB_.C047.C05A.C08E(0x58, 0x1a, Local2)
        Subtract(C1D6, 0x0aac, Local1)
        Divide(Local1, 0xa, Local0, Local2)
        \_SB_.C047.C05A.C08E(0x58, 0x16, Local2)
        \_SB_.C047.C05A.C08E(0x58, 0x0, 0xb)
        \_SB_.C047.C05A.C08E(0x58, 0x1, 0x3f)
        \_SB_.C047.C05A.C08E(0x58, 0x20, 0xb4)
        \_SB_.C047.C05A.C08E(0x58, 0x21, 0xb4)
        \_SB_.C047.C05A.C08E(0x58, 0x23, 0x90)
        \_SB_.C047.C05A.C08E(0x58, 0x3f, 0x80)
    }
    Method(C1EB, 1, Serialized) {
        If(LLess(Arg0, 0x2)) {
            XOr(Arg0, 0xb, Local4)
            Store(\_SB_.C047.C05A.C08E(0x59, Local4, 0x0), Local2)
            If(And(Local2, 0x80, )) {
                Subtract(0x0100, Local2, Local2)
            }
            Multiply(Local2, 0xa, Local1)
            Add(Local1, 0x0aac, Local1)
        }
        Else {
            Store(0x0b4c, Local1)
            Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
            If(\_SB_.C047.C05A.C0E5.C0E8) {
                Store(\_SB_.C047.C05A.C0E5.C119, Local1)
            }
            Release(\_SB_.C047.C05A.C0E5.C0E6)
        }
        Store(Local1, Local2)
        If(LLess(Local1, 0x0b4c)) {
            If(LLess(DerefOf(Index(C1E0, Arg0, )), 0x0b4c)) {
                Store(0x0b4c, Index(C1E1, Arg0, ))
            }
            Store(DerefOf(Index(C1E1, Arg0, )), Local1)
        }
        Store(Local2, Index(C1E0, Arg0, ))
        Store(Local1, Index(C1E1, Arg0, ))
        Acquire(C130, 0xffff)
        Store(ShiftLeft(0x1, Arg0, ), Local2)
        If(And(C131, Local2, )) {
            If(C1DF) {
                Store(Match(DerefOf(Index(DerefOf(Index(C1CA, C1E9(Arg0), )), 0x1, )), MGT, Local1, MTR, 0x0, 0x0), Local0)
            }
            Else {
                Store(Match(DerefOf(Index(DerefOf(Index(C1CA, C1E9(Arg0), )), 0x0, )), MGT, Local1, MTR, 0x0, 0x0), Local0)
                Decrement(Local0)
                Store(0x1, C1DF)
            }
            If(LOr(LNot(LEqual(Local0, DerefOf(Index(C1E2, Arg0, )))), C1DE)) {
                Store(0x0, C1DE)
                Store(Local0, Index(C1E2, Arg0, ))
                If(LLess(Arg0, 0x2)) {
                    C1EC(Local0, Arg0)
                }
                Else {
                    Notify(\_TZ_.TZ3_, 0x81)
                }
            }
            And(C131, Not(Local2, ), C131)
        }
        Release(C130)
        Return(Local1)
    }
    Method(C1EC, 2, Serialized) {
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(C1CA, C1E9(Arg1), )), 0x1, )), Arg0, )), Local0)
        Subtract(Local0, 0x0aac, Local0)
        Divide(Local0, 0xa, Local1, Local6)
        Store(DerefOf(Index(DerefOf(Index(DerefOf(Index(C1CA, C1E9(Arg1), )), 0x0, )), Arg0, )), Local0)
        If(LLess(Local0, 0x0aac)) {
            Subtract(0x0aac, Local0, Local1)
            Divide(Local1, 0xa, Local3, Local2)
            Not(Local2, Local2)
            Add(Local2, 0x1, Local2)
            And(Local2, 0xff, Local2)
        }
        Else {
            Subtract(Local0, 0x0aac, Local0)
            Divide(Local0, 0xa, Local1, Local2)
        }
        If(LLess(Arg1, 0x2)) {
            Store(0x18, Local5)
            Store(0x19, Local4)
            If(Arg1) {
                Store(0x14, Local5)
                Store(0x15, Local4)
            }
            \_SB_.C047.C05A.C08E(0x58, Local4, Local2)
            \_SB_.C047.C05A.C08E(0x58, Local5, Local6)
            If(Arg1) {
                Notify(\_TZ_.TZ2_, 0x81)
            }
            Else {
                Notify(\_TZ_.TZ1_, 0x81)
            }
        }
    }
    Method(C1E9, 1, Serialized) {
        If(LEqual(Arg0, 0x0)) {
            Store(C1DD, Local1)
        }
        Else {
            Add(Arg0, 0x1, Local1)
        }
        Return(Local1)
    }
    Method(C1ED, 2, Serialized) {
        If(LGreater(DerefOf(Index(C1E2, Arg1, )), Arg0)) {
            Store(0xff, Local0)
        }
        Else {
            Store(0x0, Local0)
        }
        Store(ShiftLeft(0x1, Arg1, ), Local1)
        And(Local0, Local1, Local0)
        Store(C1E4, Local2)
        And(Local2, Not(Local1, ), Local2)
        Or(Local2, Local0, Local2)
        Store(Local2, C1E4)
        If(C1E4) {
            If(LEqual(\_SB_.C02A, 0x0)) {
                Store(0x1, \_SB_.C02A)
                Notify(\_PR_.C000, 0x80)
            }
        }
        Else {
            If(\_SB_.C02A) {
                Store(0x0, \_SB_.C02A)
                Notify(\_PR_.C000, 0x80)
            }
        }
    }
    PowerResource(C1EE, 0, 0) {
        Method(_STA) {
            Return(C1E5(0x1, C1CB))
        }
        Method(_ON_) {
            C1E6(0x1, C1CB)
        }
        Method(_OFF) {
            C1E7(0x1, C1CC)
        }
    }
    PowerResource(C1EF, 0, 0) {
        Method(_STA) {
            Return(C1E5(0x2, C1CC))
        }
        Method(_ON_) {
            C1E6(0x2, C1CC)
        }
        Method(_OFF) {
            C1E7(0x2, C1CD)
        }
    }
    PowerResource(C1F0, 0, 0) {
        Method(_STA) {
            Return(C1E5(0x4, C1CD))
        }
        Method(_ON_) {
            C1E6(0x4, C1CD)
        }
        Method(_OFF) {
            C1E7(0x4, C1CE)
        }
    }
    PowerResource(C1F1, 0, 0) {
        Method(_STA) {
            Return(C1E5(0x8, C1CE))
        }
        Method(_ON_) {
            C1E6(0x8, C1CE)
        }
        Method(_OFF) {
            C1E7(0x8, 0x0)
        }
    }
    Device(C1F2) {
        Method(_INI) {
            \_TZ_.C1EA()
        }
        Name(_HID, "*PNP0C0B")
        Name(_UID, 0x0)
        Name(_PR0, Package(0x1) {
            C1EE,
        })
    }
    Device(C1F3) {
        Name(_HID, "*PNP0C0B")
        Name(_UID, 0x1)
        Name(_PR0, Package(0x1) {
            C1EF,
        })
    }
    Device(C1F4) {
        Name(_HID, "*PNP0C0B")
        Name(_UID, 0x2)
        Name(_PR0, Package(0x1) {
            C1F0,
        })
    }
    Device(C1F5) {
        Name(_HID, "*PNP0C0B")
        Name(_UID, 0x3)
        Name(_PR0, Package(0x1) {
            C1F1,
        })
    }
    ThermalZone(TZ1_) {
        Name(_AL0, Package(0x1) {
            C1F2,
        })
        Name(_AL1, Package(0x1) {
            C1F3,
        })
        Name(_AL2, Package(0x1) {
            C1F4,
        })
        Name(_AL3, Package(0x1) {
            C1F5,
        })
        Method(_AC0) {
            Return(C1E8(C1DA, 0x0))
        }
        Method(_AC1) {
            Return(C1E8(C1D9, 0x0))
        }
        Method(_AC2) {
            Return(C1E8(C1D8, 0x0))
        }
        Method(_AC3) {
            Return(C1E8(C1D7, 0x0))
        }
        Method(_PSV) {
            Return(C1E8(C1DB, 0x0))
        }
        Name(_PSL, Package(0x1) {
            \_PR_.C000,
        })
        Method(C1F6, 1) {
            Store(Arg0, C1DD)
            Acquire(C130, 0xffff)
            Store(0x7, C131)
            Store(0x1, C1DE)
            Release(C130)
            If(LEqual(Arg0, 0x0)) {
                Store(0x0, C1D7)
                Store(0x1, C1D8)
                Store(0x2, C1D9)
                Store(0x3, C1DA)
                Store(0x4, C1DB)
            }
            Else {
                Store(0x0, C1D7)
                Store(0x1, C1DB)
                Store(0x2, C1D8)
                Store(0x3, C1D9)
                Store(0x4, C1DA)
            }
        }
        Name(_TSP, 0x64)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_TMP, 0, Serialized) {
            Store(C1EB(0x0), Local0)
            C1ED(C1DB, 0x0)
            Return(Local0)
        }
    }
    ThermalZone(TZ2_) {
        Method(C1F7) {
            Return(C1E8(0x0, 0x1))
        }
        Name(C1F8, Package(0x1) {
            \_PR_.C000,
        })
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_TMP, 0, Serialized) {
            Store(C1EB(0x1), Local0)
            Return(Local0)
        }
    }
    ThermalZone(TZ3_) {
        Method(_PSV) {
            Return(C1E8(0x0, 0x2))
        }
        Name(_PSL, Package(0x1) {
            \_PR_.C000,
        })
        Name(_TSP, 0x012c)
        Name(_TC1, 0x1)
        Name(_TC2, 0x2)
        Method(_TMP, 0, Serialized) {
            Store(C1EB(0x2), Local0)
            C1ED(0x0, 0x2)
            Return(Local0)
        }
    }
}
Name(\_S0_, Package(0x3) {
    0x0,
    0x0,
    0x0,
})
Name(\_S3_, Package(0x3) {
    0x5,
    0x5,
    0x0,
})
Name(\_S4_, Package(0x3) {
    0x6,
    0x6,
    0x0,
})
Name(\_S5_, Package(0x3) {
    0x7,
    0x7,
    0x0,
})
Method(\_PTS, 1) {
    Store(Arg0, \_SB_.C021)
    If(LAnd(\_SB_.C047.C05A.C0E5.C0E8, LEqual(Arg0, 0x3))) {
        Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
        Store(Arg0, \_SB_.C047.C05A.C0E5.C0F0)
        Release(\_SB_.C047.C05A.C0E5.C0E6)
    }
    If(LAnd(LEqual(Arg0, 0x3), LNot(LEqual(\_SB_.C026, 0x0)))) {
        \_SB_.C047.C05A.C08E(0x58, 0x0, 0xa)
    }
    If(LGreater(Arg0, 0x0)) {
        \_SB_.C047.C05A.C0E5.C0EA(0x1, 0xff)
        If(LNot(LEqual(Arg0, 0x5))) {
            \_SB_.C047.C05A.C0E5.C125(0x0)
            If(LNot(LEqual(Arg0, 0x4))) {
                Store(0x1, \_SB_.C18E)
            }
            Store(0x1, \_SB_.C192)
        }
    }
}
Method(\_WAK, 1) {
    Store(0x0, \_SB_.C021)
    Store(0x0, \_SB_.C02C)
    If(\_SB_.C047.C05A.C0E5.C0E8) {
        Acquire(\_SB_.C047.C05A.C0E5.C0E6, 0xffff)
        Store(0x1, \_SB_.C047.C05A.C0E5.C0F1)
        Store(0x0, \_SB_.C047.C05A.C0E5.C0F0)
        Release(\_SB_.C047.C05A.C0E5.C0E6)
    }
    If(LEqual(Arg0, 0x4)) {
        \_TZ_.C1EA()
    }
    If(LAnd(LEqual(Arg0, 0x3), LNot(LEqual(\_SB_.C026, 0x0)))) {
        Store(\_SB_.C047.C05A.C08E(0x59, 0x0, 0x0), Local4)
        \_SB_.C1A8(Local4)
        If(LAnd(Local4, 0x90)) {
            \_TZ_.C1EA()
        }
        Else {
            \_SB_.C047.C05A.C08E(0x58, 0x0, 0xb)
        }
    }
    If(LGreater(Arg0, 0x2)) {
        Store(0x1, \_SB_.C192)
        Notify(\_TZ_.TZ1_, 0x80)
        Notify(\_TZ_.TZ2_, 0x80)
    }
    If(LOr(LEqual(Arg0, 0x4), LEqual(\C009(), 0x1))) {
        Notify(\_SB_.C137, 0x2)
    }
    Store(\_SB_.C047.C05A.C0E5.C0EB(), Local0)
    Store(\_SB_.C047.C05A.C0E5.C124(), Local2)
    \_SB_.C047.C05A.C0E5.C0EA(0x3, 0xff)
    Store(\_SB_.C047.C05A.C0E5.C0EB(), Local1)
    Store(\_SB_.C047.C05A.C0E5.C124(), Local3)
    XOr(Local0, Local1, Local1)
    XOr(Local2, Local3, Local3)
    \_SB_.C047.C05A.C0E5.C0EC(Local1, 0x81)
    If(Local3) {
        Notify(\_SB_.C132, 0x80)
    }
    Notify(\_SB_.C047.C098.C190, 0x0)
    Notify(\_SB_.C047.C059.C0AB, 0x0)
    Notify(\_SB_.C047.C059.C0B1, 0x0)
    Notify(\_SB_.C047.C059.C0B4, 0x0)
    Notify(\_SB_.C047.C05A.C138.C159, 0x0)
    Return(Package(0x2) {
        0x0,
        0x0,
    })
}
Scope(\_GPE) {
    Method(_L0B) {
        Notify(\_SB_.C047.C059, 0x2)
    }
    Method(_L11) {
        And(\_SB_.C047.C05A.C066, 0xfffffff3, Local0)
        Or(Local0, 0x4, \_SB_.C047.C05A.C066)
        Notify(\_SB_.C136, 0x80)
        If(LEqual(And(\_SB_.C033, 0x3, ), 0x0)) {
            If(LAnd(And(\_SB_.C047.C05A.C086, 0x2, ), \_SB_.C029)) {
                Notify(\_SB_.C047.C048.C0CF, 0x80)
            }
        }
    }
    Method(_L13) {
        Store(0x0, Local0)
    }
    Method(_L14) {
        And(\_SB_.C047.C05A.C066, 0xfffffcff, Local0)
        Or(Local0, 0x0100, \_SB_.C047.C05A.C066)
        \_SB_.C047.C048.C0CF.C0D6(0x1)
        If(LEqual(And(\_SB_.C033, 0x3, ), 0x0)) {
            Notify(\_SB_.C047.C048.C0CF, 0x80)
        }
    }
    Method(_L15) {
        Store(0x0, Local1)
        Store(\_SB_.C047.C05A.C08E(0x59, 0x2, 0x0), Local0)
        Store(\_SB_.C047.C05A.C08E(0x59, 0x3, 0x0), Local2)
        If(LEqual(And(Local0, 0xff00, ), 0x0)) {
            If(And(Local0, 0xc, )) {
                Store(0x1, Local1)
                If(And(Local1, 0x8, )) {
                    Store(0x0, \_TZ_.C1DF)
                }
            }
            If(And(Local0, 0xc0, )) {
                Store(0x2, Local1)
                If(And(Local1, 0x80, )) {
                    Store(0x0, \_TZ_.C1DF)
                }
            }
            If(And(Local0, 0x10, )) {
                Notify(\_TZ_.TZ1_, 0x80)
            }
            If(And(Local2, 0x40, )) {
                Notify(\_TZ_.TZ2_, 0x80)
            }
        }
        Else {
            Store(0x3, Local1)
        }
        Acquire(\_TZ_.C130, 0xffff)
        Store(Local1, \_TZ_.C131)
        Release(\_TZ_.C130)
        If(And(Local1, 0x1, )) {
            Notify(\_TZ_.TZ1_, 0x80)
        }
        If(And(Local1, 0x2, )) {
            Notify(\_TZ_.TZ2_, 0x80)
        }
    }
    Method(_L17) {
        Store("Hot swap of MultiBay", Debug)
        And(\_SB_.C047.C05A.C066, 0xffff3fff, Local0)
        Or(Local0, 0x4000, \_SB_.C047.C05A.C066)
        Notify(\_SB_.C047.C098.C190, 0x0)
        Notify(\_SB_.C047.C05A.C138.C159, 0x0)
    }
    Method(_L18) {
        Store(0x0, Local0)
    }
    Method(_L1C) {
        Notify(\_SB_.C137, 0x2)
    }
}

}
/*
SSDT: Length=262, Revision=1, Checksum=236,
	OEMID=COMPAQ, OEM Table ID=CPQGysr, OEM Revision=0x1001,
	Creator ID=MSFT, Creator Revision=0x100000e
 */
/*
SSDT: Length=357, Revision=1, Checksum=218,
	OEMID=COMPAQ, OEM Table ID=CPQMag, OEM Revision=0x1001,
	Creator ID=MSFT, Creator Revision=0x100000e
 */
Received on Wed May 21 2003 - 12:46:40 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:08 UTC