NetBSD Problem Report #36838
From ryo@rf7.so-net.ne.jp Sat Aug 25 17:11:41 2007
Return-Path: <ryo@rf7.so-net.ne.jp>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
by narn.NetBSD.org (Postfix) with ESMTP id 85E7E63B8B4
for <gnats-bugs@gnats.NetBSD.org>; Sat, 25 Aug 2007 17:11:41 +0000 (UTC)
Message-Id: <1188090950.772@chocolate.sweets.tetera.org>
Date: Sun, 26 Aug 2007 10:15:50 +0900
From: ryo@rf7.so-net.ne.jp
Reply-To: ryo@rf7.so-net.ne.jp
To: gnats-bugs@NetBSD.org
Subject: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
X-Send-Pr-Version: 3.95
>Number: 36838
>Category: kern
>Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: joerg
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Aug 25 17:15:00 +0000 2007
>Closed-Date: Wed Oct 10 15:26:17 +0000 2012
>Last-Modified: Wed Oct 10 15:26:17 +0000 2012
>Originator: ryo@rf7.so-net.ne.jp
>Release: NetBSD 4.99.30
>Organization:
>Environment:
System: NetBSD chocolate.sweets.tetera.org 4.99.30 NetBSD 4.99.30 (GENERIC) #0: Sat Aug 25 21:50:33 JST 2007 root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
I cannot enable pci2 on GENERIC kernel.
And on GENERIC.NOACPI kerenl, pci2 is enabled.
I'll show 2 outputs of dmesg (GENERIC and GENERIC.NOACPI).
*** dmesg of GENERIC kernel***
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 4.99.30 (GENERIC) #0: Sat Aug 25 21:50:33 JST 2007
root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC
total memory = 1013 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 985 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfdc04
mainbus0 (root)
cpu0 at mainbus0 apid 0: (boot processor)
cpu0: Intel Pentium M (Yonah) (686-class), 1197.10 MHz, id 0x6ec
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
cpu0: "Intel(R) Core(TM) Solo CPU U1400 @ 1.20GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
cpu0: unknown Enhanced SpeedStep CPU.
cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
cpu0: calibrating local timer
cpu0: apic clock running at 133 MHz
cpu0: 64 page colors
ioapic0 at mainbus0 apid 1
ioapic0: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Advanced Configuration and Power Interface
acpi0: using Intel ACPI CA subsystem version 20060217
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
CPU0 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
MCFG (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
PCI0 (PNP0A08) [PCI Express/PCI-X Mode-2 Host Bridge] at acpi0 not configured
MBIO (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
com3 at acpi0 (DIGI, FUJ02E6)
com3: io 0x220-0x227 irq 4
com3: ns16550a, working fifo
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
CMBT (FUJ02E1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): ACPI Embedded Controller
acpiec0: io 0x62,0x66
DMAC (PNP0200) [AT DMA Controller] at acpi0 not configured
attimer1 at acpi0 (TIME, PNP0100): AT Timer
attimer1: io 0x40-0x43 irq 0
PIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
RTC (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
pcppi1 at acpi0 (SPKR, PNP0800)
pcppi1: io 0x61
midi0 at pcppi1: PC speaker (CPU-intensive output)
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04)
npx1: io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13): aux port
pckbc2: irq 12
hpet0 at acpi0 (HPET, PNP0103)
hpet0: mem 0xfed00000-0xfed003ff
hpet0: Found 64-bits HPET, will only use lowest 32-bits
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKE (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKG (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKH (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
acpitz0 at acpi0 (TZ00): ACPI Thermal Zone
acpitz0: unable to get polling interval; using default of 30.0s
acpitz0: passive cooling mode only
acpitz0: critical 100.0C passive 26.8C
acpitz1 at acpi0 (TZ01): ACPI Thermal Zone
acpitz1: unable to get polling interval; using default of 30.0s
acpitz1: critical 100.0C passive 26.8C
apm0 at acpi0: Power Management spec V1.2
acpiacad0: AC adapter online.
acpibat0: battery info: Fujitsu, LION, CP240502 1
pcppi1: attached to attimer1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 17 (irq 11)
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16 (irq 11)
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
pci2 at ppb1 bus 5
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23 (irq 11)
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20 (irq 11)
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18 (irq 11)
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16 (irq 11)
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23 (irq 11)
ehci0: BIOS has given up ownership
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
Ricoh product 0x0822 (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
cbb0: interrupting at ioapic0 pin 16 (irq 11)
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19 (irq 11)
iic0 at ichsmb0: I2C bus
isa0 at pcib0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
azalia0: codec[0]: 0x8384/0x7616 (rev. 2.1)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: playback: max channels=2, encodings=1<PCM>
azalia0: playback: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2, encodings=1<PCM>
azalia0: recording: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
Kernelized RAIDframe activated
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
mskc0: interrupt moderation is 1000 us
*** dmesg of GENERIC.NOACPI ***
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 4.99.30 (GENERIC.NOACPI) #0: Sun Aug 26 10:08:28 JST 2007
root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC.NOACPI
total memory = 1013 MB
rbus: rbus_min_start set to 0x40000000
avail memory = 986 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
BIOS32 rev. 0 found at 0xfdc04
mainbus0 (root)
cpu0 at mainbus0: (uniprocessor)
cpu0: Intel Pentium M (Yonah) (686-class), 1197.08 MHz, id 0x6ec
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
cpu0: "Intel(R) Core(TM) Solo CPU U1400 @ 1.20GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: using thermal monitor 1
cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
cpu0: unknown Enhanced SpeedStep CPU.
cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
cpu0: 64 page colors
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at irq 11
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): irq 11
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
wpi0 at pci2 dev 0 function 0: Intel PRO/Wireless LAN 3945ABG Mini-PCI Adapter (rev. 0x02)
wpi0: interrupting at irq 11
, JPN, address 00:1b:77:0c:6f:4a
wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci1: interrupting at irq 11
usb1 at uhci1: USB revision 1.0
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci2: interrupting at irq 11
usb2 at uhci2: USB revision 1.0
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci3: interrupting at irq 11
usb3 at uhci3: USB revision 1.0
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
ehci0: interrupting at irq 11
ehci0: BIOS refuses to give up ownership, using force
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
Ricoh product 0x0822 (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
cbb0: interrupting at irq 11
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at irq 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at irq 11
iic0 at ichsmb0: I2C bus
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
attimer0 at isa0 port 0x40-0x43: AT Timer
pcppi0 at isa0 port 0x61
midi0 at pcppi0: PC speaker (CPU-intensive output)
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff
npx0: reported by CPUID; using exception 16
pcppi0: attached to attimer0
isapnp0: no ISA Plug 'n Play devices found
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
azalia0: codec[0]: 0x8384/0x7616 (rev. 2.1)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: playback: max channels=2, encodings=1<PCM>
azalia0: playback: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: recording: max channels=2, encodings=1<PCM>
azalia0: recording: PCM formats=e07e0<24bit,20bit,16bit,192kHz,176.4kHz,96kHz,88.2kHz,48kHz,44.1kHz>
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
Kernelized RAIDframe activated
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
>How-To-Repeat:
boot with GENERIC kernel on Fujitsu FMV-BIBLO LOOX P70WN (FMVLP70WN).
>Fix:
I have no idea.
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->feedback
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Sat, 12 Apr 2008 16:41:03 +0000
State-Changed-Why:
Is this still an issue with -current?
From: Ryo ONODERA <ryo@rf7.so-net.ne.jp>
To: gnats-bugs@NetBSD.org, jmcneill@NetBSD.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Mon, 14 Apr 2008 00:20:04 +0900 (JST)
From: jmcneill@NetBSD.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
Date: Sat, 12 Apr 2008 16:41:04 +0000 (UTC)
> Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
>
> State-Changed-From-To: open->feedback
> State-Changed-By: jmcneill@NetBSD.org
> State-Changed-When: Sat, 12 Apr 2008 16:41:03 +0000
> State-Changed-Why:
> Is this still an issue with -current?
I update my kernel and userland to today's -current.
pci2 is still disabled.
Please check following dmesg.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 4.99.59 (GENERIC-jst) #0: Mon Apr 14 00:05:42 JST 2008
root@chocolate.sweets.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC-jst
total memory = 1013 MB
avail memory = 984 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
FUJITSU FMVLP70WN ( )
mainbus0 (root)
ACPI: RSDP @ 0x0xf5820/0x0014 (v000 FUJ )
ACPI: RSDT @ 0x0x3f662688/0x0048 (v001 FUJ PC 0x01130000 FUJ 0x00000100)
ACPI: FACP @ 0x0x3f668f8c/0x0074 (v001 FUJ PC 0x01130000 FUJ 0x00000100)
ACPI: DSDT @ 0x0x3f6626d8/0x5A98 (v001 FUJ FJNB1C5 0x01130000 MSFT 0x0100000E)
ACPI: FACS @ 0x0x3f669fc0/0x0040
ACPI: MCFG @ 0x0x3f668170/0x003C (v001 FUJ FJNB1C5 0x01130000 FUJ 0x00000100)
ACPI: SSDT @ 0x0x3f6681ac/0x04DC (v001 FUJ FJNB1C5 0x01130000 INTL 0x20050624)
ACPI: SSDT @ 0x0x3f668688/0x0164 (v001 FUJ FJNB1C5 0x01130000 INTL 0x20050624)
ACPI: SSDT @ 0x0x3f668b07/0x01D0 (v001 FUJ FJNB1C5 0x01130000 INTL 0x20050624)
ACPI: APIC @ 0x0x3f668d5c/0x005A (v001 FUJ FJNB1C5 0x01130000 LTP 0x00000000)
ACPI: HPET @ 0x0x3f668db6/0x0038 (v001 FUJ FJNB1C5 0x01130000 FUJ 0x00000100)
ACPI: BOOT @ 0x0x3f668dee/0x0028 (v001 FUJ FJNB1C5 0x01130000 FUJ 0x00000100)
ACPI: SLIC @ 0x0x3f668e16/0x0176 (v001 FUJ PC 0x01130000 FUJ 0x00000100)
cpu0 at mainbus0 apid 0: (boot processor)
cpu0: Intel Pentium M (Yonah) (686-class), 1197.11 MHz, id 0x6ec
cpu0: features afe9fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features afe9fbff<PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX>
cpu0: features afe9fbff<FXSR,SSE,SSE2,SS,TM,SBF>
cpu0: features2 c1a9<SSE3,MONITOR,VMX,EST,TM2,xTPR,PDCM>
cpu0: features3 100000<XD>
cpu0: "Intel(R) Core(TM) Solo CPU U1400 @ 1.20GHz"
cpu0: I-cache 32 KB 64B/line 8-way, D-cache 32 KB 64B/line 8-way
cpu0: L2 cache 2 MB 64B/line 8-way
cpu0: ITLB 128 4 KB entries 4-way, 2 4 MB entries fully associative
cpu0: DTLB 128 4 KB entries 4-way, 8 4 MB entries 4-way
cpu0: using thermal monitor 1
cpu0: Initial APIC ID 0
cpu0: Cluster/Package ID 0
cpu0: Enhanced SpeedStep (1052 mV) 1200 MHz
cpu0: Enhanced SpeedStep frequencies available (MHz): 1200 1067 933 800
cpu0: calibrating local timer
cpu0: apic clock running at 133 MHz
cpu0: 64 page colors
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Advanced Configuration and Power Interface
acpi0: using Intel ACPI CA subsystem version 20080321
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
ACPI: SSDT @ 0x0x3f66960c/0x084A (v001 FUJ FJNB1C5 0x01130000 INTL 0x20050624)
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
CPU0 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
CPU1 (ACPI Object Type 'Processor' [0x0c]) at acpi0 not configured
MCFG (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
PCI0 (PNP0A08) [PCI Express/PCI-X Mode-2 Host Bridge] at acpi0 not configured
MBIO (PNP0C02) [Plug and Play motherboard register resources] at acpi0 not configured
DIGI (FUJ02E6) at acpi0 not configured
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): ACPI Embedded Controller
acpiec0: io 0x62,0x66
DMAC (PNP0200) [AT DMA Controller] at acpi0 not configured
attimer1 at acpi0 (TIME, PNP0100): AT Timer
attimer1: io 0x40-0x43 irq 0
PIC (PNP0000) [AT Interrupt Controller] at acpi0 not configured
RTC (PNP0B00) [AT Real-Time Clock] at acpi0 not configured
pcppi1 at acpi0 (SPKR, PNP0800)
pcppi1: io 0x61
midi0 at pcppi1: PC speaker (CPU-intensive output)
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04)
npx1: io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320): kbd port
pckbc1: io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13): aux port
pckbc2: irq 12
hpet0 at acpi0 (HPET, PNP0103)
hpet0: mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
LNKA (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKB (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKC (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKD (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKE (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKG (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
LNKH (PNP0C0F) [PCI interrupt link device] at acpi0 not configured
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
apm0 at acpi0: Power Management spec V1.2
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82945GM/PM/GMS Host Bridge (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: Intel 82945GM/PM/GMS Integrated Graphics Device (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
direct rendering for vga1 unsupported
Intel 82945GM/PM/GMS Integrated Graphics Device (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 17 (irq 11)
azalia0: host: Intel 82801GB/GR High Definition Audio Controller (rev. 2)
azalia0: host: High Definition Audio rev. 1.0
ppb0 at pci0 dev 28 function 0: Intel 82801GB/GR PCI Express Port #1 (rev. 0x02)
ppb0: disabling notification events
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16 (irq 11)
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: Intel 82801GB/GR PCI Express Port #3 (rev. 0x02)
ppb1: disabling notification events
pci2 at ppb1 bus 5
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23 (irq 11)
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20 (irq 11)
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18 (irq 11)
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: Intel 82801GB/GR USB UHCI Controller (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16 (irq 11)
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: Intel 82801GB/GR USB EHCI Controller (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23 (irq 11)
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: Ricoh 5C476 PCI-CardBus bridge (rev. 0x8d)
Ricoh 5C822 PCI-CardBus bridge/MS/SD/MMC/SC (SD Host Controller system, revision 0x13) at pci3 dev 3 function 1 not configured
cbb0: cacheline 0x0 lattimer 0x40
cbb0: bhlc 0x824000
cbb0: interrupting at ioapic0 pin 16 (irq 11)
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0
pcib0: Intel 82801GBM LPC Interface Bridge (rev. 0x02)
piixide0 at pci0 dev 31 function 1
piixide0: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: Intel 82801GB/GR SMBus Controller (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19 (irq 11)
iic0 at ichsmb0: I2C bus
isa0 at pcib0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
acpiacad0: AC adapter online.
acpibat0: battery info: Fujitsu, LION, CP240502 1
azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1)
azalia0: codec[0]: High Definition Audio rev. 1.0
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0)
azalia0: codec[1]: High Definition Audio rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3
uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4
uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
mskc0: interrupt moderation is 1000 us
--
Ryo ONODERA // ryo@rf7.so-net.ne.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sun, 13 Apr 2008 17:29:42 +0000
State-Changed-Why:
alas, problem still exists.
Responsible-Changed-From-To: kern-bug-people->joerg
Responsible-Changed-By: joerg@NetBSD.org
Responsible-Changed-When: Thu, 22 May 2008 20:56:58 +0000
Responsible-Changed-Why:
ACPI bug
State-Changed-From-To: open->feedback
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Thu, 22 May 2008 20:56:58 +0000
State-Changed-Why:
Can you please provide me the DSDT? acpidump will help.
From: Ryo ONODERA <ryo@rf7.so-net.ne.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org
Cc: kern-bug-people@netbsd.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Mon, 26 May 2008 00:20:56 +0900 (JST)
----Next_Part(Mon_May_26_00_20_56_2008_239)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
From: joerg@NetBSD.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
Date: Thu, 22 May 2008 20:57:00 +0000 (UTC)
> Synopsis: pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.
>
> Responsible-Changed-From-To: kern-bug-people->joerg
> Responsible-Changed-By: joerg@NetBSD.org
> Responsible-Changed-When: Thu, 22 May 2008 20:56:58 +0000
> Responsible-Changed-Why:
> ACPI bug
>
>
> State-Changed-From-To: open->feedback
> State-Changed-By: joerg@NetBSD.org
> State-Changed-When: Thu, 22 May 2008 20:56:58 +0000
> State-Changed-Why:
> Can you please provide me the DSDT? acpidump will help.
DSDT and ASL are attached to this e-mail.
DSDT and ASL are output of
# acpidump -r -o looxp70wm.dsdt > looxp70wm.asl
--
Ryo ONODERA // ryo@rf7.so-net.ne.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
----Next_Part(Mon_May_26_00_20_56_2008_239)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="looxp70wm.dsdt"
RFNEVJhaAAABJUZVSiAgIEZKTkIxQzUgAAATAU1TRlQOAAABCEJJRFQREwoQAAECAwAAAAAAAAAA
AAAAAAhCTU5UEkEEBA1DUDIyOTcyMCAvIENQMjI5NzIxAA1DUDIyOTcyNSAvIENQMjI5NzI2AA1D
UDI0MDUwMQANQ1AyNDA1MTcACEJNU1QSKgQNQ1AyMjk3MjAADUNQMjI5NzI1AA1DUDI0MDUwMQAN
Q1AyNDA1MTcAECBcX1BSX1uDC0NQVTAAEBAAAAZbgwtDUFUxARAQAAAGEE0jXF9TQl8IT1NUQv9b
gE9TVFkADPaeZj8MAQAAAFuBC09TVFkAVFBPUwgURRtPU1RQAKBHGpNeT1NUQv+gTgtbElxfT1NJ
YKAkXF9PU0kNV2luZG93cyAyMDA2AHAKQF5PU1RCcApAXlRQT1OhTgigJlxfT1NJDVdpbmRvd3Mg
MjAwMS4xAHAKIF5PU1RCcAogXlRQT1OhRAagKFxfT1NJDVdpbmRvd3MgMjAwMSBTUDEAcAoQXk9T
VEJwChBeVFBPU6E4oCRcX09TSQ1XaW5kb3dzIDIwMDEAcAoIXk9TVEJwCgheVFBPU6ERcAoAXk9T
VEJwCgBeVFBPU6FODaBJDFsSXF9PU19goC5eU0VRTFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzAHAK
AV5PU1RCcAoBXlRQT1OhTwigRQReU0VRTFxfT1NfDU1pY3Jvc29mdCBXaW5kb3dzTUU6IE1pbGxl
bm5pdW0gRWRpdGlvbgBwCgJeT1NUQnAKAl5UUE9ToUYEoDFeU0VRTFxfT1NfDU1pY3Jvc29mdCBX
aW5kb3dzIE5UAHAKBF5PU1RCcAoEXlRQT1OhEXAKAF5PU1RCcAoAXlRQT1OhEXAKAF5PU1RCcAoA
XlRQT1OkXk9TVEIUSwVTRVFMCnCHaGBwh2lhoAeSk2BhpAAIQlVGMBECYHBoQlVGMAhCVUYxEQJg
cGlCVUYxcABioiKVYmBwg4hCVUYwYgBjcIOIQlVGMWIAZKAHkpNjZKQAdWKkAQhGV1NPAAhSUEVO
AAhSUERTAAhFWElTCv8IUExXTQAIUFRBTAAIRUNDSQoDCEdJTlQACFJHU0kKGAhMSURTAAhWU1RI
AAhIRFdBAAhcR1BJQwoAFA1cX1BJQwFwaEdQSUMQhegEXF9TQl9bgFBTSU8BDEAPAAAMAgAAAFuA
UFNCRgAMZp5mPwyQAAAAW4BPRU1UAAycn2Y/DCAAAABbgFNZU0MADJKfZj8MCgAAAFuAVkRFWAAM
Vp5mPwwQAAAAW4BUSFpOAAyCn2Y/DBAAAABbgEJUTkMADHKfZj8MEAAAAFuAVklTVAAMDJZmPwxK
CAAAW4BRQkNfAAxmn2Y/DAwAAABbgFRDRzEADAiWZj8MBAAAAFuASU84MAEKgAoBEE4fXABbgRFc
Ll9TQl9QU0lPAVNTTUkIW4EbXC5fU0JfUFNCRgFDTURfCERWSUQgUFNEVCBbgRNcLl9TQl9QU0JG
AQAoSU5GXwhbgUUIXC5fU0JfT0VNVAFTUEFGAlNQQkYCUFBGXwNGRENGAVNJREYCSU1URgFCTEVO
AVdMRU4BQlRFWAEAEldBUEIBAB9GV0hNAQABVFBNRgJGU0NNAVJQQ1ABVEJQQwFBUzM0AUJJRkwI
RENMVwcAKUZEUzAERkRTMQQAOFVNU1QgVU1TWiBbgSVcLl9TQl9TWVNDAUJIS0YBAAJNSEtGAQAE
QkxMTQhCTExUQARbgRFcLl9TQl9TWVNDAUFIS0YIW4FEBFwuX1NCX1ZERVgBQURPUwNDTENEAUFM
Q0QBQ0NSVAFBQ1JUAUNUVl8BQVRWXwFDRFZJAUFEVkkBRFNXRgJCU1dGAluBOVwuX1NCX1RIWk4B
RFRTMQhEVFMyCENSVFQIUFNWVAhUQzFWBFRDMlYEVFNQVgRNUEVOAURUU0UBW4EfXC5fU0JfQlRO
QwFJUkJGAQAGTkdURgEAGElSQkMQW4EbXC5fU0JfUUJDXwFRQUcxIFFBRzIgUUFHMyBbgSBcLl9T
Ql9UQ0cxAFBQUlEIUFBMTwhQUFJQCFBQT1IIW4ERXC5fU0JfSU84MAFQTzgwCBQgX0lOSQCgGZKV
XC5fU0JfT1NUUApAWyBWSVNUVlNUSFuCNE1DRkcIX0hJRAxB0AwCCF9DUlMRHwochxcAAA0BAAAA
AAAAAPj////7AAAAAAAAAAR5AFuCgP0DUENJMAhfSElEDEHQCggIX0NJRAxB0AoDCF9BRFIKAAhf
QkJOCgBbgEhCVVMCCkAKwFuBRwdIQlVTAwBAKAAEUE0wSAIAAlBNMUwCAAJQTTFIAgACUE0yTAIA
AlBNMkgCAAJQTTNMAgACUE0zSAIAAlBNNEwCAAJQTTRIAgACUE01TAIAAlBNNUgCAAJQTTZMAgAC
UE02SAIAAgAHSEVOQQEAIAADVE9VRAUIQlVGMBFDHwvuAYgNAAIMAAAAAAD/AAAAAAGHFwABDAMA
AAAAAAAAAPcMAAAAAAAA+AwAAEcB+Az4DAEIhxcAAQwDAAAAAAANAAD//wAAAAAAAADzAACHFwAA
DAMAAAAAAAAKAP//CwAAAAAAAAACAIcXAAAMAwAAAAAAAAwA/z8MAAAAAAAAQAAAhxcAAAwDAAAA
AABADAD/fwwAAAAAAABAAACHFwAADAMAAAAAAIAMAP+/DAAAAAAAAEAAAIcXAAAMAwAAAAAAwAwA
//8MAAAAAAAAQAAAhxcAAAwDAAAAAAAADQD/Pw0AAAAAAABAAACHFwAADAMAAAAAAEANAP9/DQAA
AAAAAEAAAIcXAAAMAwAAAAAAgA0A/78NAAAAAAAAQAAAhxcAAAwDAAAAAADADQD//w0AAAAAAABA
AACHFwAADAMAAAAAAAAOAP8/DgAAAAAAAEAAAIcXAAAMAwAAAAAAQA4A/38OAAAAAAAAQAAAhxcA
AAwDAAAAAACADgD/vw4AAAAAAABAAACHFwAADAMAAAAAAMAOAP//DgAAAAAAAEAAAIcXAAAMAwAA
AAAAAA8A//8PAAAAAAAAAAEAhxcAAAwDAAAAAAAAAAD//7/+AAAAAAAAAACHFwAADAMAAAAAAADU
/v9P1P4AAAAAAFAAAHkAFE0xX0NSUwigFlBNMUyKQlVGMAp8QzBMTnAAQzBMTqAak1BNMUwKAY1C
VUYwC1gDQzBSV3AAQzBSV6AWUE0xSIpCVUYwCpZDNExOcABDNExOoBqTUE0xSAoBjUJVRjALKARD
NFJXcABDNFJXoBZQTTJMikJVRjAKsEM4TE5wAEM4TE6gGpNQTTJMCgGNQlVGMAv4BEM4UldwAEM4
UlegFlBNMkiKQlVGMArKQ0NMTnAAQ0NMTqAak1BNMkgKAY1CVUYwC8gFQ0NSV3AAQ0NSV6AWUE0z
TIpCVUYwCuREMExOcABEMExOoBqTUE0zTAoBjUJVRjALmAZEMFJXcABEMFJXoBZQTTNIikJVRjAK
/kQ0TE5wAEQ0TE6gGpNQTTNICgGNQlVGMAtoB0Q0UldwAEQ0UlegF1BNNEyKQlVGMAsYAUQ4TE5w
AEQ4TE6gGpNQTTRMCgGNQlVGMAs4CEQ4UldwAEQ4UlegF1BNNEiKQlVGMAsyAURDTE5wAERDTE6g
GpNQTTRICgGNQlVGMAsICURDUldwAERDUlegF1BNNUyKQlVGMAtMAUUwTE5wAEUwTE6gGpNQTTVM
CgGNQlVGMAvYCUUwUldwAEUwUlegF1BNNUiKQlVGMAtmAUU0TE5wAEU0TE6gGpNQTTVICgGNQlVG
MAuoCkU0UldwAEU0UlegF1BNNkyKQlVGMAuAAUU4TE5wAEU4TE6gGpNQTTZMCgGNQlVGMAt4C0U4
UldwAEU4UlegF1BNNkiKQlVGMAuaAUVDTE5wAEVDTE6gGpNQTTZICgGNQlVGMAtIDEVDUldwAEVD
UlegF1BNMEiKQlVGMAu0AUYwTE5wAEYwTE6gGpNQTTBICgGNQlVGMAsYDUYwUldwAEYwUleKQlVG
MAvCAU0xTU6KQlVGMAvGAU0xTViKQlVGMAvOAU0xTE55VE9VRAobTTFNTnJ0TTFNWE0xTU4ACgFN
MUxOikJVRjAL3AFUUE1OikJVRjAL4AFUUE1YikJVRjAL6AFUUE1MoBuSk1RQTUYKAnAAVFBNTnAA
VFBNWHAAVFBNTKRCVUYwFEsuX1BSVACgSw5HUElDpBJDDhASDQQM//8BAAoACgAKEBINBAz//wIA
CgAKAAoQEg0EDP//BwAKAwoAChASDQQM//8bAAoACgAKERINBAz//xwACgAKAAoWEg0EDP//HAAK
AQoAChUSDQQM//8cAAoCCgAKFBINBAz//xwACgMKAAoTEg0EDP//HQAKAAoAChcSDQQM//8dAAoB
CgAKFBINBAz//x0ACgIKAAoSEg0EDP//HQAKAwoAChASDQQM//8eAAoACgAKEBINBAz//x4ACgEK
AAoREg0EDP//HwAKAAoAChISDQQM//8fAAoBCgAKE6FHH6QSQx8QEh4EDP//AQAKAFwvBF9TQl9Q
Q0kwTFBDQkxOS0EKABIeBAz//wIACgBcLwRfU0JfUENJMExQQ0JMTktBCgASHgQM//8HAAoDXC8E
X1NCX1BDSTBMUENCTE5LQQoAEh4EDP//GwAKAFwvBF9TQl9QQ0kwTFBDQkxOS0IKABIeBAz//xwA
CgBcLwRfU0JfUENJMExQQ0JMTktHCgASHgQM//8cAAoBXC8EX1NCX1BDSTBMUENCTE5LRgoAEh4E
DP//HAAKAlwvBF9TQl9QQ0kwTFBDQkxOS0UKABIeBAz//xwACgNcLwRfU0JfUENJMExQQ0JMTktE
CgASHgQM//8dAAoAXC8EX1NCX1BDSTBMUENCTE5LSAoAEh4EDP//HQAKAVwvBF9TQl9QQ0kwTFBD
QkxOS0UKABIeBAz//x0ACgJcLwRfU0JfUENJMExQQ0JMTktDCgASHgQM//8dAAoDXC8EX1NCX1BD
STBMUENCTE5LQQoAEh4EDP//HgAKAFwvBF9TQl9QQ0kwTFBDQkxOS0cKABIeBAz//x4ACgFcLwRf
U0JfUENJMExQQ0JMTktFCgASHgQM//8fAAoAXC8EX1NCX1BDSTBMUENCTE5LQwoAEh4EDP//HwAK
AVwvBF9TQl9QQ0kwTFBDQkxOS0QKAFuCSSVNQklPCF9ISUQMQdAMAhQJX1NUQQCkCg8IUlNSQxFL
GgumAUcBEAAQAAEQRwEkACQAAQJHASgAKAABAkcBLAAsAAECRwEuAC4AAQJHATAAMAABAkcBNAA0
AAECRwE4ADgAAQJHATwAPAABAkcBUABQAAEERwFyAHIAAQZHAYAAgAABAUcBkACQAAEQRwGkAKQA
AQJHAagAqAABAkcBrACsAAECRwGwALAAAQJHAbIAsgABAkcBtAC0AAECRwG4ALgAAQJHAbwAvAAB
AkcB0ATQBAECRwEACAAIARBHAQAQABABgEcBgBCAEAGARwEAEQARASBHAYARgBEBQEcBAPgA+AGA
RwGA+ID4AYBHAQD8APwBgEcBgPyA/AGARwEM/Qz9AWRHAQD+AP4BAoYJAAEAAAD4AAAABIYJAAEA
QNH+AEAAAIYJAAEAgNH+ABAAAIYJAAEAkNH+ABAAAIYJAAEAwNH+AEAAAIYJAAEAANL+AAACAIYJ
AAEAUNT+ALAEAIYJAAEAAMD+ABAAAIYJAAEAAOD+ABAAAIYJAAEAAPD+AAAQAIYJAAEA8AwAABAA
AIYJAAEAALD/AAAQAIYJAAEAANT+AFAAAHkAFE0IX0NSUwiKUlNSQwuEAU1CQlOKUlNSQwuIAU1C
TE6KUlNSQwuQAUZXQlOKUlNSQwuUAUZXTE6KUlNSQwucAVRQTUKKUlNSQwugAVRQTUxwVU1TVE1C
QlNwVU1TWk1CTE6gEUZXSE1wAEZXQlNwAEZXTE6gFJNUUE1GCgJwAFRQTUJwAFRQTUykUlNSQ1uC
Q0xHRlgwCF9BRFIMAAACABQIWExDRACkARQIWENSVACkARQOWFRWXwCkf1NPVVQBABQIWERWSQCk
ABAbXAAIV0xDRAAIV0NSVAAIV1RWXwAIV0RWSQAUDFBIVEsAcABEU1dGCEYxMFQSFgoKAQoCCgMK
BAoFCgEKAgoDCgQKBRRJHUFIVEsAoEEdkJN7QURPUwoDAABEU1dGVVBERKBMEJNEU1dGCgF9eUNE
VkkKAgB9eUNDUlQKAQBDTENEAGB9eUFEVkkKAgB9eUFDUlQKAQBBTENEAGFwAGJwCv9joi2QlWIK
CpNjCv+gIJODiEYxMFRiAGCgDZBDVFZfQVRWX3BiY6EGcmIKAWN1YnAK/2KgM5KTYwr/oiyQlWMK
CpNiCv+gH5N7g4hGMTBUYwBhAIOIRjEwVGMAcIOIRjEwVGMAYnVjoC2TYgr/oAlBTENEcAoBYqEd
oAlBQ1JUcAoCYqERoAlBRFZJcAoEYqEFcAoCYntiCgFXTENEentiCgIACgFXQ1JUentiCgQACgJX
RFZJcABXVFZfhlwvA19TQl9QQ0kwR0ZYMAqAoU4KoEsKk0RTV0YKAntDTENEQUxDRFdMQ0R7Q0NS
VEFDUlRXQ1JUe0NEVklBRFZJV0RWSXt/Q1RWXwoBAEFUVl9XVFZfoEkGkZFXVFZfV0RWSZFXQ1JU
V0xDRKAVkJBXTENEV0NSVFdUVl9wAFdDUlSgFZCQV0xDRFdEVklXVFZfcABXRFZJoBWQkFdDUlRX
RFZJV1RWX3AAV0RWSYZcLwNfU0JfUENJMEdGWDAKgBRBBVVQREQAoBySlVwuX1NCX09TVFAKCIZc
Ll9TQl9QQ0kwCgChE4ZcLwNfU0JfUENJMEdGWDAKAFsiC+4CcAr/RFZJRHAKjkNNRF9wAFNTTUkU
Dl9ET1MBe2gKB0FET1MUHl9ET0QApBIWBAwAAQEADBABAQAMAAIBAAwAAwEAW4JBBUNSVF8UCl9B
RFIApAsAARQrX0RDUwCgIFhDUlRVUEREpH0KDX15QUNSVAoEAHlDQ1JUCgEAAAChA6QAFAtfREdT
AKRXQ1JUFAdfRFNTAaNbgkEFTENEXxQKX0FEUgCkCxABFCtfRENTAKAgWExDRFVQRESkfQoNfXlB
TENECgQAeUNMQ0QKAQAAAKEDpAAUC19ER1MApFdMQ0QUB19EU1MBo1uCQQVUVl9fFApfQURSAKQL
AAIUK19EQ1MAoCBYVFZfVVBERKR9Cg19eUFUVl8KBAB5Q1RWXwoBAAAAoQOkABQLX0RHUwCkV1RW
XxQHX0RTUwGjW4JBBURWSV8UCl9BRFIApAsAAxQrX0RDUwCgIFhEVklVUEREpH0KDX15QURWSQoE
AHlDRFZJCgEAAAChA6QAFAtfREdTAKRXRFZJFAdfRFNTAaMQTQlMQ0RfFA1fUFMwAHAKAExJRFMU
DV9QUzMAcAoBTElEUxRJBF9CQ0wAoCeSlVwuX1NCX09TVFAKQKQSFgoKZAorCgAKDwodCisKOQpH
ClUKZKEZpBIWCgpkCiwKAAoQCh4KLAo6CkgKVgpkFDBfQkNNAaApkJKVaAoAkpRoCmRcLwVfU0Jf
UENJMExQQ0JGSkVYU0JMTHhoCg4AAFuCRwlQQ0lCCF9BRFIMAAAeABRDB19QUlQAoCVHUElDpBIe
AhINBAz//wMACgAKAAoQEg0EDP//AwAKAQoAChGhRQSkEkEEAhIeBAz//wMACgBcLwRfU0JfUENJ
MExQQ0JMTktBCgASHgQM//8DAAoBXC8EX1NCX1BDSTBMUENCTE5LQgoAFAZfSU5JAAhfUFJXEgYC
CgsKBFuCg9kBTFBDQghfQURSDAAAHwBbgExQQzACCkAKwFuBRgRMUEMwAABAEFBBUkMIUEJSQwhQ
Q1JDCFBEUkMIACBQRVJDCFBGUkMIUEdSQwhQSFJDCABACklPRDAISU9EMQhDQUVOAVuAU0lPXwEK
LgoCW4BGSklPAQtg/QoXEEEGXABbgUsFXC8EX1NCX1BDSTBMUENCRkpJTwFBSURDCEFEVEMIQUlE
QghBRFRCCEFJREEIQURUQQhBSURECEFEVEQIAEAEUE1JRAgACFBNRFIIAAhQTURUCAAIUE1DUghb
gFBNSU8BCwAQCoBbgE9HSU8BC4ARCjwQTAVcAFuBH1wvBF9TQl9QQ0kwTFBDQlBNSU8BAEAhAAFH
UEVDAVuBNVwvBF9TQl9QQ0kwTFBDQk9HSU8BAEAWAAhMUE9MAQAERVhQTAEAQgUAAVBYUlMBUFhD
TAFbgE9QSU8BCwAQCmcQJFwAW4EfXC8EX1NCX1BDSTBMUENCT1BJTwEAQAgACEZPQ1QBFEwFX0lO
SQBcLl9TQl9PU1RQXC8FX1NCX1BDSTBMUENCQ01CVFNXQ0ZBSU5JoBRSUENQcAFSUEVOcEIyVENS
UERToBqSlVwuX1NCX09TVFAKQH1SR1NJCgFSR1NJEEQeXABbhkQLQUlEQUFEVEEBAEgEUkkxTQFS
STJNAVJJM00BUkk0TQFSSTFfAVJJMl8BUkkzXwFSSTRfAQACQ1ZDTAEAA0JMQ1QCAEgKRzVQMAhH
NUMwCEczUDAIRzNDMAgAQA5TU0YwCFNTRjEIU1NNMAhTU00xCFNTSTAIU1NUTQhTU0YyCFNTTTII
U1NJMQgASARHM1AxCEczQzEIRzNQMghHM0MyCFFTV0MIAEgEU1NTMAhTU1MxCFuGHkFJREJBRFRC
AQBIFEJSQ0wITENEQggAKExDREMIW4ZCCkFJRENBRFRDAVRBU0YBVEJTRgFCMVNVAUIxU0QBQjJT
VQFCMlNEAQAKAARWU1RCAQATAAZBQ1BXAQBBDUJDVEwIABBUQUZfAVRBU00BAAJUQkZfAVRCU00B
AAJUSU1BCFRJTUIIABBDRExQCEhETFAIRkRMUAgASBFCMVVNAUIxRE0BAAFCMVRDAUIyVU0BQjJE
TQEAAUIyVEMBQkFQQwZbhg9BSURDQURUQwFTVEFFCFuGQwVBSUREQURURAEAQEBHSURJCEdJREMI
R0lETwgASAZHM1NJCEczU0MIRzNTTwhHM1NNCABABldPWEYIV09YRQhXT1hECFdPWFMIAEAGQU1Q
VgYQTxdcAFuGRRZQTUlEUE1EVAEAQFBVUFBSAUVSUk8BUEFTUwFQU09LAVBTTkcBVE9VVAFTSVJO
AVNUU0MBT1ZGTAFMV01EAVRBTE0BRU1HQwFPQ05UBFREVEMBAARBRVJSAVBFUlIBQUJTWQEACFBE
QVQIAEgNAAhCMVBfAUIyUF8BQjFDXwFCMkNfAUIxRVIBQjJFUgFQS1NIAUNNQl8BQjFDUAhCMkNQ
CEJBVkcIQjFWSAhCMVZMCEIyVkgIQjJWTAhCMVRNCEIyVE0IQjFDSAhCMUNMCEIyQ0gIQjJDTAhC
VE1ICEJUTUwIQjFMSAhCMUxMCEIyTEgIQjJMTAhCMUlEBEIxTk8EQjJJRARCMk5PBEIxRFYIQjJE
VghCMURICEIxREwIQjJESAhCMkRMCFRCU0kIVEJTSAhUQlNMCEJIREQBQk9QVAEABUFCTEMBADhU
QkNNCFRCTUQIVEJJTghEQ09MB1MzRU4BW4YSUE1JRFBNRFQBAEBRVENTVAgQL1wAW4YUQUlEQUFE
VEEBAEARAARTT1VUAVuGFFBNSURQTURUAQBAdgABREtFVgEURw1BSU5JAHtTU00xCs9TU00xcABU
QlNNcExXTURQTFdNcFRBTE1QVEFMcAqVQ01EX31QTFdNeVBUQUwKAQBEVklEcABTU01JoBGQVEFM
TZJBQ1BXcAFGT0NUoQdwAEZPQ1SgN5KVXC5fU0JfT1NUUApAcFBNRFJgcFBNRFJgcAoCVEJDTXAK
AFRCTURwCgVUQklOcAoAUE1DUqA8kVRCUEOSlVwuX1NCX09TVFAKQKAMQVMzNHAKAVMzRU6gD5NE
Q0xXCn9wCgFEQ09MoQpwRENMV0RDT0xbgksGVFBNXwhfSElEDCTYAQIIX0NJRAxB0AwxCF9VSUQK
AQhfQ1JTESEKHkcBTgBOAAECRwEA/QD9AQyGCQABAADU/gBQAAB5ABQiX1NUQQCgFlRQTUagC5NU
UE1GCgKkCg+hBKQKAKEEpAoAW4JLC0RJR0kIX0hJRAwaqgLmFCNfU1RBAKAXkVRCUEOSlVwuX1NC
X09TVFAKQKQKD6EEpAoAFEAHX0lOSQCgSAaSlVwuX1NCX09TVFAKQFwvBF9TQl9QQ0kwTFBDQkVO
VFJwCgFVMVBfcAqIVTFBX3AKBFUxSV9cLwRfU0JfUENJMExQQ0JFWElUe0lPRDAK+ElPRDB9SU9E
MAoCSU9EMHAKAUNBRU4IX0NSUxEQCg1HASACIAIBCCIQAHkAW4JCBkJUTlMIX0hJRA1GVUowMkJG
ABQJX1NUQQCkCg8ULF9JTkkAcFBNQ1JgcABhohyQe2ABAJVhCgpwUE1EUmBbIgoKcFBNQ1JgdWEI
X0NSUxERCg5HAXD9cP0BECMgAAF5AFuCRSFGSkVYCF9ISUQNRlVKMDJCMQAUCV9TVEEApAoPFAtS
QkxMAKRCTExNEBBcAAhMQkxMCgAITExDRP8UQQdHQkxMAHBMQkxMYnBMQ0RCYaBHBJKTTExDRGFw
YUxMQ0QIQkJDVBEFQkxMTXBCTExUQkJDVHBCTExNYKIdYHZgoBiTR0JVRkJCQ1RgYXBgYnBgTEJM
THAAYKATQkhLRnAAQkhLRn1iDAAAAIBipGIUSwZHQkxTAHBMQkxMYnBMQ0RCYaBHBJKTTExDRGFw
YUxMQ0QIQkJDVBEFQkxMTXBCTExUQkJDVHBCTExNYKIdYHZgoBiTR0JVRkJCQ1RgYXBgYnBgTEJM
THAAYKANQkhLRn1iDAAAAIBipGIUSAVTQkxMAaANTkdURnBoTFNCTKQAoEIElWhCTExNCEJCQ1QR
BUJMTE1wQkxMVEJCQ1SMQkJDVGhCTEwwcEJMTDBMQ0RCcGhEVklEcAqCQ01EX3AAU1NNSRQSR0JV
RgKMaGlCTEwwpEJMTDAUNkdNT1UAcAoCRFZJRHAKkUNNRF9wAFNTTUlwRFZJRGCgE01IS0ZwAE1I
S0Z9YAwAAACAYKRgFB9TTU9VAaAYkpRoAXBoRFZJRHAKkUNNRF9wAFNTTUkUC0dIS1MApEFIS0YU
LEdTSUYAoBBJTVRGfVJHU0kKCFJHU0mhD3tSR1NJDPf///9SR1NJpFJHU0kIQlRGMQqaCEJURjIK
mBBFBVwACEJUQkwACEJUU1QAW4YoQUlEQUFEVEEBAEAQAAVBQkVYAQBKEQACV0xTVwEATQYAAVdM
UjIBW4YZQUlEREFEVEQBAEBJAAJXTFJGAUFCT04BW4JCJkNNQlQIX0hJRA1GVUowMkUxABQ1X1NU
QQCgEpKVXC5fU0JfT1NUUApApAoAoRugCZJCVEVYpAoAoQ+gCEJMRU6kCg+hBKQKDRQMX0lOSQBw
AEJUQkwUJElORk8AoA6TX1NUQQoPcEJURjFgoQdwQlRGMmB9YAoIYKRgFDhTVEFUAHAKAGCgCkFC
T059YAoCYKAKV0xSRn1gCghgoApBQk9OfWAKEGCgCkJUQkx9YAqAYKRgFEMHQ05UTAKgJHtoCgIA
oB2TX1NUQQoPoAx7aQoCAHABQUJPTqEHcABBQk9OoBeQe2gKCABXTEVOentpCggACgNXTFJGoC57
aAqAAHp7aQqAAAoHQlRCTKAbQlRCTKAMV0xTV4ZDTUJUCoGhCIZDTUJUCoIUSwhTV0NGAKALV0xT
V3ABV0xSMqEHcABXTFIyoBtCVEJMoAxXTFNXhkNNQlQKgaEIhkNNQlQKgqFDBaBCBFdMU1egH0JM
RU5wAUFCT06gC1dMRU5wAVdMUkahB3AAV0xSRqEbcABBQk9OoAtXTEVOcAFXTFJGoQdwAFdMUkah
DXAAQUJPTnAAV0xSRhRFBUJQVFMBoEcEkZNoCgOTaAoEcFdMUkZCVFNUfXlXTFNXCgEAQlRTVEJU
U1R9eUFCT04KAgBCVFNUQlRTVH15V0xSMgoDAEJUU1RCVFNUcABBQk9OFEYFQldBSwGgTgSRk2gK
A5NoCgRwe0JUU1QKAQBXTFJGentCVFNUCgQACgJBQk9OentCVFNUCggACgNXTFIyoBeSk3p7QlRT
VAoCAAoBAFdMU1dTV0NGW4JICkVDX18IX0hJRAxB0AwJCF9DUlMRFQoSRwFiAGIAAQFHAWYAZgAB
AXkACF9HUEUKFxAJXAAIRUNPSwAUEl9SRUcCoAuTaAoDcGlFQ09LW4BTTUJfAwoACv8QTQRcAFuB
RwRcLwVfU0JfUENJMExQQ0JFQ19fU01CXxEAIEVDQ00IRUNEMQhFQ0QyCEVDRDMIAEB4RUNHTQhF
Q0cxCEVDRzIIRUNHMwhbgj9ETUFDCF9ISUQMQdACABQJX1NUQQCkCg8IX0NSUxEgCh1HAQAAAAAB
EEcBgQCBAAEPRwHAAMAAASAqEAJ5AFuCL1RJTUUIX0hJRAxB0AEAFAlfU1RBAKQKDwhfQ1JTERAK
DUcBQABAAAEEIgEAeQBbgjVQSUNfCF9ISUQLQdAUCV9TVEEApAoPCF9DUlMRGAoVRwEgACAAAQJH
AaAAoAABAiIEAHkAW4IvUlRDXwhfSElEDEHQCwAUCV9TVEEApAoPCF9DUlMREAoNRwFwAHAAAQIi
AAF5AFuCLFNQS1IIX0hJRAxB0AgAFAlfU1RBAKQKDwhfQ1JTEQ0KCkcBYQBhAAEBeQBbgi9NQVRI
CF9ISUQMQdAMBBQJX1NUQQCkCg8IX0NSUxEQCg1HAfAA8AABDyIAIHkAW4JLBUtCQ18IUjEwMQxB
0AMDCFIxMDYMQdADIBQYX0hJRACgClNJREakUjEwMaEGpFIxMDYUCV9TVEEApAoPCF9DUlMRGAoV
RwFgAGAAAQFHAWQAZAABASICAHkAW4InUFMyTQhfSElEDEHQDxMUCV9TVEEApAoPCF9DUlMRCAoF
IgAQeQBbgjtGV0hfCF9ISUQMJdQIABQUX1NUQQCgCEZXSE2kCg+hBKQKAAhfQ1JTEREKDoYJAAEA
ALD/AAAQAHkAW4JODUhQRVQIX0hJRAxB0AEDCF9DSUQMQdAMAQhCVUYwEREKDoYJAAAAAND+AAQA
AHkAW4BSQ1JCAAwAwNH+CwBAW4EWUkNSQhMAgAIaSFBBUwIABUhQQUUBFC1fU1RBAKAYkpVcLl9T
Ql9PU1RQCgigCEhQQUWkCg+hCqAISFBBRaQKC6QKABRHBV9DUlMIoEoESFBBRYpCVUYwCgRIUFQw
oBKTSFBBUwoBcAwAEND+SFBUMKASk0hQQVMKAnAMACDQ/khQVDCgEpNIUEFTCgNwDAAw0P5IUFQw
pEJVRjAQPVwvA19TQl9QQ0kwTFBDQluATElPRAIKgAoKW4BNQkFSAAwAQNH+CwBAW4ERTUJBUhMA
gIQHAARDMlNMAVuBRQRMSU9EAENBRFIDAAFDQkRSAwABTFBEUgIAAkZERFIBAANDQUxFAUNCTEUB
TFBMRQFGRExFAQAsR0QyRQEAA0dEMkIMCFRDT00SGggL+AML+AILIAILKAILOAIL6AILOAML6AMI
VExQVBILAwt4Awt4Agu8AwhURkREEggCC/ADC3ADFEgOREVOQQugJZNoCgBwiVRDT00BaQAKAAoA
YKARkpNg/3BgQ0FEUnABQ0FMRaFKC6AqkZNoCgGTaAoCcIlUQ09NAWkACgAKAGCgEZKTYP9wYENC
RFJwAUNCTEWhTAigM5NoCgNwiVRDT00BaQAKAAoAYKAfkpNg/3BgQ0JEUnABQ0JMRXpqCgRHRDJC
cAFHRDJFoUUFoCqRk2gKBJNoCgVwiVRMUFQBaQAKAAoAYKARkpNg/3BgTFBEUnABTFBMRaEnoCWT
aAoHcIlURkREAWkACgAKAGCgEZKTYP9wYEZERFJwAUZETEUUTAVERElTCaALk2gKAHAAQ0FMRaFI
BKAQkZNoCgGTaAoCcABDQkxFoTSgEZNoCgNwAENCTEVwAEdEMkWhIKAQkZNoCgSTaAoFcABMUExF
oQ2gC5NoCgdwAEZETEVbgRBTSU9fAVNJSUQIU0lEVAhbhk8IU0lJRFNJRFQBAANGRENQAQAEAAJQ
UFBfAVBQTV8BAAQAA1UxUF8BAANVMlBfAQAIUFBFTQIALkVGVE0IAAhVMk1EBgBKCUZEQV8IAAJF
VE9TAQANUFBBXwhVMUFfCFUyQV8IUFBEXwRGRERfBFBQSV8ERkRJXwRVMklfBFUxSV8EABBJUkFf
CElSRF8EWwFNVFhTABQVRU5UUgBbI01UWFP//3AKVVNJSUQUE0VYSVQAcAqqU0lJRFsnTVRYUxRK
EFNFVFIFRU5UUqAIa3SCawABYKEEcABgoAhsdIJsAAFhoQVwCg9hoBOTaAoAemkKAlUxQV9wYFUx
SV+hQQqgE5NoCgF6aQoCVTJBX3BgVTJJX6FKCKATk2gKAnppCgJVMkFfcGBVMklfoUMHoCGTaAoD
emkKAlUyQV96agoDSVJBX3BgVTJJX3BhSVJEX6FOBKATk2gKBHppCgJQUEFfcGBQUElfoTegGZNo
CgV6aQoCUFBBX3BgUFBJX3BhUFBEX6EboBmTaAoHemkKAkZEQV9wYEZESV9wYUZERF9FWElUoBdp
oA9bEkRFTkFgREVOQWhpalNFVE1ooQ+gDVsSRERJU2BERElTaBRIDkdFVFIFRU5UUnAAYHAKD2Gg
E5NoCgB5VTFBXwoCaXBVMUlfYKFBCqATk2gKAXlVMkFfCgJpcFUySV9goUoIoBOTaAoCeVUyQV8K
AmlwVTJJX2ChQwegIZNoCgN5VTJBXwoCaXlJUkFfCgNqcFUySV9gcElSRF9hoU4EoBOTaAoEeVBQ
QV8KAmlwUFBJX2ChN6AZk2gKBXlQUEFfCgJpcFBQSV9gcFBQRF9hoRugGZNoCgd5RkRBXwoCaXBG
RElfYHBGRERfYaAGYHkBYGuhBHAAa6AKkpNhCg95AWFsoQRwAGxFWElUFEMKU0VUTQFFTlRSoAuT
aAoAcAFVMVBfoUcIoBKTaAoBcAoGVTJNRHABVTJQX6FBB6ASk2gKAnAKDlUyTURwAVUyUF+hSwWg
EpNoCgNwCg5VMk1EcAFVMlBfoUUEoCeTaAoEoA2TUFBGXwFwAVBQTV+hDXAAUFBNX3AAUFBFTXAB
UFBQX6EaoBiTaAoFcABQUE1fcAoCUFBFTXABUFBQX0VYSVQUQgZTRVRQAkVOVFKgC5NoCgBwaVUx
UF+hRgSgC5NoCgFwaVUyUF+hN6ALk2gKAnBpVTJQX6EpoAuTaAoDcGlVMlBfoRugC5NoCgRwaVBQ
UF+hDaALk2gKBXBpUFBQX0VYSVQURwZHRVRQAXAAYEVOVFKgC5NoCgBwVTFQX2ChRgSgC5NoCgFw
VTJQX2ChN6ALk2gKAnBVMlBfYKEpoAuTaAoDcFUyUF9goRugC5NoCgRwUFBQX2ChDaALk2gKBXBQ
UFBfYEVYSVSkYBRPCENIS00BoA2TaAoAoAdTUEFGpAGhRwegEJNoCgGgCpNTUEJGCgOkAaFDBqAP
k2gKAqAJk1NQQkYBpAGhQAWgEJNoCgOgCpNTUEJGCgKkAaE8oBeTaAoEoBGRk1BQRl8Bk1BQRl8K
AqQBoSKgEJNoCgWgCpNQUEZfCgOkAaEPoA2TaAoHoAdGRENGpAGkAFuCSBRVQVIxCF9ISUQMQdAF
AQhfVUlECgEIUlNSQxEQCg1HAfgD+AMBCCIQAHkACF9QUlMRNwo0MQRHAfgD+AMBCCIQADBHAfgC
+AIBCCIIADBHAegD6AMBCCIQADBHAegC6AIBCCIIADh5ABRCBF9TVEEAoBKSlVwuX1NCX09TVFAK
QKQKAKEnoCBDSEtNCgBHRVRSCgBxYHFhcWJxY6AFYKQKD6EEpAoNoQSkCgAUTQRfQ1JTAItSU1JD
CgJJTzExi1JTUkMKBElPMTKLUlNSQwoJSVJRMUdFVFIKAHFgcWFxYnFjcGBJTzExcGBJTzEycGJJ
UlExpFJTUkMUJl9TUlMBi2gKBElPMTGLaAoJSVJRMVNFVFIKAElPMTEASVJRMQAUEF9ESVMAU0VU
UgoAAAAAABQUX0lOSQCgDUNIS00KAFNFVE0KAFuCRQpMTktBCF9ISUQMQdAMDwhfVUlECgEUDV9E
SVMIcAqAUEFSQwhfUFJTEQkKBiP61Bh5ABQ6X0NSUwgIUlRMQREJCgYjAAAYeQCLUlRMQQoBSVJR
MHAASVJRMHkKAXtQQVJDCg8ASVJRMKRSVExBFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBBUkMU
GF9TVEEIoAx7UEFSQwqAAKQKCaEEpAoLW4JFCkxOS0IIX0hJRAxB0AwPCF9VSUQKAhQNX0RJUwhw
CoBQQlJDCF9QUlMRCQoGI/rYGHkAFDpfQ1JTCAhSVExCEQkKBiMAABh5AItSVExCCgFJUlEwcABJ
UlEweQoBe1BCUkMKDwBJUlEwpFJUTEIUHF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEJSQxQYX1NU
QQigDHtQQlJDCoAApAoJoQSkCgtbgkUKTE5LQwhfSElEDEHQDA8IX1VJRAoDFA1fRElTCHAKgFBD
UkMIX1BSUxEJCgYj+tQYeQAUOl9DUlMICFJUTEMRCQoGIwAAGHkAi1JUTEMKAUlSUTBwAElSUTB5
CgF7UENSQwoPAElSUTCkUlRMQxQcX1NSUwmLaAoBSVJRMIJJUlEwYHZgcGBQQ1JDFBhfU1RBCKAM
e1BDUkMKgACkCgmhBKQKC1uCRQpMTktECF9ISUQMQdAMDwhfVUlECgQUDV9ESVMIcAqAUERSQwhf
UFJTEQkKBiP62Bh5ABQ6X0NSUwgIUlRMRBEJCgYjAAAYeQCLUlRMRAoBSVJRMHAASVJRMHkKAXtQ
RFJDCg8ASVJRMKRSVExEFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBEUkMUGF9TVEEIoAx7UERS
QwqAAKQKCaEEpAoLW4JFCkxOS0UIX0hJRAxB0AwPCF9VSUQKBRQNX0RJUwhwCoBQRVJDCF9QUlMR
CQoGI/rUGHkAFDpfQ1JTCAhSVExFEQkKBiMAABh5AItSVExFCgFJUlEwcABJUlEweQoBe1BFUkMK
DwBJUlEwpFJUTEUUHF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEVSQxQYX1NUQQigDHtQRVJDCoAA
pAoJoQSkCgtbgkUKTE5LRghfSElEDEHQDA8IX1VJRAoGFA1fRElTCHAKgFBGUkMIX1BSUxEJCgYj
+tgYeQAUOl9DUlMICFJUTEYRCQoGIwAAGHkAi1JUTEYKAUlSUTBwAElSUTB5CgF7UEZSQwoPAElS
UTCkUlRMRhQcX1NSUwmLaAoBSVJRMIJJUlEwYHZgcGBQRlJDFBhfU1RBCKAMe1BGUkMKgACkCgmh
BKQKC1uCRQpMTktHCF9ISUQMQdAMDwhfVUlECgcUDV9ESVMIcAqAUEdSQwhfUFJTEQkKBiP61Bh5
ABQ6X0NSUwgIUlRMRxEJCgYjAAAYeQCLUlRMRwoBSVJRMHAASVJRMHkKAXtQR1JDCg8ASVJRMKRS
VExHFBxfU1JTCYtoCgFJUlEwgklSUTBgdmBwYFBHUkMUGF9TVEEIoAx7UEdSQwqAAKQKCaEEpAoL
W4JFCkxOS0gIX0hJRAxB0AwPCF9VSUQKCBQNX0RJUwhwCoBQSFJDCF9QUlMRCQoGI/jYGHkAFDpf
Q1JTCAhSVExIEQkKBiMAABh5AItSVExICgFJUlEwcABJUlEweQoBe1BIUkMKDwBJUlEwpFJUTEgU
HF9TUlMJi2gKAUlSUTCCSVJRMGB2YHBgUEhSQxQYX1NUQQigDHtQSFJDCoAApAoJoQSkCgtbgky7
UEFUQQhfQURSDAEAHwAIUE1NThEDCigIUFNNThEDCihbgEFUSU8BC/cBCgFbgQtBVElPAVNUU1II
W4BQQ0lfAgpAChhbgUcJUENJXwFQVEkwAVBJRTABUFBQMAFQRFQwAVBUSTEBUElFMQFQUFAxAVBE
VDEBUFJDVAIAAlBJU1ACUFNJVAFQSURFAQAQUFJDMQJQSVMxAgAcUFNEMAFQU0QxAQAOUENUMAIA
AlBDVDECAEoEUENCMAFQQ0IxAQACUE1DQwFQU0NDAQAGRlBDMAFGUEMxAQACUFNNRAJbgkKlUFJJ
TQhfQURSCgBbgkQVTUFTVAhfQURSCgAURhRfR1RGAAhHVEZCERgKFQMAAAAAoO8DAAAAAKDvAAAA
AACg9YxHVEZCCgFTUElPjEdURkIKCFNETUGMR1RGQgoUU0NNRKANklNTVVBwCgBTQ01EoA2SUElF
MHAKAVNQSU+hTgSgEpFQRFQwklBUSTBwCghTUElPoTigFZVyUElTUFBSQ1QACgNwCgpTUElPoSCg
FZVyUElTUFBSQ1QACgVwCgtTUElPoQhwCgxTUElPoE4GUFNEMKASe0ZQQzBQTUNDAHAKRVNETUGh
RAWgJHtQQ0IwUE1DQwCgD5NQQ1QwCgJwCkRTRE1BoQhwCkNTRE1BoSygD5NQQ1QwCgJwCkJTRE1B
oRqgD5NQQ1QwCgFwCkFTRE1BoQhwCkBTRE1BoSCgFZVyUElTUFBSQ1QACgVwCiFTRE1BoQhwCiJT
RE1BpEdURkJbgkwbU0xBVghfQURSCgEUThpfR1RGAAhHVEZCERgKFQMAAAAAsO8DAAAAALDvAAAA
AACw9YxHVEZCCgFTUElPjEdURkIKCFNETUGMR1RGQgoUU0NNRKANklNTVVBwCgBTQ01EoA2SUElF
MXAKAVNQSU+hTgigEpFQRFQxklBUSTFwCghTUElPoUgHoDxQU0lUoBWVclBJUzFQUkMxAAoDcAoK
U1BJT6EgoBWVclBJUzFQUkMxAAoFcAoLU1BJT6EIcAoMU1BJT6E4oBWVclBJU1BQUkNUAAoDcAoK
U1BJT6EgoBWVclBJU1BQUkNUAAoFcAoLU1BJT6EIcAoMU1BJT6BOBlBTRDGgEntGUEMxUFNDQwBw
CkVTRE1BoUQFoCR7UENCMVBTQ0MAoA+TUENUMQoCcApEU0RNQaEIcApDU0RNQaEsoA+TUENUMQoC
cApCU0RNQaEaoA+TUENUMQoBcApBU0RNQaEIcApAU0RNQaFIBKAkUFNJVKAVlXJQSVMxUFJDMQAK
BXAKIVNETUGhCHAKIlNETUGhIKAVlXJQSVNQUFJDVAAKBXAKIVNETUGhCHAKIlNETUGkR1RGQhRE
GV9HVE0ACEdUTUIRAwoUikdUTUIKAFBJTzCKR1RNQgoERE1BMIpHVE1CCghQSU8xikdUTUIKDERN
QTGKR1RNQgoQRkxBR3AKEEZMQUd9RkxBR315UElFMQoDAHlQSUUwCgEAAEZMQUegE5FQRFQwklBU
STBwC4QDUElPMKEWd3QKCXJQUkNUUElTUAAACh5QSU8woA+SUFNEMHBQSU8wRE1BMKFOBH1GTEFH
CgFGTEFHoBJ7RlBDMFBNQ0MAcAoURE1BMKEtoBp7UENCMFBNQ0MAd3QKBFBDVDAACg9ETUEwoRB3
dAoEUENUMAAKHkRNQTCgE5FQRFQxklBUSTFwC4QDUElPMaEooA+SUFNJVHBQSU8wUElPMaEWd3QK
CXJQUkMxUElTMQAACh5QSU8xoA+SUFNEMXBQSU8xRE1BMaFOBH1GTEFHCgRGTEFHoBJ7RlBDMVBT
Q0MAcAoURE1BMaEtoBp7UENCMVBTQ0MAd3QKBFBDVDEACg9ETUExoRB3dAoEUENUMQAKHkRNQTGk
R1RNQhRLWV9TVE0DimgKAFBJTzCKaAoERE1BMIpoCghQSU8ximgKDERNQTGKaAoQRkxBR3AKAFBT
SVSgSyiQTVNNRpOHaQsAAlsTaQuwAQtAAU1CVUZwTUJVRlBNTU6LaQpiVzQ5MItpCmZXNTEwi2kK
alc1MzCLaQp8VzYyMItpCn5XNjMwi2kKgFc2NDCLaQqwVzg4MHAKAFBJU1BwCgBQUkNUcAoAUERU
MHAKAFBJRTBwCgBQVEkwcAoAUFNEMHAKAFBDVDBwCgBQQ0IwcAoAUE1DQ3AKAEZQQzCgGpB7RkxB
RwoCAHtXNDkwCwAIAHAKAVBJRTCgMJCSlFBJTzAKeJB7VzUzMAoCAHtXNjQwCgIAcAoCUElTUHAK
A1BSQ1RwCgFQVEkwoUoFoDCQkpRQSU8wCrSQe1c1MzAKAgB7VzY0MAoBAHAKAlBJU1BwCgFQUkNU
cAoBUFRJMKEmoCGQkpRQSU8wCvCSlVc1MTALAAJwCgFQSVNQcAoBUFRJMKECo6BCFJKTRE1BMAz/
////oEwNkHtGTEFHCgEAkHtXNTMwCgQAe1c4ODAKPwBwCgFQU0QwoCeQkpRETUEwChR7Vzg4MAog
AHAKAVBDVDBwCgFQTUNDcAoBRlBDMKFACaAnkJKURE1BMAoee1c4ODAKEABwCgJQQ1QwcAoBUE1D
Q3AKAVBDQjChRQagJ5CSlERNQTAKLXtXODgwCggAcAoBUENUMHAKAVBNQ0NwCgFQQ0IwoTqgGZCS
lERNQTAKPHtXODgwCgQAcAoCUENUMKEeoBmQkpRETUEwClp7Vzg4MAoCAHAKAVBDVDChAqOhRwWg
J5CSlERNQTAKeHtXNjMwCgQAcAoCUElTUHAKA1BSQ1RwCgFQVEkwoSygJ5CSlERNQTAKtHtXNjMw
CgIAcAoCUElTUHAKAVBSQ1RwCgFQVEkwoQKjoEEtkFNTTUaTh2oLAAJbE2oLsAELQAFTQlVGcFNC
VUZQU01Oi2oKYlc0OTGLagpmVzUxMYtqCmpXNTMxi2oKfFc2MjGLagp+VzYzMYtqCoBXNjQxi2oK
sFc4ODFwCgBQSVMxcAoAUFJDMXAKAFBEVDFwCgBQSUUxcAoAUFRJMXAKAFBTRDFwCgBQQ1QxcAoA
UENCMXAKAFBTQ0NwCgBGUEMxoBqQe0ZMQUcKCAB7VzQ5MQsACABwCgFQSUUxoEQLkHtGTEFHChAA
kJKTUElPMQz/////kpNQSU8xUElPMHAKAVBTSVSgMJCSlFBJTzEKeJB7VzUzMQoCAHtXNjQxCgIA
cAoCUElTMXAKA1BSQzFwCgFQVEkxoUoFoDCQkpRQSU8xCrSQe1c1MzEKAgB7VzY0MQoBAHAKAlBJ
UzFwCgFQUkMxcAoBUFRJMaEmoCGQkpRQSU8xCvCSlVc1MTELAAJwCgFQSVMxcAoBUFRJMaECo6BP
FZKTRE1BMQz/////oEwNkHtGTEFHCgQAkHtXNTMxCgQAe1c4ODEKPwBwCgFQU0QxoCeQkpRETUEx
ChR7Vzg4MQogAHAKAVBDVDFwCgFQU0NDcAoBRlBDMaFACaAnkJKURE1BMQoee1c4ODEKEABwCgJQ
Q1QxcAoBUFNDQ3AKAVBDQjGhRQagJ5CSlERNQTEKLXtXODgxCggAcAoBUENUMXAKAVBTQ0NwCgFQ
Q0IxoTqgGZCSlERNQTEKPHtXODgxCgQAcAoCUENUMaEeoBmQkpRETUExClp7Vzg4MQoCAHAKAVBD
VDGhAqOhRAegQQeQe0ZMQUcKEACSk0RNQTFETUEwcAoBUFNJVKAnkJKURE1BMQp4e1c2MzEKBABw
CgJQSVMxcAoDUFJDMXAKAVBUSTGhLKAnkJKURE1BMQq0e1c2MzEKAgBwCgJQSVMxcAoBUFJDMXAK
AVBUSTGhAqNwCgFQSURFEDBcLwRfU0JfUENJMFBBVEFQUklNFAlfU1RBAKQKDxQITVNNRgCkARQI
U1NNRgCkABArXC8FX1NCX1BDSTBQQVRBUFJJTU1BU1QUCV9TVEEApAoPFAhTU1VQAKQBECtcLwVf
U0JfUENJMFBBVEFQUklNU0xBVhQJX1NUQQCkCgAUCFNTVVAApABbgg9VU0IxCF9BRFIMAAAdAFuC
D1VTQjIIX0FEUgwBAB0AW4IPVVNCMwhfQURSDAIAHQBbgg9VU0I0CF9BRFIMAwAdAFuCD1VTQjcI
X0FEUgwHAB0AW4IPU0JVUwhfQURSDAMAHwBbgg9BVUQwCF9BRFIMAgAeAFuCG01PRE0IX0FEUgwD
AB4ACF9QUlcSBgIKBQoDW4JPBUhERUYIX0FEUgwAABsACF9QUlcSBgIKBQoDCF9QU0MKABQtX1BT
MABwCgBfUFNDoB+QSERXQZKVXC5fU0JfT1NUUApAcABIRFdBWyIL9AEUDV9QUzMAcAoDX1BTQ1uC
TxFSUDAxCF9BRFIMAAAcAFuAUDFDUwIKQAsAAVuBNFAxQ1NAAEANQUJQMQEAAlBEQzEBAAJQRFMx
AQApABBQU1AxAQBPPAAeSFBDUwFQTUNTAVuCDFBYUzEIX0FEUgoAFE4LX1BSVACgOlxHUElDpBIy
BBILBAv//woACgAKEBILBAv//woBCgAKERILBAv//woCCgAKEhILBAv//woDCgAKE6FLB6QSRwcE
EhwEC///CgBcLwRfU0JfUENJMExQQ0JMTktBCgASHAQL//8KAVwvBF9TQl9QQ0kwTFBDQkxOS0IK
ABIcBAv//woCXC8EX1NCX1BDSTBMUENCTE5LQwoAEhwEC///CgNcLwRfU0JfUENJMExQQ0JMTktE
CgBbgk8RUlAwMghfQURSDAEAHABbgFAyQ1MCCkALAAFbgTRQMkNTQABADUFCUDIBAAJQREMyAQAC
UERTMgEAKQAQUFNQMgEATzwAHkhQQ1MBUE1DUwFbggxQWFMyCF9BRFIKABROC19QUlQAoDpcR1BJ
Q6QSMgQSCwQL//8KAAoAChESCwQL//8KAQoAChISCwQL//8KAgoAChMSCwQL//8KAwoAChChSwek
EkcHBBIcBAv//woAXC8EX1NCX1BDSTBMUENCTE5LQgoAEhwEC///CgFcLwRfU0JfUENJMExQQ0JM
TktDCgASHAQL//8KAlwvBF9TQl9QQ0kwTFBDQkxOS0QKABIcBAv//woDXC8EX1NCX1BDSTBMUENC
TE5LQQoAW4JPEVJQMDMIX0FEUgwCABwAW4BQM0NTAgpACwABW4E0UDNDU0AAQA1BQlAzAQACUERD
MwEAAlBEUzMBACkAEFBTUDMBAE88AB5IUENTAVBNQ1MBW4IMUFhTMwhfQURSCgAUTgtfUFJUAKA6
XEdQSUOkEjIEEgsEC///CgAKAAoSEgsEC///CgEKAAoTEgsEC///CgIKAAoQEgsEC///CgMKAAoR
oUsHpBJHBwQSHAQL//8KAFwvBF9TQl9QQ0kwTFBDQkxOS0MKABIcBAv//woBXC8EX1NCX1BDSTBM
UENCTE5LRAoAEhwEC///CgJcLwRfU0JfUENJMExQQ0JMTktBCgASHAQL//8KA1wvBF9TQl9QQ0kw
TFBDQkxOS0IKAFuCTxFSUDA0CF9BRFIMAwAcAFuAUDRDUwIKQAsAAVuBNFA0Q1NAAEANQUJQNAEA
AlBEQzQBAAJQRFM0AQApABBQU1A0AQBPPAAeSFBDUwFQTUNTAVuCDFBYUzQIX0FEUgoAFE4LX1BS
VACgOlxHUElDpBIyBBILBAv//woACgAKExILBAv//woBCgAKEBILBAv//woCCgAKERILBAv//woD
CgAKEqFLB6QSRwcEEhwEC///CgBcLwRfU0JfUENJMExQQ0JMTktECgASHAQL//8KAVwvBF9TQl9Q
Q0kwTFBDQkxOS0EKABIcBAv//woCXC8EX1NCX1BDSTBMUENCTE5LQgoAEhwEC///CgNcLwRfU0Jf
UENJMExQQ0JMTktDCgAQIFwvBF9TQl9QQ0kwUlAwMVBYUzEIX1BSVxIGAgoJCgQQSQdcLwRfU0Jf
UENJMFJQMDJQWFMyFBRfU1RBAKAIUFhSU6QKD6EEpAoACF9QUlcSBgIKCQoEFAhfUk1WAKQBFCBF
WElOAFsiCmRwAFBYQ0xbIgoBcAFQWFJTcABFWFBMFBhFWFJNAHAAUFhSU3ABUFhDTHABRVhQTAhM
RURJAAhCVE5JAAhOR1RJCgYQMFwACFdCVE4ACE5HVE0ACExTQkwACEJOQkYRAwogCEJOU1AACEJO
R1AACEJOQ1QAW4JORkZFWFQIX0hJRA1GVUowMkUzABQJX1NUQQCkCg8UJF9JTkkAcABCTlNQcABC
TkdQcABCTkNUcABJUkJDcABJUkJGFEQGRlVOQwxwDAAAAIBgoA+TaAsBEHBTMDAxaWprYKEjoA+T
aAsCEHBTMDAyaWprYKERoA+TaAsEEHBTMDA0aWprYKAPk2gLBhBwUzAwNmlqa2CgD5NoCwgQcFMw
MDhpamtgpGAURghTMDAxA3AMAAAAgGCgCpNoAHBMRURJYKFKBqAzk2gBe2oKA2GgJpB7aUxFREkA
YXAKm0NNRF96e2oMAAADAAAKCERWSURwAFNTTUlwAGChM6Axk2gKAqAme2lMRURJAHAKm0NNRF9w
AURWSURwAFNTTUl9eURWSUQKEAABYKEEcABgpGAUTghTMDAyA3AMAAAAgGCgCpNoAHBCVE5JYKFC
B6AKk2gBcEdJUkJgoUQGoB+TaAoCcAqbQ01EX3AKAkRWSURwAFNTTUlwRFZJRGChQQSgPpNoCgOg
MmmAaWF7amlifXtXQlROYQBiV0JUTnAKm0NNRF99eVdCVE4KCAAKA0RWSURwAFNTTUlwV0JUTmCk
YBRDBFNJUkIBoDuVQk5DVAoQi0JOQkZCTlNQQk5QMXBoQk5QMXVCTkNUckJOU1AKAkJOU1CgD5KV
Qk5TUAogcABCTlNQFEAFR0lSQgCgQQRCTkNUi0JOQkZCTkdQQk5QMnBCTlAyYH1gDAAAAEBgdkJO
Q1RyQk5HUAoCQk5HUKAPkpVCTkdQCiBwAEJOR1ChBHAAYKRgFEIKUzAwNANwDAAAAIBgoAqTaABw
TkdUSWChRgigRgaTaAGgQAaQk2kKBHtOR1RJCgQAe2oKA2GgKZGTYQoDk2EKAqAQkk5HVEZTVkJM
cAFOR1RGU0JMQ2FwYU5HVE1wAGCgIZJhoBROR1RGcABOR1RGUlNCTFNCTEMAcABOR1RNcABgoRyg
GpNoCgKgFJCTaQoEe05HVEkKBABwTkdUTWCkYBRHF1MwMDgDcAwAAACAYKBKBpNoCgCgQwaQkpVp
CgCSlGkKBaAHk2kAcABgoU0EoB2TaQGgE5KVXC5fU0JfT1NUUApAcAoCYKEEcABgoSxwCqRDTURf
cGhRQUcxcGlRQUcycGpRQUczcABEVklEcABTU01JcERWSURgoUsPoD2TaAoBoDeQkpVpCgCSlGkK
AXAKpENNRF9waFFBRzFwaVFBRzJwalFBRzNwAERWSURwAFNTTUlwRFZJRGChSgugPZNoCgKgN5CS
lWkKAJKUaQoBcAqkQ01EX3BoUUFHMXBpUUFHMnBqUUFHM3AARFZJRHAAU1NNSXBEVklEYKFJB6A2
k2gKA6Awk2kKAHAKpENNRF9waFFBRzFwaVFBRzJwalFBRzNwAERWSURwAFNTTUlwRFZJRGChP6A9
k2gKBKA3kJKVaQoAkpRpCgFwCqRDTURfcGhRQUcxcGlRQUcycGpRQUczcABEVklEcABTU01JcERW
SURgpGAQTiJcLl9TQl9GRVhUFEsHU0JMQwGgCZJocABCTENUoUkGoAuTaAoDcAFCTENUoUoFoEcF
k2gKAghCQkNUEQVCTExNcEJMTFRCQkNUjEJCQ1QAQkxMMHBCTEwwTENEQnAMAAAAAURWSUR9RFZJ
REJMTDBEVklEcAqCQ01EX3AAU1NNSXAAQkxDVBQnU1ZCTAB7XC8FX1NCX1BDSTBMUENCRkpFWEdC
TEwM////f0xTQkwUIVJTQkwAXC8FX1NCX1BDSTBMUENCRkpFWFNCTExMU0JMFEsVUzAwNgNwDAAA
AIBgoEoURUNPS6AKk2gAcEVDQ0lgoUgToEIFk2gKEKBEBGl7aQr/RUNHMXAKI0VDR01wAGGiEJBF
Q0dNlWEKZFsiCgF1YaANkpVhCmRwDAEAAIBgoQ99eUVDRzIKCABFQ0czYKEGcAtw/WChQg6gQQWT
aAoRe2kK/0VDRzF6e2oLAP8ACghFQ0cye2oK/0VDRzNwCiJFQ0dNcABhohCQRUNHTZVhCmRbIgoB
dWGgDZKVYQpkcAwBAACAYKEEcABgoU0IoBGTaAoScEdJTlRgcABHSU5UoUgHoEUHk2gKIHp7aQwA
AAD/AAoYRUNEM3p7aQwAAP8AAAoQRUNEMnp7aQsA/wAKCEVDRDF7aQr/RUNDTXAAYaIQkEVDQ02V
YQpkWyIKAXVhoA2SlWEKZHAMAQAAgGChGX19eUVDRDMKEAB5RUNEMgoIAABFQ0QxYKRgW4I2TElE
XwhfSElEDEHQDA0UEl9MSUQAoAdDVkNMpAChA6QBCF9QUlcSBgIKGAoEFAdfUFNXAaNbghlQV1JC
CF9ISUQMQdAMDBQJX1NUQQCkCg9bgksKQUNfXwhfSElEDUFDUEkwMDAzABAJXAAIQUNQU/8UD19J
TkkAcEFDUFdBQ1BTFAlfU1RBAKQKDxQWX1BTUgBfSU5JoAdBQ1BXpAGhA6QACF9QQ0wSBwFcX1NC
XxRNBEFDSEsAcEFDUFdgoD+Sk2BBQ1BTWyIKKIZcLl9TQl9BQ19fCoBwAERWSURwCo1DTURfcABT
U01JhlwuX1BSX0NQVTAKgHBgQUNQU1uCRTlDTUIxCF9ISUQMQdAMCghfVUlEAQhfUENMEgcBXF9T
Ql8QQgVcAAhCMVBT/whCMVJT/whCMUNT/whCMUxT/whCSUYxEigNCgEKAAoACgEKAAoACgAKAQoB
DQANMQANTElPTgANRnVqaXRzdQAIQlNUMRICBBQwTUtXRAKgGntpCoAAfQwAAP//aGB9YHlpCggA
YHQAYGChDHBoYH1geWkKCABgpGAUMl9JTkkAcEIxUF9CMVBTcEIxQ1BCMVJTcEIxQ19CMUNTcE1L
V0RCMUxMQjFMSEIxTFMUQhdfQklGAAhCVUZGEQMKDHBCMU5PZYxCSURUQjFJREIxSVhwTUtXREIx
RExCMURIiEJJRjEKAQBwTUtXREIxTExCMUxIiEJJRjEKAgBwd3J7QjFEVgrvAAoCAAsQDgCIQklG
MQoEAKA2kVRCUEOSlVwuX1NCX09TVFAKQHh3cncKDAoKAAoEAIOIQklGMQoBAAAL6ANgiEJJRjEK
BQCgQQaRVEJQQ5KVXC5fU0JfT1NUUApAoCSSlVwuX1NCX09TVFAKQKAMk0JJRkwK/3AKAmGhB3BC
SUZMYaEFcAoBYXh3cndhCgoACgQAg4hCSUYxCgEAAAvoA2CIQklGMQoGAKBGBWVwg4hCTVNUQjFJ
WABCVUZGcAoHYHBlYqIukGKSlWAKAnB0g4hCVUZGYAAKMABheHJhYgAKCmFicHJhCjAAiEJVRkZg
AHZgcEJVRkaIQklGMQoJAKEVcIOIQk1OVEIxSVgAiEJJRjEKCQCkQklGMRRDCl9CU1QAX0lOSXAA
YKArQjFQX6AKQjFDX31gCgJgoQygCpJBQ1BTfWABYKANkpRCMUNQAX1gCgRgcE1LV0RCMUNMQjFD
SGF4d0IxQ1BNS1dEQjFMTEIxTEgAC+gDZGKgBGR1YndiCgpicE1LV0RCMVZMQjFWSGNwYIhCU1Qx
AABwYYhCU1QxAQBwYohCU1QxCgIAcGOIQlNUMQoDAKRCU1QxFBJfU1RBAKAIQjFQX6QKH6QKDxRA
CUJDSEsAoCGSk0IxUF9CMVBThlwuX1NCX0NNQjEKgXBCMVBfQjFQU6BGBkIxUFNwTUtXREIxTExC
MUxIYKAVkpNgQjFMU4ZcLl9TQl9DTUIxCoGgI5GSk0IxQ19CMUNTkpNCMUNQQjFSU4ZcLl9TQl9D
TUIxCoBwYEIxTFNwQjFDX0IxQ1NwQjFDUEIxUlNbgiRTTFBCCF9ISUQMQdAMDhQUX1NUQQCgCEZT
Q02kCg+hBKQKABBGGF9UWl9bhU4LVFowMBQUX0NSVAikcgusCndDUlRUCgoAABQ0X1RNUAigJ0RU
U0VwCpxDTURfcAoARFZJRHAAU1NNSaRyC6wKd0RUUzEKCgAAoQWkC7gLFDRfUFNMCKAdTVBFTqQS
FgJcLl9QUl9DUFUwXC5fUFJfQ1BVMaEPpBIMAVwuX1BSX0NQVTAUFF9QU1YIpHILrAp3UFNWVAoK
AAAUC19UQzEIpFRDMVYUC19UQzIIpFRDMlYUC19UU1AIpFRTUFZbhU4LVFowMRQUX0NSVAikcgus
CndDUlRUCgoAABQ0X1RNUAigJ0RUU0VwCpxDTURfcAoBRFZJRHAAU1NNSaRyC6wKd0RUUzIKCgAA
oQWkC7gLFDRfUFNMCKAdTVBFTqQSFgJcLl9QUl9DUFUwXC5fUFJfQ1BVMaEPpBIMAVwuX1BSX0NQ
VTAUFF9QU1YIpHILrAp3UFNWVAoKAAAUC19UQzEIpFRDMVYUC19UQzIIpFRDMlYUC19UU1AIpFRT
UFYQHVwAFBlUWlNNAXAKnENNRF9waERWSURwAFNTTUkQREdcX0dQRRQnX0wwMgBwCgBHUEVDhlwu
X1RaX1RaMDAKgIZcLl9UWl9UWjAxCoAUGF9MMDUAhlwvA19TQl9QQ0kwSERFRgoCFAZfTDA4ABRH
FV9MMDkAoEMFXC8EX1NCX1BDSTBSUDAxUFNQMXAKAVwvBF9TQl9QQ0kwUlAwMVBTUDFwCgFcLwRf
U0JfUENJMFJQMDFQTUNThlwvA19TQl9QQ0kwUlAwMQoCoEMFXC8EX1NCX1BDSTBSUDAyUFNQMnAK
AVwvBF9TQl9QQ0kwUlAwMlBTUDJwCgFcLwRfU0JfUENJMFJQMDJQTUNThlwvA19TQl9QQ0kwUlAw
MgoCoEMFXC8EX1NCX1BDSTBSUDAzUFNQM3AKAVwvBF9TQl9QQ0kwUlAwM1BTUDNwCgFcLwRfU0Jf
UENJMFJQMDNQTUNThlwvA19TQl9QQ0kwUlAwMwoCoEMFXC8EX1NCX1BDSTBSUDA0UFNQNHAKAVwv
BF9TQl9QQ0kwUlAwNFBTUDRwCgFcLwRfU0JfUENJMFJQMDRQTUNThlwvA19TQl9QQ0kwUlAwNAoC
FBhfTDBCAIZcLwNfU0JfUENJMFBDSUIKAhQ0X0wxOABbIgr6oBOSTElEU3AKl0NNRF9wAFNTTUmA
TFBPTExQT0yGXC5fU0JfTElEXwqAFEsiX0wxOQBwU1NGMGBwYFNTRjB7YIBTU00wAGBwU1NGMWFw
YVNTRjF7YYBTU00xAGFwU1NGMmJwYlNTRjJ7YoBTU00yAGKgRwh7YgoQAFwvA19TQl9BQ19fQUNI
S1wvA19TQl9DTUIxQkNIS6BHBJGSk0xXTURQTFdNkpNUQUxNUFRBTHBMV01EUExXTXBUQUxNUFRB
THAKlUNNRF99UExXTXlQVEFMCgEARFZJRHAAU1NNSaARkFRBTE2SQUNQV3ABRk9DVKEHcABGT0NU
oEEMe2AKAQBcLwRfU0JfUENJMEdGWDBQSFRLcAqAQ01EX3AAU1NNSVwvBF9TQl9QQ0kwR0ZYMEFI
VEugLEJTV0agJpKVXC5fU0JfT1NUUApAXC8FX1NCX1BDSTBHRlgwTENEX0JMTkagG0FIS0aGXC8E
X1NCX1BDSTBMUENCRkpFWAqAoD1JUkJGoA+TSVJCQwsA/XABR0lOVKEUXC8DX1NCX0ZFWFRTSVJC
SVJCQ4ZcLl9TQl9GRVhUCoBwAElSQkagHXthCjAAXC8FX1NCX1BDSTBMUENCQ01CVFNXQ0agTAd7
YgoIAHBCMlNVZnBCMlNEZ3AAU1RBRaBCBpFmZ1siC+gDcABCMlNVcABCMlNEcH9ES0VWAQBES0VW
oD9SUEVOoDmSk0IyVENSUERTcEIyVENSUERToBFSUERThlwuX1NCX1JFUEwAoRJbIgugD4ZcLl9T
Ql9SRVBMARRCBV9MMUQAoBxFWFBMXC8FX1NCX1BDSTBSUDAyUFhTMkVYSU6hGFwvBV9TQl9QQ0kw
UlAwMlBYUzJFWFJNWyIKZIZcLwNfU0JfUENJMFJQMDIACF9TMF8SCgQKAAoACgAKAAhfUzNfEgoE
CgUKBQoACgAIX1M0XxIKBAoGCgYKAAoACF9TNV8SCgQKBwoHCgAKABRPB19QVFMBcgrdaFBPODCg
QwSQkpVoAZKUaAoEoA5SUEVOcFJQRFNEQzFToB5cLwVfU0JfUENJMFJQMDJQWFMyX1NUQXAARVhJ
U6EIcAr/RVhJU1wvBV9TQl9QQ0kwTFBDQkNNQlRCUFRTaHAAV0FQQnABSERXQXIK4GhQTzgwFEMc
X1dBSwFyCu5oUE84MFwvBF9TQl9QQ0kwTFBDQkFJTklcLwRfU0JfUENJMFBDSUJfSU5JXC8DX1NC
X0ZFWFRfSU5JoBmTaAoDcAqjQ01EX3AKAElORl9wAFNTTUmgGZNoCgNwCptDTURfcAoERFZJRHAA
U1NNSaASV0FQQoZcLl9TQl9QV1JCCgKgHpNoCgRcLwNfU0JfRkVYVEZVTkMLAhAKA/9XQlROXC8F
X1NCX1BDSTBMUENCQ01CVEJXQUtooEYPkJKVaAGSlGgKBKA6UlBFTqA0kpNCMlRDREMxU3BCMlRD
UlBEU6ARUlBEU4ZcLl9TQl9SRVBMAKENhlwuX1NCX1JFUEwBoC9cLwVfU0JfUENJMFJQMDJQWFMy
X1NUQaAWRVhJU4ZcLwNfU0JfUENJMFJQMDIAoRmgF5JFWElThlwvA19TQl9QQ0kwUlAwMgCgHU5H
VE1cLwNfU0JfRkVYVEZVTkMLBBAKAQoECgCgL1wvBV9TQl9QQ0kwTFBDQkRJR0lfU1RBXC8FX1NC
X1BDSTBMUENCRElHSV9JTklcLwVfU0JfUENJMExQQ0JCVE5TX0lOSXIK8GhQTzgwpAA=
----Next_Part(Mon_May_26_00_20_56_2008_239)--
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Content-Disposition: inline; filename="looxp70wm.asl"
LyoNClJTRCBQVFI6IENoZWNrc3VtPTczLCBPRU1JRD1GVUosIFJzZHRBZGRyZXNzPTB4M2Y2NjI2
ODgNCiAqLw0KLyoNClJTRFQ6IExlbmd0aD03MiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjE1LA0K
CU9FTUlEPUZVSiwgT0VNIFRhYmxlIElEPVBDLCBPRU0gUmV2aXNpb249MHgxMTMwMDAwLA0KCUNy
ZWF0b3IgSUQ9RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQoJRW50cmllcz17
IDB4M2Y2NjhmOGMsIDB4M2Y2NjgxNzAsIDB4M2Y2NjgxYWMsIDB4M2Y2Njg2ODgsIDB4M2Y2Njhi
MDcsIDB4M2Y2NjhkNWMsIDB4M2Y2NjhkYjYsIDB4M2Y2NjhkZWUsIDB4M2Y2NjhlMTYgfQ0KICov
DQovKg0KCURTRFQ9MHgzZjY2MjZkOA0KCUlOVF9NT0RFTD1QSUMNCglTQ0lfSU5UPTkNCglTTUlf
Q01EPTB4YjIsIEFDUElfRU5BQkxFPTB4ZjAsIEFDUElfRElTQUJMRT0weGYxLCBTNEJJT1NfUkVR
PTB4MA0KCVBNMWFfRVZUX0JMSz0weDEwMDAtMHgxMDAzDQoJUE0xYV9DTlRfQkxLPTB4MTAwNC0w
eDEwMDUNCglQTTJfQ05UX0JMSz0weDEwMjAtMHgxMDIwDQoJUE0yX1RNUl9CTEs9MHgxMDA4LTB4
MTAwYg0KCVBNMl9HUEUwX0JMSz0weDEwMjgtMHgxMDJmDQoJUF9MVkwyX0xBVD0xbXMsIFBfTFZM
M19MQVQ9MTAwbXMNCglGTFVTSF9TSVpFPTAsIEZMVVNIX1NUUklERT0wDQoJRFVUWV9PRkZTRVQ9
MCwgRFVUWV9XSURUSD0wDQoJREFZX0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9NTANCglG
bGFncz17V0JJTlZELFBST0NfQzEsU0xQX0JVVFRPTixSVENfUzR9DQogKi8NCi8qDQpEU0RUOiBM
ZW5ndGg9MjMxOTIsIFJldmlzaW9uPTEsIENoZWNrc3VtPTM3LA0KCU9FTUlEPUZVSiwgT0VNIFRh
YmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRvciBJRD1NU0ZU
LCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwMDAwZQ0KICovDQpEZWZpbml0aW9uQmxvY2sgKCJhY3Bp
X2RzdC5hbWwiLCAiRFNEVCIsIDB4MSwgIkZVSiIsICJGSk5CMUM1IiwgMHgxMTMwMDAwKQ0Kew0K
TmFtZShCSURULCBCdWZmZXIoMHgxMCkgezB4MCwgMHgxLCAweDIsIDB4MywgMHgwLCAweDAsIDB4
MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCB9KQ0KTmFtZShC
TU5ULCBQYWNrYWdlKDB4MDQpIHsNCiAgICAiQ1AyMjk3MjBceDIwXHgyZlx4MjBDUDIyOTcyMSIs
DQogICAgIkNQMjI5NzI1XHgyMFx4MmZceDIwQ1AyMjk3MjYiLA0KICAgICJDUDI0MDUwMSIsDQog
ICAgIkNQMjQwNTE3IiwNCn0pDQpOYW1lKEJNU1QsIFBhY2thZ2UoMHgwNCkgew0KICAgICJDUDIy
OTcyMCIsDQogICAgIkNQMjI5NzI1IiwNCiAgICAiQ1AyNDA1MDEiLA0KICAgICJDUDI0MDUxNyIs
DQp9KQ0KU2NvcGUoXF9QUikgew0KICAgIFByb2Nlc3NvcihDUFUwLCAwLCAweDEwMTAsIDB4Nikg
ew0KICAgIH0NCiAgICBQcm9jZXNzb3IoQ1BVMSwgMSwgMHgxMDEwLCAweDYpIHsNCiAgICB9DQp9
DQpTY29wZShcX1NCKSB7DQogICAgTmFtZShPU1RCLCBPbmVzKQ0KICAgIE9wZXJhdGlvblJlZ2lv
bihPU1RZLCBTeXN0ZW1NZW1vcnksIDB4M2Y2NjllZjYsIDB4MDAwMDAwMDEpDQogICAgRmllbGQo
T1NUWSwgQW55QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgIFRQT1MsCTgNCiAgICB9
DQogICAgTWV0aG9kKE9TVFApIHsNCiAgICAgICAgSWYoTEVxdWFsKF5PU1RCLCBPbmVzKSkgew0K
ICAgICAgICAgICAgSWYoQ29uZFJlZk9mKFxfT1NJLCBMb2NhbDApKSB7DQogICAgICAgICAgICAg
ICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAwNiIpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4NDAsIF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQwLCBeVFBPUykN
CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
ICAgICAgIElmKFxfT1NJKCJXaW5kb3dzXHgyMDIwMDEuMSIpKSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICBTdG9yZSgweDIwLCBeT1NUQikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
KDB4MjAsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAw
MVx4MjBTUDEiKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTAsIF5P
U1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTAsIF5UUE9TKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoXF9PU0koIldpbmRvd3NceDIwMjAwMSIpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDgsIF5PU1RCKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDA4LCBeVFBPUykNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIF5PU1RCKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBeVFBPUykNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAg
ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBJZihDb25kUmVmT2YoXF9PUywgTG9jYWwwKSkg
ew0KICAgICAgICAgICAgICAgICAgICBJZiheU0VRTChcX09TLCAiTWljcm9zb2Z0XHgyMFdpbmRv
d3MiKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgXk9TVEIpDQogICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBeVFBPUykNCiAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
IElmKF5TRVFMKFxfT1MsICJNaWNyb3NvZnRceDIwV2luZG93c01FXHgzYVx4MjBNaWxsZW5uaXVt
XHgyMEVkaXRpb24iKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDIs
IF5PU1RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDIsIF5UUE9TKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoXlNFUUwoXF9PUywgIk1pY3Jvc29mdFx4
MjBXaW5kb3dzXHgyME5UIikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoMHgwNCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
MDQsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoMHgwMCwgXk9TVEIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
MDAsIF5UUE9TKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgXk9T
VEIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIF5UUE9TKQ0KICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBSZXR1cm4oXk9TVEIpDQog
ICAgfQ0KICAgIE1ldGhvZChTRVFMLCAyLCBTZXJpYWxpemVkKSB7DQogICAgICAgIFN0b3JlKFNp
emVPZihBcmcwKSwgTG9jYWwwKQ0KICAgICAgICBTdG9yZShTaXplT2YoQXJnMSksIExvY2FsMSkN
CiAgICAgICAgSWYoTE5vdChMRXF1YWwoTG9jYWwwLCBMb2NhbDEpKSkgew0KICAgICAgICAgICAg
UmV0dXJuKFplcm8pDQogICAgICAgIH0NCiAgICAgICAgTmFtZShCVUYwLCBCdWZmZXIoTG9jYWww
KSB7IH0pDQogICAgICAgIFN0b3JlKEFyZzAsIEJVRjApDQogICAgICAgIE5hbWUoQlVGMSwgQnVm
ZmVyKExvY2FsMCkgeyB9KQ0KICAgICAgICBTdG9yZShBcmcxLCBCVUYxKQ0KICAgICAgICBTdG9y
ZShaZXJvLCBMb2NhbDIpDQogICAgICAgIFdoaWxlKExMZXNzKExvY2FsMiwgTG9jYWwwKSkgew0K
ICAgICAgICAgICAgU3RvcmUoRGVyZWZPZihJbmRleChCVUYwLCBMb2NhbDIsICkpLCBMb2NhbDMp
DQogICAgICAgICAgICBTdG9yZShEZXJlZk9mKEluZGV4KEJVRjEsIExvY2FsMiwgKSksIExvY2Fs
NCkNCiAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMywgTG9jYWw0KSkpIHsNCiAgICAg
ICAgICAgICAgICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEluY3Jl
bWVudChMb2NhbDIpDQogICAgICAgIH0NCiAgICAgICAgUmV0dXJuKE9uZSkNCiAgICB9DQp9DQpO
YW1lKEZXU08sIFplcm8pDQpOYW1lKFJQRU4sIFplcm8pDQpOYW1lKFJQRFMsIFplcm8pDQpOYW1l
KEVYSVMsIDB4ZmYpDQpOYW1lKFBMV00sIFplcm8pDQpOYW1lKFBUQUwsIFplcm8pDQpOYW1lKEVD
Q0ksIDB4MDMpDQpOYW1lKEdJTlQsIFplcm8pDQpOYW1lKFJHU0ksIDB4MTgpDQpOYW1lKExJRFMs
IFplcm8pDQpOYW1lKFZTVEgsIFplcm8pDQpOYW1lKEhEV0EsIFplcm8pDQpOYW1lKFxHUElDLCAw
eDAwKQ0KTWV0aG9kKFxfUElDLCAxKSB7DQogICAgU3RvcmUoQXJnMCwgR1BJQykNCn0NClNjb3Bl
KFxfU0IpIHsNCiAgICBPcGVyYXRpb25SZWdpb24oUFNJTywgU3lzdGVtSU8sIDB4MDAwMDBmNDAs
IDB4MDAwMDAwMDIpDQogICAgT3BlcmF0aW9uUmVnaW9uKFBTQkYsIFN5c3RlbU1lbW9yeSwgMHgz
ZjY2OWU2NiwgMHgwMDAwMDA5MCkNCiAgICBPcGVyYXRpb25SZWdpb24oT0VNVCwgU3lzdGVtTWVt
b3J5LCAweDNmNjY5ZjljLCAweDAwMDAwMDIwKQ0KICAgIE9wZXJhdGlvblJlZ2lvbihTWVNDLCBT
eXN0ZW1NZW1vcnksIDB4M2Y2NjlmOTIsIDB4MDAwMDAwMGEpDQogICAgT3BlcmF0aW9uUmVnaW9u
KFZERVgsIFN5c3RlbU1lbW9yeSwgMHgzZjY2OWU1NiwgMHgwMDAwMDAxMCkNCiAgICBPcGVyYXRp
b25SZWdpb24oVEhaTiwgU3lzdGVtTWVtb3J5LCAweDNmNjY5ZjgyLCAweDAwMDAwMDEwKQ0KICAg
IE9wZXJhdGlvblJlZ2lvbihCVE5DLCBTeXN0ZW1NZW1vcnksIDB4M2Y2NjlmNzIsIDB4MDAwMDAw
MTApDQogICAgT3BlcmF0aW9uUmVnaW9uKFZJU1QsIFN5c3RlbU1lbW9yeSwgMHgzZjY2OTYwYywg
MHgwMDAwMDg0YSkNCiAgICBPcGVyYXRpb25SZWdpb24oUUJDLCBTeXN0ZW1NZW1vcnksIDB4M2Y2
NjlmNjYsIDB4MDAwMDAwMGMpDQogICAgT3BlcmF0aW9uUmVnaW9uKFRDRzEsIFN5c3RlbU1lbW9y
eSwgMHgzZjY2OTYwOCwgMHgwMDAwMDAwNCkNCiAgICBPcGVyYXRpb25SZWdpb24oSU84MCwgU3lz
dGVtSU8sIDB4ODAsIDB4MDEpDQogICAgU2NvcGUoXCkgew0KICAgICAgICBGaWVsZChcX1NCLlBT
SU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFNTTUksCTgNCiAg
ICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlBTQkYsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy
dmUpIHsNCiAgICAgICAgICAgIENNRCwJOCwNCiAgICAgICAgICAgIERWSUQsCTMyLA0KICAgICAg
ICAgICAgUFNEVCwJMzINCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlBTQkYsIEJ5dGVB
Y2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIE9mZnNldCgweDUpLA0KICAgICAg
ICAgICAgSU5GLAk4DQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5PRU1ULCBCeXRlQWNj
LCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICBTUEFGLAkyLA0KICAgICAgICAgICAg
U1BCRiwJMiwNCiAgICAgICAgICAgIFBQRiwJMywNCiAgICAgICAgICAgIEZEQ0YsCTEsDQogICAg
ICAgICAgICBTSURGLAkyLA0KICAgICAgICAgICAgSU1URiwJMSwNCiAgICAgICAgICAgIEJMRU4s
CTEsDQogICAgICAgICAgICBXTEVOLAkxLA0KICAgICAgICAgICAgQlRFWCwJMSwNCiAgICAgICAg
ICAgIE9mZnNldCgweDQpLA0KICAgICAgICAgICAgV0FQQiwJMSwNCiAgICAgICAgICAgIE9mZnNl
dCgweDgpLA0KICAgICAgICAgICAgRldITSwJMSwNCiAgICAgICAgICAgICwJMSwNCiAgICAgICAg
ICAgIFRQTUYsCTIsDQogICAgICAgICAgICBGU0NNLAkxLA0KICAgICAgICAgICAgUlBDUCwJMSwN
CiAgICAgICAgICAgIFRCUEMsCTEsDQogICAgICAgICAgICBBUzM0LAkxLA0KICAgICAgICAgICAg
QklGTCwJOCwNCiAgICAgICAgICAgIERDTFcsCTcsDQogICAgICAgICAgICBPZmZzZXQoMHgxMCks
DQogICAgICAgICAgICBGRFMwLAk0LA0KICAgICAgICAgICAgRkRTMSwJNCwNCiAgICAgICAgICAg
IE9mZnNldCgweDE4KSwNCiAgICAgICAgICAgIFVNU1QsCTMyLA0KICAgICAgICAgICAgVU1TWiwJ
MzINCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlNZU0MsIEJ5dGVBY2MsIE5vTG9jaywg
UHJlc2VydmUpIHsNCiAgICAgICAgICAgIEJIS0YsCTEsDQogICAgICAgICAgICAsCTIsDQogICAg
ICAgICAgICBNSEtGLAkxLA0KICAgICAgICAgICAgT2Zmc2V0KDB4MSksDQogICAgICAgICAgICBC
TExNLAk4LA0KICAgICAgICAgICAgQkxMVCwJNjQNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChc
X1NCLlNZU0MsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIEFIS0Ys
CTgNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlZERVgsIEJ5dGVBY2MsIE5vTG9jaywg
UHJlc2VydmUpIHsNCiAgICAgICAgICAgIEFET1MsCTMsDQogICAgICAgICAgICBDTENELAkxLA0K
ICAgICAgICAgICAgQUxDRCwJMSwNCiAgICAgICAgICAgIENDUlQsCTEsDQogICAgICAgICAgICBB
Q1JULAkxLA0KICAgICAgICAgICAgQ1RWLAkxLA0KICAgICAgICAgICAgQVRWLAkxLA0KICAgICAg
ICAgICAgQ0RWSSwJMSwNCiAgICAgICAgICAgIEFEVkksCTEsDQogICAgICAgICAgICBEU1dGLAky
LA0KICAgICAgICAgICAgQlNXRiwJMg0KICAgICAgICB9DQogICAgICAgIEZpZWxkKFxfU0IuVEha
TiwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgRFRTMSwJOCwNCiAg
ICAgICAgICAgIERUUzIsCTgsDQogICAgICAgICAgICBDUlRULAk4LA0KICAgICAgICAgICAgUFNW
VCwJOCwNCiAgICAgICAgICAgIFRDMVYsCTQsDQogICAgICAgICAgICBUQzJWLAk0LA0KICAgICAg
ICAgICAgVFNQViwJNCwNCiAgICAgICAgICAgIE1QRU4sCTEsDQogICAgICAgICAgICBEVFNFLAkx
DQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5CVE5DLCBCeXRlQWNjLCBOb0xvY2ssIFBy
ZXNlcnZlKSB7DQogICAgICAgICAgICBJUkJGLAkxLA0KICAgICAgICAgICAgLAk2LA0KICAgICAg
ICAgICAgTkdURiwJMSwNCiAgICAgICAgICAgIE9mZnNldCgweDQpLA0KICAgICAgICAgICAgSVJC
QywJMTYNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLlFCQywgQnl0ZUFjYywgTm9Mb2Nr
LCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgUUFHMSwJMzIsDQogICAgICAgICAgICBRQUcyLAkz
MiwNCiAgICAgICAgICAgIFFBRzMsCTMyDQogICAgICAgIH0NCiAgICAgICAgRmllbGQoXF9TQi5U
Q0cxLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFBQUlEsCTgsDQog
ICAgICAgICAgICBQUExPLAk4LA0KICAgICAgICAgICAgUFBSUCwJOCwNCiAgICAgICAgICAgIFBQ
T1IsCTgNCiAgICAgICAgfQ0KICAgICAgICBGaWVsZChcX1NCLklPODAsIEJ5dGVBY2MsIE5vTG9j
aywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgIFBPODAsCTgNCiAgICAgICAgfQ0KICAgIH0NCiAg
ICBNZXRob2QoX0lOSSkgew0KICAgICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQw
KSkpIHsNCiAgICAgICAgICAgIExvYWQoVklTVCwgVlNUSCkNCiAgICAgICAgfQ0KICAgIH0NCiAg
ICBEZXZpY2UoTUNGRykgew0KICAgICAgICBOYW1lKF9ISUQsIDB4MDIwY2QwNDEpDQogICAgICAg
IE5hbWUoX0NSUywgQnVmZmVyKDB4MWMpIHsweDg3LCAweDE3LCAweDAsIDB4MCwgMHhkLCAweDEs
IDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhmOCwgMHhmZiwgMHhmZiwgMHhm
ZiwgMHhmYiwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQsIDB4NzksIDB4
MA0KICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgMHgwMDAwICBEV29y
ZE1lbW9yeShSZXNvdXJjZUNvbnN1bWVyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwg
Tm9uQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhmODAwMDAwMCwgMHhmYmZmZmZmZiwgMHgw
LCAweDQwMDAwMDAsIDEyMSwgJycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAg
ICAgICAgfSAqLw0KICAgICAgICAgfSkNCiAgICB9DQogICAgRGV2aWNlKFBDSTApIHsNCiAgICAg
ICAgTmFtZShfSElELCAweDA4MGFkMDQxKQ0KICAgICAgICBOYW1lKF9DSUQsIDB4MDMwYWQwNDEp
DQogICAgICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgTmFtZShfQkJOLCAweDAwKQ0KICAg
ICAgICBPcGVyYXRpb25SZWdpb24oSEJVUywgUENJX0NvbmZpZywgMHg0MCwgMHhjMCkNCiAgICAg
ICAgRmllbGQoSEJVUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAg
IE9mZnNldCgweDUwKSwNCiAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgIFBNMEgsCTIsDQog
ICAgICAgICAgICBPZmZzZXQoMHg1MSksDQogICAgICAgICAgICBQTTFMLAkyLA0KICAgICAgICAg
ICAgLAkyLA0KICAgICAgICAgICAgUE0xSCwJMiwNCiAgICAgICAgICAgIE9mZnNldCgweDUyKSwN
CiAgICAgICAgICAgIFBNMkwsCTIsDQogICAgICAgICAgICAsCTIsDQogICAgICAgICAgICBQTTJI
LAkyLA0KICAgICAgICAgICAgT2Zmc2V0KDB4NTMpLA0KICAgICAgICAgICAgUE0zTCwJMiwNCiAg
ICAgICAgICAgICwJMiwNCiAgICAgICAgICAgIFBNM0gsCTIsDQogICAgICAgICAgICBPZmZzZXQo
MHg1NCksDQogICAgICAgICAgICBQTTRMLAkyLA0KICAgICAgICAgICAgLAkyLA0KICAgICAgICAg
ICAgUE00SCwJMiwNCiAgICAgICAgICAgIE9mZnNldCgweDU1KSwNCiAgICAgICAgICAgIFBNNUws
CTIsDQogICAgICAgICAgICAsCTIsDQogICAgICAgICAgICBQTTVILAkyLA0KICAgICAgICAgICAg
T2Zmc2V0KDB4NTYpLA0KICAgICAgICAgICAgUE02TCwJMiwNCiAgICAgICAgICAgICwJMiwNCiAg
ICAgICAgICAgIFBNNkgsCTIsDQogICAgICAgICAgICBPZmZzZXQoMHg1NyksDQogICAgICAgICAg
ICAsCTcsDQogICAgICAgICAgICBIRU5BLAkxLA0KICAgICAgICAgICAgT2Zmc2V0KDB4NWMpLA0K
ICAgICAgICAgICAgLAkzLA0KICAgICAgICAgICAgVE9VRCwJNQ0KICAgICAgICB9DQogICAgICAg
IE5hbWUoQlVGMCwgQnVmZmVyKDB4MDFlZSkgezB4ODgsIDB4ZCwgMHgwLCAweDIsIDB4YywgMHgw
LCAweDAsIDB4MCwgMHgwLCAweDAsIDB4ZmYsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgxLCAweDg3
LCAweDE3LCAweDAsIDB4MSwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAs
IDB4MCwgMHgwLCAweGY3LCAweGMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4Zjgs
IDB4YywgMHgwLCAweDAsIDB4NDcsIDB4MSwgMHhmOCwgMHhjLCAweGY4LCAweGMsIDB4MSwgMHg4
LCAweDg3LCAweDE3LCAweDAsIDB4MSwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
LCAweGQsIDB4MCwgMHgwLCAweGZmLCAweGZmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
LCAweDAsIDB4ZjMsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAweDMsIDB4
MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YSwgMHgwLCAweGZmLCAweGZmLCAweGIsIDB4
MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgyLCAweDAsIDB4ODcsIDB4MTcsIDB4
MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjLCAweDAs
IDB4ZmYsIDB4M2YsIDB4YywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgw
LCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgw
LCAweDAsIDB4NDAsIDB4YywgMHgwLCAweGZmLCAweDdmLCAweGMsIDB4MCwgMHgwLCAweDAsIDB4
MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAw
eDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDgwLCAweGMsIDB4MCwgMHhmZiwgMHhiZiwg
MHhjLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4Nywg
MHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjMCwg
MHhjLCAweDAsIDB4ZmYsIDB4ZmYsIDB4YywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwg
MHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAs
IDB4MCwgMHgwLCAweDAsIDB4MCwgMHhkLCAweDAsIDB4ZmYsIDB4M2YsIDB4ZCwgMHgwLCAweDAs
IDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgw
LCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4ZCwgMHgwLCAweGZm
LCAweDdmLCAweGQsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgw
LCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhjLCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgw
LCAweDgwLCAweGQsIDB4MCwgMHhmZiwgMHhiZiwgMHhkLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4
MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4NywgMHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAw
eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhjMCwgMHhkLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZCwg
MHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcs
IDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhlLCAw
eDAsIDB4ZmYsIDB4M2YsIDB4ZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHg0MCwg
MHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwg
MHgwLCAweDAsIDB4NDAsIDB4ZSwgMHgwLCAweGZmLCAweDdmLCAweGUsIDB4MCwgMHgwLCAweDAs
IDB4MCwgMHgwLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg3LCAweDE3LCAweDAsIDB4MCwgMHhj
LCAweDMsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDgwLCAweGUsIDB4MCwgMHhmZiwgMHhi
ZiwgMHhlLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDQwLCAweDAsIDB4MCwgMHg4
NywgMHgxNywgMHgwLCAweDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhj
MCwgMHhlLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4
MCwgMHg0MCwgMHgwLCAweDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAw
eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhmLCAweDAsIDB4ZmYsIDB4ZmYsIDB4ZiwgMHgwLCAw
eDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDEsIDB4MCwgMHg4NywgMHgxNywgMHgwLCAw
eDAsIDB4YywgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhm
ZiwgMHhmZiwgMHhiZiwgMHhmZSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAw
eDAsIDB4ODcsIDB4MTcsIDB4MCwgMHgwLCAweGMsIDB4MywgMHgwLCAweDAsIDB4MCwgMHgwLCAw
eDAsIDB4MCwgMHhkNCwgMHhmZSwgMHhmZiwgMHg0ZiwgMHhkNCwgMHhmZSwgMHgwLCAweDAsIDB4
MCwgMHgwLCAweDAsIDB4NTAsIDB4MCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgLyogUmVzb3Vy
Y2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgIDB4MDAwMCAgV29yZEJ1cyhSZXNvdXJjZVByb2R1Y2Vy
LCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgMHgwLCAweDAsIDB4ZmYsIDB4MCwgMHgx
MDAsIDEzNSwgJxcnKQ0KICAgICAgICAgMHgwMDEwICBEV29yZElPKFJlc291cmNlUHJvZHVjZXIs
IE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBFbnRpcmVSYW5nZSwgMHgwLCAweDAsIDB4
Y2Y3LCAweDAsIDB4Y2Y4LCA3MSwgJwH4DPgMAQjChxcnLCBUeXBlU3RhdGljLCBEZW5zZVRyYW5z
bGF0aW9uKQ0KICAgICAgICAgMHgwMDJhICBJTyhEZWNvZGUxNiwgMHhjZjgsIDB4Y2Y4LCAweDEs
IDB4OCkNCiAgICAgICAgIDB4MDAzMiAgRFdvcmRJTyhSZXNvdXJjZVByb2R1Y2VyLCBNaW5GaXhl
ZCwgTWF4Rml4ZWQsIFBvc0RlY29kZSwgRW50aXJlUmFuZ2UsIDB4MCwgMHhkMDAsIDB4ZmZmZiwg
MHgwLCAweGYzMDAsIDEzNSwgJxcnLCBUeXBlU3RhdGljLCBEZW5zZVRyYW5zbGF0aW9uKQ0KICAg
ICAgICAgMHgwMDRjICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhhMDAwMCwgMHhi
ZmZmZiwgMHgwLCAweDIwMDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3Rh
dGljKQ0KICAgICAgICAgMHgwMDY2ICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NE
ZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhj
MDAwMCwgMHhjM2ZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnks
IFR5cGVTdGF0aWMpDQogICAgICAgICAweDAwODAgIERXb3JkTWVtb3J5KFJlc291cmNlUHJvZHVj
ZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwg
MHgwLCAweGM0MDAwLCAweGM3ZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAnFycsIEFkZHJlc3NSYW5n
ZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDA5YSAgRFdvcmRNZW1vcnkoUmVzb3Vy
Y2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVh
ZFdyaXRlLCAweDAsIDB4YzgwMDAsIDB4Y2JmZmYsIDB4MCwgMHg0MDAwLCAxMzUsICcXJywgQWRk
cmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgwMGI0ICBEV29yZE1lbW9y
eShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVh
YmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhjYzAwMCwgMHhjZmZmZiwgMHgwLCAweDQwMDAsIDEzNSwg
JxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpDQogICAgICAgICAweDAwY2UgIERX
b3JkTWVtb3J5KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVk
LCBDYWNoZWFibGUsIFJlYWRXcml0ZSwgMHgwLCAweGQwMDAwLCAweGQzZmZmLCAweDAsIDB4NDAw
MCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4
MDBlOCAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwg
TWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZDQwMDAsIDB4ZDdmZmYsIDB4
MCwgMHg0MDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAg
ICAgICAgMHgwMTAyICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhkODAwMCwgMHhk
YmZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRyZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0
aWMpDQogICAgICAgICAweDAxMWMgIERXb3JkTWVtb3J5KFJlc291cmNlUHJvZHVjZXIsIFBvc0Rl
Y29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwgMHgwLCAweGRj
MDAwLCAweGRmZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwg
VHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDEzNiAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNl
ciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAw
eDAsIDB4ZTAwMDAsIDB4ZTNmZmYsIDB4MCwgMHg0MDAwLCAxMzUsICcXJywgQWRkcmVzc1Jhbmdl
TWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgwMTUwICBEV29yZE1lbW9yeShSZXNvdXJj
ZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFk
V3JpdGUsIDB4MCwgMHhlNDAwMCwgMHhlN2ZmZiwgMHgwLCAweDQwMDAsIDEzNSwgJxcnLCBBZGRy
ZXNzUmFuZ2VNZW1vcnksIFR5cGVTdGF0aWMpDQogICAgICAgICAweDAxNmEgIERXb3JkTWVtb3J5
KFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFi
bGUsIFJlYWRXcml0ZSwgMHgwLCAweGU4MDAwLCAweGViZmZmLCAweDAsIDB4NDAwMCwgMTM1LCAn
FycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykNCiAgICAgICAgIDB4MDE4NCAgRFdv
cmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQs
IENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZWMwMDAsIDB4ZWZmZmYsIDB4MCwgMHg0MDAw
LCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAgICAgICAgMHgw
MTllICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBN
YXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHhmMDAwMCwgMHhmZmZmZiwgMHgw
LCAweDEwMDAwLCAxMzUsICcXJywgQWRkcmVzc1JhbmdlTWVtb3J5LCBUeXBlU3RhdGljKQ0KICAg
ICAgICAgMHgwMWI4ICBEV29yZE1lbW9yeShSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1p
bkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsIDB4MCwgMHgwLCAweGZlYmZm
ZmZmLCAweDAsIDB4MCwgMTM1LCAnFycsIEFkZHJlc3NSYW5nZU1lbW9yeSwgVHlwZVN0YXRpYykN
CiAgICAgICAgIDB4MDFkMiAgRFdvcmRNZW1vcnkoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2Rl
LCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLCAweDAsIDB4ZmVkNDAw
MDAsIDB4ZmVkNDRmZmYsIDB4MCwgMHg1MDAwLCAxMjEsICcnLCBBZGRyZXNzUmFuZ2VNZW1vcnks
IFR5cGVTdGF0aWMpDQogICAgICAgIH0gKi8NCiAgICAgICAgIH0pDQogICAgICAgIE1ldGhvZChf
Q1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBJZihQTTFMKSB7DQogICAgICAgICAg
ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDdjLCBDMExOKQ0KICAgICAgICAgICAgICAg
IFN0b3JlKFplcm8sIEMwTE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwo
UE0xTCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDAz
NTgsIEMwUlcpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQzBSVykNCiAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIElmKFBNMUgpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp
ZWxkKEJVRjAsIDB4OTYsIEM0TE4pDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQzRMTikN
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChQTTFILCAweDAxKSkgew0KICAg
ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4MDQyOCwgQzRSVykNCiAgICAgICAg
ICAgICAgICBTdG9yZShaZXJvLCBDNFJXKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYo
UE0yTCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHhiMCwgQzhM
TikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBDOExOKQ0KICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgSWYoTEVxdWFsKFBNMkwsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgQ3JlYXRl
Qml0RmllbGQoQlVGMCwgMHgwNGY4LCBDOFJXKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
IEM4UlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTJIKSB7DQogICAgICAgICAg
ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweGNhLCBDQ0xOKQ0KICAgICAgICAgICAgICAg
IFN0b3JlKFplcm8sIENDTE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwo
UE0ySCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDA1
YzgsIENDUlcpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQ0NSVykNCiAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIElmKFBNM0wpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZp
ZWxkKEJVRjAsIDB4ZTQsIEQwTE4pDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRDBMTikN
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChQTTNMLCAweDAxKSkgew0KICAg
ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4MDY5OCwgRDBSVykNCiAgICAgICAg
ICAgICAgICBTdG9yZShaZXJvLCBEMFJXKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYo
UE0zSCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHhmZSwgRDRM
TikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBENExOKQ0KICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgSWYoTEVxdWFsKFBNM0gsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgQ3JlYXRl
Qml0RmllbGQoQlVGMCwgMHgwNzY4LCBENFJXKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
IEQ0UlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTRMKSB7DQogICAgICAgICAg
ICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxMTgsIEQ4TE4pDQogICAgICAgICAgICAg
ICAgU3RvcmUoWmVybywgRDhMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVh
bChQTTRMLCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJVRjAsIDB4
MDgzOCwgRDhSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEOFJXKQ0KICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgSWYoUE00SCkgew0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk
RmllbGQoQlVGMCwgMHgwMTMyLCBEQ0xOKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIERD
TE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoUE00SCwgMHgwMSkpIHsN
CiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDA5MDgsIERDUlcpDQogICAg
ICAgICAgICAgICAgU3RvcmUoWmVybywgRENSVykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAg
IElmKFBNNUwpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4MDE0
YywgRTBMTikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFMExOKQ0KICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgSWYoTEVxdWFsKFBNNUwsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAg
Q3JlYXRlQml0RmllbGQoQlVGMCwgMHgwOWQ4LCBFMFJXKQ0KICAgICAgICAgICAgICAgIFN0b3Jl
KFplcm8sIEUwUlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTVIKSB7DQogICAg
ICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxNjYsIEU0TE4pDQogICAgICAg
ICAgICAgICAgU3RvcmUoWmVybywgRTRMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElm
KExFcXVhbChQTTVILCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkKEJV
RjAsIDB4MGFhOCwgRTRSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFNFJXKQ0KICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgSWYoUE02TCkgew0KICAgICAgICAgICAgICAgIENyZWF0
ZURXb3JkRmllbGQoQlVGMCwgMHgwMTgwLCBFOExOKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFpl
cm8sIEU4TE4pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoUE02TCwgMHgw
MSkpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVCaXRGaWVsZChCVUYwLCAweDBiNzgsIEU4Ulcp
DQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRThSVykNCiAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgIElmKFBNNkgpIHsNCiAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAs
IDB4MDE5YSwgRUNMTikNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFQ0xOKQ0KICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgSWYoTEVxdWFsKFBNNkgsIDB4MDEpKSB7DQogICAgICAgICAg
ICAgICAgQ3JlYXRlQml0RmllbGQoQlVGMCwgMHgwYzQ4LCBFQ1JXKQ0KICAgICAgICAgICAgICAg
IFN0b3JlKFplcm8sIEVDUlcpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBJZihQTTBIKSB7
DQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAxYjQsIEYwTE4pDQog
ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRjBMTikNCiAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgIElmKExFcXVhbChQTTBILCAweDAxKSkgew0KICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZp
ZWxkKEJVRjAsIDB4MGQxOCwgRjBSVykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGMFJX
KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDAx
YzIsIE0xTU4pDQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4MDFjNiwgTTFN
WCkNCiAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQoQlVGMCwgMHgwMWNlLCBNMUxOKQ0KICAg
ICAgICAgICAgU2hpZnRMZWZ0KFRPVUQsIDB4MWIsIE0xTU4pDQogICAgICAgICAgICBBZGQoU3Vi
dHJhY3QoTTFNWCwgTTFNTiwgKSwgMHgwMSwgTTFMTikNCiAgICAgICAgICAgIENyZWF0ZURXb3Jk
RmllbGQoQlVGMCwgMHgwMWRjLCBUUE1OKQ0KICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChC
VUYwLCAweDAxZTAsIFRQTVgpDQogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkKEJVRjAsIDB4
MDFlOCwgVFBNTCkNCiAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKFRQTUYsIDB4MDIpKSkgew0K
ICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFRQTU4pDQogICAgICAgICAgICAgICAgU3RvcmUo
WmVybywgVFBNWCkNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBUUE1MKQ0KICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgUmV0dXJuKEJVRjApDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9k
KF9QUlQpIHsNCiAgICAgICAgICAgIElmKEdQSUMpIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4o
UGFja2FnZSgweDEwKSB7DQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgMHgwMDAxZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
IDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDJmZmZmLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs
DQogICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAgICAgICAgICAgICB9LA0K
ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAwN2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTAsDQogICAg
ICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFiZmZmZiwNCiAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAg
ICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAg
ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZmLA0K
ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4
MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDE2LA0KICAgICAgICAgICAgICAgICAgICB9
LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDAxY2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTUsDQog
ICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFjZmZmZiwNCiAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgMHgxNCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAg
ICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZm
LA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAg
IDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAgICAgICAgICAg
ICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MTcs
DQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgw
NCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFkZmZmZiwNCiAgICAgICAgICAgICAg
ICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgMHgxNCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAg
ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRm
ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAgICAgICAgICAgICAg
ICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAzLA0K
ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4
MTAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2Uo
MHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFlZmZmZiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAg
ICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAw
MWVmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAweDExLA0KICAgICAgICAgICAg
ICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAxZmZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAw
LA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAg
IDB4MTIsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2th
Z2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFmZmZmZiwNCiAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgMHgxMywNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAg
ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAg
ICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgxMCkgew0KICAgICAgICAgICAgICAgICAgICBQYWNr
YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMWZmZmYsDQogICAgICAg
ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kw
LkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAg
ICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgMHgwMDAyZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs
DQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktBLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAg
ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMDdm
ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAg
ICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0K
ICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxYmZmZmYsDQogICAgICAgICAgICAgICAg
ICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5L
QiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0s
DQogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgMHgwMDFjZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAg
ICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktHLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWNmZmZmLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu
UENJMC5MUENCLkxOS0YsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAg
ICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDAxY2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAw
eDAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwNCiAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAg
ICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw
MDFjZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAg
ICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktELA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgw
MCwNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgw
eDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRmZmZmLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENC
LkxOS0gsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAg
ICB9LA0KICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgIDB4MDAxZGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRSwNCiAgICAgICAgICAgICAg
ICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAg
ICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFkZmZmZiwN
CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICBc
X1NCLlBDSTAuTFBDQi5MTktDLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAg
ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAweDAwMWRmZmZmLA0KICAgICAgICAgICAgICAgICAgICAg
ICAgMHgwMywNCiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQog
ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAg
ICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
IDB4MDAxZWZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRywNCiAgICAgICAgICAgICAgICAgICAgICAg
IDB4MDAsDQogICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIFBhY2th
Z2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFlZmZmZiwNCiAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu
TFBDQi5MTktFLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAg
ICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAweDAwMWZmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
CiAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0MsDQogICAgICAgICAg
ICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAg
ICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxZmZm
ZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAg
ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRCwNCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQog
ICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0N
CiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoTUJJTykgew0KICAgICAgICAgICAgTmFtZShfSElE
LCAweDAyMGNkMDQxKQ0KICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgICAg
ICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE5hbWUoUlNSQywgQnVm
ZmVyKDB4MDFhNikgezB4NDcsIDB4MSwgMHgxMCwgMHgwLCAweDEwLCAweDAsIDB4MSwgMHgxMCwg
MHg0NywgMHgxLCAweDI0LCAweDAsIDB4MjQsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgy
OCwgMHgwLCAweDI4LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4MmMsIDB4MCwgMHgyYywg
MHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweDJlLCAweDAsIDB4MmUsIDB4MCwgMHgxLCAweDIs
IDB4NDcsIDB4MSwgMHgzMCwgMHgwLCAweDMwLCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4
MzQsIDB4MCwgMHgzNCwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweDM4LCAweDAsIDB4Mzgs
IDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgzYywgMHgwLCAweDNjLCAweDAsIDB4MSwgMHgy
LCAweDQ3LCAweDEsIDB4NTAsIDB4MCwgMHg1MCwgMHgwLCAweDEsIDB4NCwgMHg0NywgMHgxLCAw
eDcyLCAweDAsIDB4NzIsIDB4MCwgMHgxLCAweDYsIDB4NDcsIDB4MSwgMHg4MCwgMHgwLCAweDgw
LCAweDAsIDB4MSwgMHgxLCAweDQ3LCAweDEsIDB4OTAsIDB4MCwgMHg5MCwgMHgwLCAweDEsIDB4
MTAsIDB4NDcsIDB4MSwgMHhhNCwgMHgwLCAweGE0LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEs
IDB4YTgsIDB4MCwgMHhhOCwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgxLCAweGFjLCAweDAsIDB4
YWMsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHhiMCwgMHgwLCAweGIwLCAweDAsIDB4MSwg
MHgyLCAweDQ3LCAweDEsIDB4YjIsIDB4MCwgMHhiMiwgMHgwLCAweDEsIDB4MiwgMHg0NywgMHgx
LCAweGI0LCAweDAsIDB4YjQsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHhiOCwgMHgwLCAw
eGI4LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4YmMsIDB4MCwgMHhiYywgMHgwLCAweDEs
IDB4MiwgMHg0NywgMHgxLCAweGQwLCAweDQsIDB4ZDAsIDB4NCwgMHgxLCAweDIsIDB4NDcsIDB4
MSwgMHgwLCAweDgsIDB4MCwgMHg4LCAweDEsIDB4MTAsIDB4NDcsIDB4MSwgMHgwLCAweDEwLCAw
eDAsIDB4MTAsIDB4MSwgMHg4MCwgMHg0NywgMHgxLCAweDgwLCAweDEwLCAweDgwLCAweDEwLCAw
eDEsIDB4ODAsIDB4NDcsIDB4MSwgMHgwLCAweDExLCAweDAsIDB4MTEsIDB4MSwgMHgyMCwgMHg0
NywgMHgxLCAweDgwLCAweDExLCAweDgwLCAweDExLCAweDEsIDB4NDAsIDB4NDcsIDB4MSwgMHgw
LCAweGY4LCAweDAsIDB4ZjgsIDB4MSwgMHg4MCwgMHg0NywgMHgxLCAweDgwLCAweGY4LCAweDgw
LCAweGY4LCAweDEsIDB4ODAsIDB4NDcsIDB4MSwgMHgwLCAweGZjLCAweDAsIDB4ZmMsIDB4MSwg
MHg4MCwgMHg0NywgMHgxLCAweDgwLCAweGZjLCAweDgwLCAweGZjLCAweDEsIDB4ODAsIDB4NDcs
IDB4MSwgMHhjLCAweGZkLCAweGMsIDB4ZmQsIDB4MSwgMHg2NCwgMHg0NywgMHgxLCAweDAsIDB4
ZmUsIDB4MCwgMHhmZSwgMHgxLCAweDIsIDB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAw
eDAsIDB4ZjgsIDB4MCwgMHgwLCAweDAsIDB4NCwgMHg4NiwgMHg5LCAweDAsIDB4MSwgMHgwLCAw
eDQwLCAweGQxLCAweGZlLCAweDAsIDB4NDAsIDB4MCwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgx
LCAweDAsIDB4ODAsIDB4ZDEsIDB4ZmUsIDB4MCwgMHgxMCwgMHgwLCAweDAsIDB4ODYsIDB4OSwg
MHgwLCAweDEsIDB4MCwgMHg5MCwgMHhkMSwgMHhmZSwgMHgwLCAweDEwLCAweDAsIDB4MCwgMHg4
NiwgMHg5LCAweDAsIDB4MSwgMHgwLCAweGMwLCAweGQxLCAweGZlLCAweDAsIDB4NDAsIDB4MCwg
MHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwgMHhkMiwgMHhmZSwgMHgwLCAweDAs
IDB4MiwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4NTAsIDB4ZDQsIDB4ZmUsIDB4
MCwgMHhiMCwgMHg0LCAweDAsIDB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAweGMwLCAw
eGZlLCAweDAsIDB4MTAsIDB4MCwgMHgwLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwg
MHhlMCwgMHhmZSwgMHgwLCAweDEwLCAweDAsIDB4MCwgMHg4NiwgMHg5LCAweDAsIDB4MSwgMHgw
LCAweDAsIDB4ZjAsIDB4ZmUsIDB4MCwgMHgwLCAweDEwLCAweDAsIDB4ODYsIDB4OSwgMHgwLCAw
eDEsIDB4MCwgMHhmMCwgMHhjLCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDAsIDB4ODYsIDB4OSwg
MHgwLCAweDEsIDB4MCwgMHgwLCAweGIwLCAweGZmLCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDg2
LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwgMHhkNCwgMHhmZSwgMHgwLCAweDUwLCAweDAsIDB4
MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAg
ICAgICAgIDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4MTAsIDB4MTAsIDB4MSwgMHgxMCkNCiAgICAg
ICAgICAgICAweDAwMDggIElPKERlY29kZTE2LCAweDI0LCAweDI0LCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMTAgIElPKERlY29kZTE2LCAweDI4LCAweDI4LCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMTggIElPKERlY29kZTE2LCAweDJjLCAweDJjLCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMjAgIElPKERlY29kZTE2LCAweDJlLCAweDJlLCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMjggIElPKERlY29kZTE2LCAweDMwLCAweDMwLCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMzAgIElPKERlY29kZTE2LCAweDM0LCAweDM0LCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwMzggIElPKERlY29kZTE2LCAweDM4LCAweDM4LCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwNDAgIElPKERlY29kZTE2LCAweDNjLCAweDNjLCAweDEsIDB4MikNCiAgICAg
ICAgICAgICAweDAwNDggIElPKERlY29kZTE2LCAweDUwLCAweDUwLCAweDEsIDB4NCkNCiAgICAg
ICAgICAgICAweDAwNTAgIElPKERlY29kZTE2LCAweDcyLCAweDcyLCAweDEsIDB4NikNCiAgICAg
ICAgICAgICAweDAwNTggIElPKERlY29kZTE2LCAweDgwLCAweDgwLCAweDEsIDB4MSkNCiAgICAg
ICAgICAgICAweDAwNjAgIElPKERlY29kZTE2LCAweDkwLCAweDkwLCAweDEsIDB4MTApDQogICAg
ICAgICAgICAgMHgwMDY4ICBJTyhEZWNvZGUxNiwgMHhhNCwgMHhhNCwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDcwICBJTyhEZWNvZGUxNiwgMHhhOCwgMHhhOCwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDc4ICBJTyhEZWNvZGUxNiwgMHhhYywgMHhhYywgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDgwICBJTyhEZWNvZGUxNiwgMHhiMCwgMHhiMCwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDg4ICBJTyhEZWNvZGUxNiwgMHhiMiwgMHhiMiwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDkwICBJTyhEZWNvZGUxNiwgMHhiNCwgMHhiNCwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMDk4ICBJTyhEZWNvZGUxNiwgMHhiOCwgMHhiOCwgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMGEwICBJTyhEZWNvZGUxNiwgMHhiYywgMHhiYywgMHgxLCAweDIpDQogICAg
ICAgICAgICAgMHgwMGE4ICBJTyhEZWNvZGUxNiwgMHg0ZDAsIDB4NGQwLCAweDEsIDB4MikNCiAg
ICAgICAgICAgICAweDAwYjAgIElPKERlY29kZTE2LCAweDgwMCwgMHg4MDAsIDB4MSwgMHgxMCkN
CiAgICAgICAgICAgICAweDAwYjggIElPKERlY29kZTE2LCAweDEwMDAsIDB4MTAwMCwgMHgxLCAw
eDgwKQ0KICAgICAgICAgICAgIDB4MDBjMCAgSU8oRGVjb2RlMTYsIDB4MTA4MCwgMHgxMDgwLCAw
eDEsIDB4ODApDQogICAgICAgICAgICAgMHgwMGM4ICBJTyhEZWNvZGUxNiwgMHgxMTAwLCAweDEx
MDAsIDB4MSwgMHgyMCkNCiAgICAgICAgICAgICAweDAwZDAgIElPKERlY29kZTE2LCAweDExODAs
IDB4MTE4MCwgMHgxLCAweDQwKQ0KICAgICAgICAgICAgIDB4MDBkOCAgSU8oRGVjb2RlMTYsIDB4
ZjgwMCwgMHhmODAwLCAweDEsIDB4ODApDQogICAgICAgICAgICAgMHgwMGUwICBJTyhEZWNvZGUx
NiwgMHhmODgwLCAweGY4ODAsIDB4MSwgMHg4MCkNCiAgICAgICAgICAgICAweDAwZTggIElPKERl
Y29kZTE2LCAweGZjMDAsIDB4ZmMwMCwgMHgxLCAweDgwKQ0KICAgICAgICAgICAgIDB4MDBmMCAg
SU8oRGVjb2RlMTYsIDB4ZmM4MCwgMHhmYzgwLCAweDEsIDB4ODApDQogICAgICAgICAgICAgMHgw
MGY4ICBJTyhEZWNvZGUxNiwgMHhmZDBjLCAweGZkMGMsIDB4MSwgMHg2NCkNCiAgICAgICAgICAg
ICAweDAxMDAgIElPKERlY29kZTE2LCAweGZlMDAsIDB4ZmUwMCwgMHgxLCAweDIpDQogICAgICAg
ICAgICAgMHgwMTA4ICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmODAwMDAwMCwgMHg0MDAw
MDAwKQ0KICAgICAgICAgICAgIDB4MDExNCAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVk
MTQwMDAsIDB4NDAwMCkNCiAgICAgICAgICAgICAweDAxMjAgIE1lbW9yeTMyRml4ZWQoUmVhZFdy
aXRlLCAweGZlZDE4MDAwLCAweDEwMDApDQogICAgICAgICAgICAgMHgwMTJjICBNZW1vcnkzMkZp
eGVkKFJlYWRXcml0ZSwgMHhmZWQxOTAwMCwgMHgxMDAwKQ0KICAgICAgICAgICAgIDB4MDEzOCAg
TWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVkMWMwMDAsIDB4NDAwMCkNCiAgICAgICAgICAg
ICAweDAxNDQgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLCAweGZlZDIwMDAwLCAweDIwMDAwKQ0K
ICAgICAgICAgICAgIDB4MDE1MCAgTWVtb3J5MzJGaXhlZChSZWFkV3JpdGUsIDB4ZmVkNDUwMDAs
IDB4NGIwMDApDQogICAgICAgICAgICAgMHgwMTVjICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwg
MHhmZWMwMDAwMCwgMHgxMDAwKQ0KICAgICAgICAgICAgIDB4MDE2OCAgTWVtb3J5MzJGaXhlZChS
ZWFkV3JpdGUsIDB4ZmVlMDAwMDAsIDB4MTAwMCkNCiAgICAgICAgICAgICAweDAxNzQgIE1lbW9y
eTMyRml4ZWQoUmVhZFdyaXRlLCAweGZlZjAwMDAwLCAweDEwMDAwMCkNCiAgICAgICAgICAgICAw
eDAxODAgIE1lbW9yeTMyRml4ZWQoUmVhZFdyaXRlLCAweDAwMGNmMDAwLCAweDEwMDApDQogICAg
ICAgICAgICAgMHgwMThjICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmZmIwMDAwMCwgMHgx
MDAwMDApDQogICAgICAgICAgICAgMHgwMTk4ICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhm
ZWQ0MDAwMCwgMHg1MDAwKQ0KICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgIH0pDQogICAg
ICAgICAgICBNZXRob2QoX0NSUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgIENy
ZWF0ZURXb3JkRmllbGQoUlNSQywgMHgwMTg0LCBNQkJTKQ0KICAgICAgICAgICAgICAgIENyZWF0
ZURXb3JkRmllbGQoUlNSQywgMHgwMTg4LCBNQkxOKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURX
b3JkRmllbGQoUlNSQywgMHgwMTkwLCBGV0JTKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk
RmllbGQoUlNSQywgMHgwMTk0LCBGV0xOKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll
bGQoUlNSQywgMHgwMTljLCBUUE1CKQ0KICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQo
UlNSQywgMHgwMWEwLCBUUE1MKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFVNU1QsIE1CQlMpDQog
ICAgICAgICAgICAgICAgU3RvcmUoVU1TWiwgTUJMTikNCiAgICAgICAgICAgICAgICBJZihGV0hN
KSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEZXQlMpDQogICAgICAgICAgICAg
ICAgICAgIFN0b3JlKFplcm8sIEZXTE4pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgIElmKExFcXVhbChUUE1GLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSha
ZXJvLCBUUE1CKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBUUE1MKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBSZXR1cm4oUlNSQykNCiAgICAgICAgICAgIH0N
CiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoR0ZYMCkgew0KICAgICAgICAgICAgTmFtZShfQURS
LCAweDAwMDIwMDAwKQ0KICAgICAgICAgICAgTWV0aG9kKFhMQ0QpIHsNCiAgICAgICAgICAgICAg
ICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFhDUlQpIHsN
CiAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
TWV0aG9kKFhUVikgew0KICAgICAgICAgICAgICAgIFJldHVybihYT3IoU09VVCwgT25lLCApKQ0K
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFhEVkkpIHsNCiAgICAgICAgICAgICAg
ICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAg
ICAgICAgICAgICAgICBOYW1lKFdMQ0QsIFplcm8pDQogICAgICAgICAgICAgICAgTmFtZShXQ1JU
LCBaZXJvKQ0KICAgICAgICAgICAgICAgIE5hbWUoV1RWLCBaZXJvKQ0KICAgICAgICAgICAgICAg
IE5hbWUoV0RWSSwgWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChQSFRL
KSB7DQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRFNXRikNCiAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgIE5hbWUoRjEwVCwgUGFja2FnZSgweDBhKSB7DQogICAgICAgICAgICAgICAgMHgw
MSwNCiAgICAgICAgICAgICAgICAweDAyLA0KICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAg
ICAgICAgICAgMHgwNCwNCiAgICAgICAgICAgICAgICAweDA1LA0KICAgICAgICAgICAgICAgIDB4
MDEsDQogICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAweDAzLA0KICAgICAg
ICAgICAgICAgIDB4MDQsDQogICAgICAgICAgICAgICAgMHgwNSwNCiAgICAgICAgICAgIH0pDQog
ICAgICAgICAgICBNZXRob2QoQUhUSykgew0KICAgICAgICAgICAgICAgIElmKExBbmQoTEVxdWFs
KEFuZChBRE9TLCAweDAzLCApLCBaZXJvKSwgRFNXRikpIHsNCiAgICAgICAgICAgICAgICAgICAg
VVBERCgpDQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChEU1dGLCAweDAxKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KENEVkksIDB4MDIsICksIE9yKFNoaWZ0
TGVmdChDQ1JULCAweDAxLCApLCBDTENELCApLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg
ICAgICBPcihTaGlmdExlZnQoQURWSSwgMHgwMiwgKSwgT3IoU2hpZnRMZWZ0KEFDUlQsIDB4MDEs
ICksIEFMQ0QsICksIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8s
IExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ZmYsIExvY2FsMykNCiAg
ICAgICAgICAgICAgICAgICAgICAgIFdoaWxlKExBbmQoTExlc3MoTG9jYWwyLCAweDBhKSwgTEVx
dWFsKExvY2FsMywgMHhmZikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVx
dWFsKERlcmVmT2YoSW5kZXgoRjEwVCwgTG9jYWwyLCApKSwgTG9jYWwwKSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKENUViwgQVRWKSkgew0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwyLCBMb2NhbDMpDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQoTG9jYWwyLCAw
eDAxLCBMb2NhbDMpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVt
ZW50KExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKDB4ZmYsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExO
b3QoTEVxdWFsKExvY2FsMywgMHhmZikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
V2hpbGUoTEFuZChMTGVzcyhMb2NhbDMsIDB4MGEpLCBMRXF1YWwoTG9jYWwyLCAweGZmKSkpIHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFuZChEZXJlZk9mKElu
ZGV4KEYxMFQsIExvY2FsMywgKSksIExvY2FsMSwgKSwgRGVyZWZPZihJbmRleChGMTBULCBMb2Nh
bDMsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRGVy
ZWZPZihJbmRleChGMTBULCBMb2NhbDMsICkpLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5jcmVtZW50
KExvY2FsMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoTG9jYWwyLCAweGZm
KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFMQ0QpIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgTG9jYWwyKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQUNSVCkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQURWSSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDQsIExvY2FsMikNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKDB4MDIsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgIEFuZChMb2NhbDIsIDB4MDEsIFdMQ0QpDQogICAgICAgICAgICAgICAgICAgICAg
ICBTaGlmdFJpZ2h0KEFuZChMb2NhbDIsIDB4MDIsICksIDB4MDEsIFdDUlQpDQogICAgICAgICAg
ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFuZChMb2NhbDIsIDB4MDQsICksIDB4MDIsIFdEVkkp
DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXVFYpDQogICAgICAgICAgICAg
ICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLkdGWDAsIDB4ODApDQogICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBJZihMRXF1YWwoRFNXRiwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB
bmQoQ0xDRCwgQUxDRCwgV0xDRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQ0NS
VCwgQUNSVCwgV0NSVCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQ0RWSSwgQURW
SSwgV0RWSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoWE9yKENUViwgMHgwMSwg
KSwgQVRWLCBXVFYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExPcihXVFYs
IFdEVkkpLCBMT3IoV0NSVCwgV0xDRCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIElmKExBbmQoTEFuZChXTENELCBXQ1JUKSwgV1RWKSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgV0NSVCkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExB
bmQoV0xDRCwgV0RWSSksIFdUVikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKFplcm8sIFdEVkkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMQW5kKFdDUlQsIFdEVkkp
LCBXVFYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJv
LCBXRFZJKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIE5vdGlmeShcX1NCLlBDSTAuR0ZYMCwgMHg4MCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAg
ICAgICBNZXRob2QoVVBERCkgew0KICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5P
U1RQKCksIDB4MDgpKSkgew0KICAgICAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLCAw
eDAwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
ICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5HRlgwLCAweDAwKQ0KICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICBTbGVlcCgweDAyZWUpDQogICAgICAgICAgICAgICAgU3RvcmUo
MHhmZiwgRFZJRCkNCiAgICAgICAgICAgICAgICBTdG9yZSgweDhlLCBDTUQpDQogICAgICAgICAg
ICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
ZChfRE9TLCAxKSB7DQogICAgICAgICAgICAgICAgQW5kKEFyZzAsIDB4MDcsIEFET1MpDQogICAg
ICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoX0RPRCkgew0KICAgICAgICAgICAgICAgIFJl
dHVybihQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDEwMCwNCiAg
ICAgICAgICAgICAgICAgICAgMHgwMDAxMDExMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAx
MDIwMCwNCiAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDMwMCwNCiAgICAgICAgICAgICAgICB9
KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKENSVCkgew0KICAgICAgICAgICAg
ICAgIE1ldGhvZChfQURSKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybigweDAxMDApDQog
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfRENTKSB7DQogICAgICAg
ICAgICAgICAgICAgIElmKFhDUlQoKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgVVBERCgp
DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT3IoMHgwZCwgT3IoU2hpZnRMZWZ0KEFD
UlQsIDB4MDQsICksIFNoaWZ0TGVmdChDQ1JULCAweDAxLCApLCApLCApKQ0KICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAg
ICAgICAgUmV0dXJuKFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9ER1MpIHsNCiAgICAgICAgICAgICAgICAgICAg
UmV0dXJuKFdDUlQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChf
RFNTLCAxKSB7DQogICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoTENEKSB7DQogICAgICAgICAgICAgICAg
TWV0aG9kKF9BRFIpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDExMCkNCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EQ1MpIHsNCiAgICAgICAgICAg
ICAgICAgICAgSWYoWExDRCgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBVUEREKCkNCiAg
ICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPcigweDBkLCBPcihTaGlmdExlZnQoQUxDRCwg
MHgwNCwgKSwgU2hpZnRMZWZ0KENMQ0QsIDB4MDEsICksICksICkpDQogICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBSZXR1cm4oWmVybykNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICBNZXRob2QoX0RHUykgew0KICAgICAgICAgICAgICAgICAgICBSZXR1
cm4oV0xDRCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EU1Ms
IDEpIHsNCiAgICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShUVikgew0KICAgICAgICAgICAgICAgIE1ldGhv
ZChfQURSKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybigweDAyMDApDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfRENTKSB7DQogICAgICAgICAgICAgICAg
ICAgIElmKFhUVigpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBVUEREKCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgIFJldHVybihPcigweDBkLCBPcihTaGlmdExlZnQoQVRWLCAweDA0LCAp
LCBTaGlmdExlZnQoQ1RWLCAweDAxLCApLCApLCApKQ0KICAgICAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu
KFplcm8pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgTWV0aG9kKF9ER1MpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFdUVikN
CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9EU1MsIDEpIHsNCiAg
ICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIERldmljZShEVkkpIHsNCiAgICAgICAgICAgICAgICBNZXRob2QoX0FEUikg
ew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwMzAwKQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICBNZXRob2QoX0RDUykgew0KICAgICAgICAgICAgICAgICAgICBJZihY
RFZJKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFVQREQoKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgUmV0dXJuKE9yKDB4MGQsIE9yKFNoaWZ0TGVmdChBRFZJLCAweDA0LCApLCBTaGlm
dExlZnQoQ0RWSSwgMHgwMSwgKSwgKSwgKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihaZXJv
KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgIE1ldGhvZChfREdTKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihXRFZJKQ0KICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX0RTUywgMSkgew0KICAgICAg
ICAgICAgICAgICAgICBOb29wDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgU2NvcGUoTENEKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9QUzApIHsNCiAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgTElEUykNCiAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgTWV0aG9kKF9QUzMpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
MHgwMSwgTElEUykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9C
Q0wpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwgMHg0
MCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDBhKSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDJiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHgwZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDFk
LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmIsDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMHgzOSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQ3LA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDB4NTUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1
cm4oUGFja2FnZSgweDBhKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDJjLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDFlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MmMs
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgzYSwNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweDQ4LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NTYsDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMHg2NCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0pDQog
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
TWV0aG9kKF9CQ00sIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNz
KEFyZzAsIDB4MDApKSwgTE5vdChMR3JlYXRlcihBcmcwLCAweDY0KSkpKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5GSkVYLlNCTEwoRGl2aWRlKEFyZzAsIDB4MGUs
ICwgKSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoUENJQikgew0KICAgICAgICAgICAgTmFt
ZShfQURSLCAweDAwMWUwMDAwKQ0KICAgICAgICAgICAgTWV0aG9kKF9QUlQpIHsNCiAgICAgICAg
ICAgICAgICBJZihHUElDKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4
MDIpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDAwM2ZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MTAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAg
ICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMHgwMDAzZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAg
IH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAg
ICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAyKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDNmZmZm
LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAg
ICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwM2Zm
ZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAg
ICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
ZChfSU5JKSB7DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKF9QUlcsIFBhY2thZ2Uo
MHgwMikgew0KICAgICAgICAgICAgICAgIDB4MGIsDQogICAgICAgICAgICAgICAgMHgwNCwNCiAg
ICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKExQQ0IpIHsNCiAgICAgICAg
ICAgIE5hbWUoX0FEUiwgMHgwMDFmMDAwMCkNCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihM
UEMwLCBQQ0lfQ29uZmlnLCAweDQwLCAweGMwKQ0KICAgICAgICAgICAgRmllbGQoTFBDMCwgQW55
QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
ICAgICAgICAgICAgICAgIFBBUkMsCTgsDQogICAgICAgICAgICAgICAgUEJSQywJOCwNCiAgICAg
ICAgICAgICAgICBQQ1JDLAk4LA0KICAgICAgICAgICAgICAgIFBEUkMsCTgsDQogICAgICAgICAg
ICAgICAgT2Zmc2V0KDB4MjgpLA0KICAgICAgICAgICAgICAgIFBFUkMsCTgsDQogICAgICAgICAg
ICAgICAgUEZSQywJOCwNCiAgICAgICAgICAgICAgICBQR1JDLAk4LA0KICAgICAgICAgICAgICAg
IFBIUkMsCTgsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4NDApLA0KICAgICAgICAgICAgICAg
IElPRDAsCTgsDQogICAgICAgICAgICAgICAgSU9EMSwJOCwNCiAgICAgICAgICAgICAgICBDQUVO
LAkxDQogICAgICAgICAgICB9DQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oU0lPLCBTeXN0
ZW1JTywgMHgyZSwgMHgwMikNCiAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihGSklPLCBTeXN0
ZW1JTywgMHhmZDYwLCAweDE3KQ0KICAgICAgICAgICAgU2NvcGUoXCkgew0KICAgICAgICAgICAg
ICAgIEZpZWxkKFxfU0IuUENJMC5MUENCLkZKSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUp
IHsNCiAgICAgICAgICAgICAgICAgICAgQUlEQywJOCwNCiAgICAgICAgICAgICAgICAgICAgQURU
QywJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlEQiwJOCwNCiAgICAgICAgICAgICAgICAgICAg
QURUQiwJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlEQSwJOCwNCiAgICAgICAgICAgICAgICAg
ICAgQURUQSwJOCwNCiAgICAgICAgICAgICAgICAgICAgQUlERCwJOCwNCiAgICAgICAgICAgICAg
ICAgICAgQURURCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MTApLA0KICAgICAg
ICAgICAgICAgICAgICBQTUlELAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgxMiks
DQogICAgICAgICAgICAgICAgICAgIFBNRFIsCTgsDQogICAgICAgICAgICAgICAgICAgIE9mZnNl
dCgweDE0KSwNCiAgICAgICAgICAgICAgICAgICAgUE1EVCwJOCwNCiAgICAgICAgICAgICAgICAg
ICAgT2Zmc2V0KDB4MTYpLA0KICAgICAgICAgICAgICAgICAgICBQTUNSLAk4DQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFBNSU8s
IFN5c3RlbUlPLCAweDEwMDAsIDB4ODApDQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oT0dJ
TywgU3lzdGVtSU8sIDB4MTE4MCwgMHgzYykNCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAg
ICAgICAgICAgICBGaWVsZChcX1NCLlBDSTAuTFBDQi5QTUlPLCBCeXRlQWNjLCBOb0xvY2ssIFBy
ZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDQyKSwNCiAgICAgICAgICAg
ICAgICAgICAgLAkxLA0KICAgICAgICAgICAgICAgICAgICBHUEVDLAkxDQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIEZpZWxkKFxfU0IuUENJMC5MUENCLk9HSU8sIEJ5dGVBY2Ms
IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MmMpLA0K
ICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgyZCksDQogICAgICAgICAgICAgICAgICAgIExQ
T0wsCTEsDQogICAgICAgICAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgICAgICAgICAgRVhQ
TCwJMSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MzgpLA0KICAgICAgICAgICAgICAg
ICAgICAsCTEsDQogICAgICAgICAgICAgICAgICAgIFBYUlMsCTEsDQogICAgICAgICAgICAgICAg
ICAgIFBYQ0wsCTENCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg
ICBPcGVyYXRpb25SZWdpb24oT1BJTywgU3lzdGVtSU8sIDB4MTAwMCwgMHg2NykNCiAgICAgICAg
ICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICBGaWVsZChcX1NCLlBDSTAuTFBDQi5PUElP
LCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNl
dCgweDEwKSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MTEpLA0KICAgICAgICAgICAg
ICAgICAgICBGT0NULAkxDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgTWV0aG9kKF9JTkkpIHsNCiAgICAgICAgICAgICAgICBcX1NCLk9TVFAoKQ0KICAgICAg
ICAgICAgICAgIFxfU0IuUENJMC5MUENCLkNNQlQuU1dDRigpDQogICAgICAgICAgICAgICAgQUlO
SSgpDQogICAgICAgICAgICAgICAgSWYoUlBDUCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9y
ZShPbmUsIFJQRU4pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEIyVEMsIFJQRFMpDQogICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCks
IDB4NDApKSkgew0KICAgICAgICAgICAgICAgICAgICBPcihSR1NJLCAweDAxLCBSR1NJKQ0KICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAg
ICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREEsIEFEVEEsIEJ5dGVBY2MsIE5vTG9jaywgUHJl
c2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4OSksDQogICAgICAgICAgICAg
ICAgICAgIFJJMU0sCTEsDQogICAgICAgICAgICAgICAgICAgIFJJMk0sCTEsDQogICAgICAgICAg
ICAgICAgICAgIFJJM00sCTEsDQogICAgICAgICAgICAgICAgICAgIFJJNE0sCTEsDQogICAgICAg
ICAgICAgICAgICAgIFJJMSwJMSwNCiAgICAgICAgICAgICAgICAgICAgUkkyLAkxLA0KICAgICAg
ICAgICAgICAgICAgICBSSTMsCTEsDQogICAgICAgICAgICAgICAgICAgIFJJNCwJMSwNCiAgICAg
ICAgICAgICAgICAgICAgLAkyLA0KICAgICAgICAgICAgICAgICAgICBDVkNMLAkxLA0KICAgICAg
ICAgICAgICAgICAgICAsCTMsDQogICAgICAgICAgICAgICAgICAgIEJMQ1QsCTIsDQogICAgICAg
ICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICAgICAgRzVQMCwJOCwN
CiAgICAgICAgICAgICAgICAgICAgRzVDMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgRzNQMCwJ
OCwNCiAgICAgICAgICAgICAgICAgICAgRzNDMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zm
c2V0KDB4NDApLA0KICAgICAgICAgICAgICAgICAgICBTU0YwLAk4LA0KICAgICAgICAgICAgICAg
ICAgICBTU0YxLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU00wLAk4LA0KICAgICAgICAgICAg
ICAgICAgICBTU00xLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0kwLAk4LA0KICAgICAgICAg
ICAgICAgICAgICBTU1RNLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0YyLAk4LA0KICAgICAg
ICAgICAgICAgICAgICBTU00yLAk4LA0KICAgICAgICAgICAgICAgICAgICBTU0kxLAk4LA0KICAg
ICAgICAgICAgICAgICAgICBPZmZzZXQoMHg1MiksDQogICAgICAgICAgICAgICAgICAgIEczUDEs
CTgsDQogICAgICAgICAgICAgICAgICAgIEczQzEsCTgsDQogICAgICAgICAgICAgICAgICAgIEcz
UDIsCTgsDQogICAgICAgICAgICAgICAgICAgIEczQzIsCTgsDQogICAgICAgICAgICAgICAgICAg
IFFTV0MsCTgsDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDYwKSwNCiAgICAgICAgICAg
ICAgICAgICAgU1NTMCwJOCwNCiAgICAgICAgICAgICAgICAgICAgU1NTMSwJOA0KICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREIsIEFEVEIsIEJ5dGVBY2Ms
IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjkpLA0K
ICAgICAgICAgICAgICAgICAgICBCUkNMLAk4LA0KICAgICAgICAgICAgICAgICAgICBMQ0RCLAk4
LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgzMCksDQogICAgICAgICAgICAgICAgICAg
IExDREMsCTgNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgSW5kZXhGaWVsZChB
SURDLCBBRFRDLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAg
ICAgIFRBU0YsCTEsDQogICAgICAgICAgICAgICAgICAgIFRCU0YsCTEsDQogICAgICAgICAgICAg
ICAgICAgIEIxU1UsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxU0QsCTEsDQogICAgICAgICAg
ICAgICAgICAgIEIyU1UsCTEsDQogICAgICAgICAgICAgICAgICAgIEIyU0QsCTEsDQogICAgICAg
ICAgICAgICAgICAgIE9mZnNldCgweDIpLA0KICAgICAgICAgICAgICAgICAgICAsCTQsDQogICAg
ICAgICAgICAgICAgICAgIFZTVEIsCTEsDQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDUp
LA0KICAgICAgICAgICAgICAgICAgICAsCTYsDQogICAgICAgICAgICAgICAgICAgIEFDUFcsCTEs
DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICAgICAg
QkNUTCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjMpLA0KICAgICAgICAgICAg
ICAgICAgICBUQUYsCTEsDQogICAgICAgICAgICAgICAgICAgIFRBU00sCTEsDQogICAgICAgICAg
ICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICAgICAgVEJGLAkxLA0KICAgICAgICAgICAg
ICAgICAgICBUQlNNLAkxLA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHgyNCksDQogICAg
ICAgICAgICAgICAgICAgIFRJTUEsCTgsDQogICAgICAgICAgICAgICAgICAgIFRJTUIsCTgsDQog
ICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDI4KSwNCiAgICAgICAgICAgICAgICAgICAgQ0RM
UCwJOCwNCiAgICAgICAgICAgICAgICAgICAgSERMUCwJOCwNCiAgICAgICAgICAgICAgICAgICAg
RkRMUCwJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4NGUpLA0KICAgICAgICAgICAg
ICAgICAgICBCMVVNLAkxLA0KICAgICAgICAgICAgICAgICAgICBCMURNLAkxLA0KICAgICAgICAg
ICAgICAgICAgICAsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxVEMsCTEsDQogICAgICAgICAg
ICAgICAgICAgIEIyVU0sCTEsDQogICAgICAgICAgICAgICAgICAgIEIyRE0sCTEsDQogICAgICAg
ICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAgQjJUQywJMSwNCiAgICAgICAg
ICAgICAgICAgICAgQkFQQywJNg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJ
bmRleEZpZWxkKEFJREMsIEFEVEMsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAg
ICAgICAgICAgICAgICAgU1RBRSwJOA0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICBJbmRleEZpZWxkKEFJREQsIEFEVEQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAg
ICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4ODApLA0KICAgICAgICAgICAgICAgICAgICBHSURJ
LAk4LA0KICAgICAgICAgICAgICAgICAgICBHSURDLAk4LA0KICAgICAgICAgICAgICAgICAgICBH
SURPLAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHg5MCksDQogICAgICAgICAgICAg
ICAgICAgIEczU0ksCTgsDQogICAgICAgICAgICAgICAgICAgIEczU0MsCTgsDQogICAgICAgICAg
ICAgICAgICAgIEczU08sCTgsDQogICAgICAgICAgICAgICAgICAgIEczU00sCTgsDQogICAgICAg
ICAgICAgICAgICAgIE9mZnNldCgweGEwKSwNCiAgICAgICAgICAgICAgICAgICAgV09YRiwJOCwN
CiAgICAgICAgICAgICAgICAgICAgV09YRSwJOCwNCiAgICAgICAgICAgICAgICAgICAgV09YRCwJ
OCwNCiAgICAgICAgICAgICAgICAgICAgV09YUywJOCwNCiAgICAgICAgICAgICAgICAgICAgT2Zm
c2V0KDB4YjApLA0KICAgICAgICAgICAgICAgICAgICBBTVBWLAk2DQogICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2NvcGUoXCkgew0KICAgICAgICAgICAgICAg
IEluZGV4RmllbGQoUE1JRCwgUE1EVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAg
ICAgICAgICAgICAgICAgICBPZmZzZXQoMHhhMCksDQogICAgICAgICAgICAgICAgICAgIFVQUFIs
CTEsDQogICAgICAgICAgICAgICAgICAgIEVSUk8sCTEsDQogICAgICAgICAgICAgICAgICAgIFBB
U1MsCTEsDQogICAgICAgICAgICAgICAgICAgIFBTT0ssCTEsDQogICAgICAgICAgICAgICAgICAg
IFBTTkcsCTEsDQogICAgICAgICAgICAgICAgICAgIFRPVVQsCTEsDQogICAgICAgICAgICAgICAg
ICAgIFNJUk4sCTEsDQogICAgICAgICAgICAgICAgICAgIFNUU0MsCTEsDQogICAgICAgICAgICAg
ICAgICAgIE9WRkwsCTEsDQogICAgICAgICAgICAgICAgICAgIExXTUQsCTEsDQogICAgICAgICAg
ICAgICAgICAgIFRBTE0sCTEsDQogICAgICAgICAgICAgICAgICAgIEVNR0MsCTEsDQogICAgICAg
ICAgICAgICAgICAgIE9DTlQsCTQsDQogICAgICAgICAgICAgICAgICAgIFREVEMsCTEsDQogICAg
ICAgICAgICAgICAgICAgICwJNCwNCiAgICAgICAgICAgICAgICAgICAgQUVSUiwJMSwNCiAgICAg
ICAgICAgICAgICAgICAgUEVSUiwJMSwNCiAgICAgICAgICAgICAgICAgICAgQUJTWSwJMSwNCiAg
ICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4YTQpLA0KICAgICAgICAgICAgICAgICAgICBQREFU
LAk4LA0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhjMCksDQogICAgICAgICAgICAgICAg
ICAgIE9mZnNldCgweGMxKSwNCiAgICAgICAgICAgICAgICAgICAgQjFQLAkxLA0KICAgICAgICAg
ICAgICAgICAgICBCMlAsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxQywJMSwNCiAgICAgICAg
ICAgICAgICAgICAgQjJDLAkxLA0KICAgICAgICAgICAgICAgICAgICBCMUVSLAkxLA0KICAgICAg
ICAgICAgICAgICAgICBCMkVSLAkxLA0KICAgICAgICAgICAgICAgICAgICBQS1NILAkxLA0KICAg
ICAgICAgICAgICAgICAgICBDTUIsCTEsDQogICAgICAgICAgICAgICAgICAgIEIxQ1AsCTgsDQog
ICAgICAgICAgICAgICAgICAgIEIyQ1AsCTgsDQogICAgICAgICAgICAgICAgICAgIEJBVkcsCTgs
DQogICAgICAgICAgICAgICAgICAgIEIxVkgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxVkws
CTgsDQogICAgICAgICAgICAgICAgICAgIEIyVkgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIy
VkwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxVE0sCTgsDQogICAgICAgICAgICAgICAgICAg
IEIyVE0sCTgsDQogICAgICAgICAgICAgICAgICAgIEIxQ0gsCTgsDQogICAgICAgICAgICAgICAg
ICAgIEIxQ0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyQ0gsCTgsDQogICAgICAgICAgICAg
ICAgICAgIEIyQ0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEJUTUgsCTgsDQogICAgICAgICAg
ICAgICAgICAgIEJUTUwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxTEgsCTgsDQogICAgICAg
ICAgICAgICAgICAgIEIxTEwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyTEgsCTgsDQogICAg
ICAgICAgICAgICAgICAgIEIyTEwsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxSUQsCTQsDQog
ICAgICAgICAgICAgICAgICAgIEIxTk8sCTQsDQogICAgICAgICAgICAgICAgICAgIEIySUQsCTQs
DQogICAgICAgICAgICAgICAgICAgIEIyTk8sCTQsDQogICAgICAgICAgICAgICAgICAgIEIxRFYs
CTgsDQogICAgICAgICAgICAgICAgICAgIEIyRFYsCTgsDQogICAgICAgICAgICAgICAgICAgIEIx
REgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIxREwsCTgsDQogICAgICAgICAgICAgICAgICAg
IEIyREgsCTgsDQogICAgICAgICAgICAgICAgICAgIEIyREwsCTgsDQogICAgICAgICAgICAgICAg
ICAgIFRCU0ksCTgsDQogICAgICAgICAgICAgICAgICAgIFRCU0gsCTgsDQogICAgICAgICAgICAg
ICAgICAgIFRCU0wsCTgsDQogICAgICAgICAgICAgICAgICAgIEJIREQsCTEsDQogICAgICAgICAg
ICAgICAgICAgIEJPUFQsCTEsDQogICAgICAgICAgICAgICAgICAgICwJNSwNCiAgICAgICAgICAg
ICAgICAgICAgQUJMQywJMSwNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4ZTgpLA0KICAg
ICAgICAgICAgICAgICAgICBUQkNNLAk4LA0KICAgICAgICAgICAgICAgICAgICBUQk1ELAk4LA0K
ICAgICAgICAgICAgICAgICAgICBUQklOLAk4LA0KICAgICAgICAgICAgICAgICAgICBEQ09MLAk3
LA0KICAgICAgICAgICAgICAgICAgICBTM0VOLAkxDQogICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgIEluZGV4RmllbGQoUE1JRCwgUE1EVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2
ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhhMiksDQogICAgICAgICAgICAgICAg
ICAgIFRDU1QsCTgNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAg
ICBTY29wZShcKSB7DQogICAgICAgICAgICAgICAgSW5kZXhGaWVsZChBSURBLCBBRFRBLCBCeXRl
QWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDIy
KSwNCiAgICAgICAgICAgICAgICAgICAgLAk0LA0KICAgICAgICAgICAgICAgICAgICBTT1VULAkx
DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEluZGV4RmllbGQoUE1JRCwgUE1E
VCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZz
ZXQoMHhlYyksDQogICAgICAgICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAg
REtFViwJMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1l
dGhvZChBSU5JKSB7DQogICAgICAgICAgICAgICAgQW5kKFNTTTEsIDB4Y2YsIFNTTTEpDQogICAg
ICAgICAgICAgICAgU3RvcmUoWmVybywgVEJTTSkNCiAgICAgICAgICAgICAgICBTdG9yZShMV01E
LCBQTFdNKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFRBTE0sIFBUQUwpDQogICAgICAgICAgICAg
ICAgU3RvcmUoMHg5NSwgQ01EKQ0KICAgICAgICAgICAgICAgIE9yKFBMV00sIFNoaWZ0TGVmdChQ
VEFMLCAweDAxLCApLCBEVklEKQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQog
ICAgICAgICAgICAgICAgSWYoTEFuZChUQUxNLCBMTm90KEFDUFcpKSkgew0KICAgICAgICAgICAg
ICAgICAgICBTdG9yZShPbmUsIEZPQ1QpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGT0NUKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAw
eDQwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoUE1EUiwgTG9jYWwwKQ0KICAgICAg
ICAgICAgICAgICAgICBTdG9yZShQTURSLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MDIsIFRCQ00pDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFRCTUQpDQog
ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDUsIFRCSU4pDQogICAgICAgICAgICAgICAgICAg
IFN0b3JlKDB4MDAsIFBNQ1IpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIElm
KExPcihUQlBDLCBMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQwKSkpKSB7DQogICAgICAgICAg
ICAgICAgICAgIElmKEFTMzQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEs
IFMzRU4pDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTEVx
dWFsKERDTFcsIDB4N2YpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBE
Q09MKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRENMVywgRENPTCkNCiAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERl
dmljZShUUE0pIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsIDB4MDIwMWQ4MjQpDQogICAg
ICAgICAgICAgICAgTmFtZShfQ0lELCAweDMxMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUo
X1VJRCwgMHgwMSkNCiAgICAgICAgICAgICAgICBOYW1lKF9DUlMsIEJ1ZmZlcigweDFlKSB7MHg0
NywgMHgxLCAweDRlLCAweDAsIDB4NGUsIDB4MCwgMHgxLCAweDIsIDB4NDcsIDB4MSwgMHgwLCAw
eGZkLCAweDAsIDB4ZmQsIDB4MSwgMHhjLCAweDg2LCAweDksIDB4MCwgMHgxLCAweDAsIDB4MCwg
MHhkNCwgMHhmZSwgMHgwLCAweDUwLCAweDAsIDB4MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAg
ICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJTyhE
ZWNvZGUxNiwgMHg0ZSwgMHg0ZSwgMHgxLCAweDIpDQogICAgICAgICAgICAgICAgIDB4MDAwOCAg
SU8oRGVjb2RlMTYsIDB4ZmQwMCwgMHhmZDAwLCAweDEsIDB4YykNCiAgICAgICAgICAgICAgICAg
MHgwMDEwICBNZW1vcnkzMkZpeGVkKFJlYWRXcml0ZSwgMHhmZWQ0MDAwMCwgMHg1MDAwKQ0KICAg
ICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBN
ZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBJZihUUE1GKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICBJZihMRXF1YWwoVFBNRiwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl
dHVybigweDAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
UmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoRElHSSkgew0KICAgICAgICAgICAgICAg
IE5hbWUoX0hJRCwgMHhlNjAyYWExYSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0K
ICAgICAgICAgICAgICAgICAgICBJZihMT3IoVEJQQywgTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwg
MHg0MCkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICBSZXR1cm4oMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgICAg
ICAgICBJZihMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAweDQwKSkpIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgIFxfU0IuUENJMC5MUENCLkVOVFIoKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHgwMSwgVTFQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4OCwgVTFB
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwNCwgVTFJKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuRVhJVCgpDQogICAgICAgICAgICAgICAgICAgICAg
ICBBbmQoSU9EMCwgMHhmOCwgSU9EMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKElPRDAs
IDB4MDIsIElPRDApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBDQUVOKQ0K
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
IE5hbWUoX0NSUywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEsIDB4MjAsIDB4MiwgMHgyMCwgMHgy
LCAweDEsIDB4OCwgMHgyMiwgMHgxMCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAv
KiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29k
ZTE2LCAweDIyMCwgMHgyMjAsIDB4MSwgMHg4KQ0KICAgICAgICAgICAgICAgICAweDAwMDggIElS
USgpIHs0fQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShCVE5TKSB7DQogICAgICAgICAgICAgICAgTmFt
ZShfSElELCAiRlVKMDJCRiIpDQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAg
ICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIE1ldGhvZChfSU5JKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFBNQ1IsIExv
Y2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwxKQ0KICAgICAgICAg
ICAgICAgICAgICBXaGlsZShMQW5kKEFuZChMb2NhbDAsIE9uZSwgKSwgTExlc3MoTG9jYWwxLCAw
eDBhKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBNRFIsIExvY2FsMCkNCiAg
ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwKDB4MGEpDQogICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShQTUNSLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQo
TG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgIE5hbWUoX0NSUywgQnVmZmVyKDB4MGUpIHsweDQ3LCAweDEsIDB4NzAsIDB4ZmQs
IDB4NzAsIDB4ZmQsIDB4MSwgMHgxMCwgMHgyMywgMHgyMCwgMHgwLCAweDEsIDB4NzksIDB4MA0K
ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
IDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4ZmQ3MCwgMHhmZDcwLCAweDEsIDB4MTApDQogICAgICAg
ICAgICAgICAgIDB4MDAwOCAgSVJRKEVkZ2UsIEFjdGl2ZUhpZ2gsIEV4Y2x1c2l2ZSkgezV9DQog
ICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgRGV2aWNlKEZKRVgpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsICJG
VUowMkIxIikNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAg
ICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0
aG9kKFJCTEwpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEJMTE0pDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAgICAg
TmFtZShMQkxMLCAweDAwKQ0KICAgICAgICAgICAgICAgICAgICBOYW1lKExMQ0QsIE9uZXMpDQog
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHQkxMKSB7DQogICAgICAg
ICAgICAgICAgICAgIFN0b3JlKExCTEwsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoTENEQiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90KExFcXVhbChMTENE
LCBMb2NhbDEpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwxLCBMTENE
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgTmFtZShCQkNULCBCdWZmZXIoQkxMTSkgeyB9KQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQkxMVCwgQkJDVCkNCiAgICAgICAgICAgICAg
ICAgICAgICAgIFN0b3JlKEJMTE0sIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFdo
aWxlKExvY2FsMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudChMb2Nh
bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEdCVUYoQkJDVCwgTG9j
YWwwKSwgTG9jYWwxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShM
b2NhbDAsIExvY2FsMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9j
YWwwLCBMQkxMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBM
b2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIElmKEJI
S0YpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJIS0YpDQogICAgICAg
ICAgICAgICAgICAgICAgICBPcihMb2NhbDIsIDB4ODAwMDAwMDAsIExvY2FsMikNCiAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oTG9jYWwyKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoR0JMUykgew0KICAgICAgICAgICAg
ICAgICAgICBTdG9yZShMQkxMLCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExD
REIsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMRXF1YWwoTExDRCwgTG9j
YWwxKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMSwgTExDRCkNCiAg
ICAgICAgICAgICAgICAgICAgICAgIE5hbWUoQkJDVCwgQnVmZmVyKEJMTE0pIHsgfSkNCiAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTFQsIEJCQ1QpDQogICAgICAgICAgICAgICAgICAg
ICAgICBTdG9yZShCTExNLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICBXaGlsZShM
b2NhbDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQoTG9jYWwwKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChHQlVGKEJCQ1QsIExvY2FsMCks
IExvY2FsMSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWww
LCBMb2NhbDIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMCwg
TEJMTCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWww
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihCSEtGKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICBPcihMb2NhbDIsIDB4ODAwMDAwMDAsIExvY2FsMikN
CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oTG9jYWwy
KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoU0JMTCwgMSkgew0K
ICAgICAgICAgICAgICAgICAgICBJZihOR1RGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBT
dG9yZShBcmcwLCBMU0JMKQ0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFplcm8pDQog
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTExlc3MoQXJnMCwg
QkxMTSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUoQkJDVCwgQnVmZmVyKEJMTE0p
IHsgfSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTFQsIEJCQ1QpDQogICAgICAg
ICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoQkJDVCwgQXJnMCwgQkxMMCkNCiAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKEJMTDAsIExDREIpDQogICAgICAgICAgICAgICAgICAg
ICAgICBTdG9yZShBcmcwLCBEVklEKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4
MiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRo
b2QoR0JVRiwgMikgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoQXJnMCwg
QXJnMSwgQkxMMCkNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEJMTDApDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHTU9VKSB7DQogICAgICAgICAgICAgICAg
ICAgIFN0b3JlKDB4MDIsIERWSUQpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4OTEsIENN
RCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAg
ICAgICAgU3RvcmUoRFZJRCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBJZihNSEtGKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBNSEtGKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgT3IoTG9jYWwwLCAweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKFNNT1UsIDEpIHsNCiAgICAgICAgICAgICAg
ICAgICAgSWYoTE5vdChMR3JlYXRlcihBcmcwLCBPbmUpKSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgU3RvcmUoQXJnMCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
OTEsIENNRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0
aG9kKEdIS1MpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEFIS0YpDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChHU0lGKSB7DQogICAgICAgICAgICAgICAg
ICAgIElmKElNVEYpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKFJHU0ksIDB4MDgsIFJH
U0kpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICBBbmQoUkdTSSwgMHhmZmZmZmZmNywgUkdTSSkNCiAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUkdTSSkNCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKEJURjEsIDB4OWEp
DQogICAgICAgICAgICBOYW1lKEJURjIsIDB4OTgpDQogICAgICAgICAgICBTY29wZShcKSB7DQog
ICAgICAgICAgICAgICAgTmFtZShCVEJMLCBaZXJvKQ0KICAgICAgICAgICAgICAgIE5hbWUoQlRT
VCwgWmVybykNCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJREEsIEFEVEEsIEJ5dGVBY2Ms
IE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
ICAgICAgICAgICAgICAgICAgICAsCTUsDQogICAgICAgICAgICAgICAgICAgIEFCRVgsCTEsDQog
ICAgICAgICAgICAgICAgICAgIE9mZnNldCgweDQ0KSwNCiAgICAgICAgICAgICAgICAgICAgLAky
LA0KICAgICAgICAgICAgICAgICAgICBXTFNXLAkxLA0KICAgICAgICAgICAgICAgICAgICBPZmZz
ZXQoMHg1MiksDQogICAgICAgICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICAgICAg
V0xSMiwJMQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJbmRleEZpZWxkKEFJ
REQsIEFEVEQsIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAg
ICAgT2Zmc2V0KDB4OTIpLA0KICAgICAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAg
ICAgICAgIFdMUkYsCTEsDQogICAgICAgICAgICAgICAgICAgIEFCT04sCTENCiAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoQ01CVCkgew0KICAgICAg
ICAgICAgICAgIE5hbWUoX0hJRCwgIkZVSjAyRTEiKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChf
U1RBKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4
NDApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICBJZihMTm90KEJURVgpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0
dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihCTEVOKSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGQpDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfSU5JKSB7
DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJUQkwpDQogICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgIE1ldGhvZChJTkZPKSB7DQogICAgICAgICAgICAgICAgICAgIElm
KExFcXVhbChfU1RBKCksIDB4MGYpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShC
VEYxLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShCVEYyLCBMb2NhbDApDQogICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA4LCBM
b2NhbDApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihMb2NhbDApDQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChTVEFUKSB7DQogICAgICAgICAgICAgICAgICAg
IFN0b3JlKDB4MDAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgSWYoQUJPTikgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDAyLCBMb2NhbDApDQogICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoV0xSRikgew0KICAgICAgICAgICAg
ICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA4LCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgSWYoQUJPTikgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgT3IoTG9jYWwwLCAweDEwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgSWYoQlRCTCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgT3IoTG9j
YWwwLCAweDgwLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
TWV0aG9kKENOVEwsIDIpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoQW5kKEFyZzAsIDB4MDIs
ICkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChfU1RBKCksIDB4MGYpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoQW5kKEFyZzEsIDB4MDIsICkpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBBQk9OKQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQUJPTikNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChBbmQoQXJnMCwg
MHgwOCwgKSwgV0xFTikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQW5k
KEFyZzEsIDB4MDgsICksIDB4MDMsIFdMUkYpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgSWYoQW5kKEFyZzAsIDB4ODAsICkpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgIFNoaWZ0UmlnaHQoQW5kKEFyZzEsIDB4ODAsICksIDB4MDcsIEJUQkwpDQogICAgICAg
ICAgICAgICAgICAgICAgICBJZihCVEJMKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
SWYoV0xTVykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoQ01CVCwg
MHg4MSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeShD
TUJULCAweDgyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICBNZXRob2QoU1dDRikgew0KICAgICAgICAgICAgICAgICAgICBJZihXTFNX
KSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdMUjIpDQogICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICBTdG9yZShaZXJvLCBXTFIyKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgIElmKEJUQkwpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKFdMU1cp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoQ01CVCwgMHg4MSkNCiAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeShDTUJULCAweDgyKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoV0xTVykgew0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIElmKEJMRU4pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoT25lLCBBQk9OKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihX
TEVOKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdM
UkYpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShaZXJvLCBXTFJGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBBQk9O
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihXTEVOKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFdMUkYpDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxz
ZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXTFJG
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQUJP
TikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBXTFJGKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChCUFRTLCAxKSB7DQogICAgICAgICAgICAgICAg
ICAgIElmKExPcihMRXF1YWwoQXJnMCwgMHgwMyksIExFcXVhbChBcmcwLCAweDA0KSkpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFdMUkYsIEJUU1QpDQogICAgICAgICAgICAgICAg
ICAgICAgICBPcihTaGlmdExlZnQoV0xTVywgMHgwMSwgKSwgQlRTVCwgQlRTVCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgIE9yKFNoaWZ0TGVmdChBQk9OLCAweDAyLCApLCBCVFNULCBCVFNUKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KFdMUjIsIDB4MDMsICksIEJUU1Qs
IEJUU1QpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
WmVybywgQUJPTikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKEJX
QUssIDEpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExFcXVhbChBcmcwLCAweDAzKSwg
TEVxdWFsKEFyZzAsIDB4MDQpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQW5k
KEJUU1QsIDB4MDEsICksIFdMUkYpDQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0
KEFuZChCVFNULCAweDA0LCApLCAweDAyLCBBQk9OKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
U2hpZnRSaWdodChBbmQoQlRTVCwgMHgwOCwgKSwgMHgwMywgV0xSMikNCiAgICAgICAgICAgICAg
ICAgICAgICAgIElmKExOb3QoTEVxdWFsKFNoaWZ0UmlnaHQoQW5kKEJUU1QsIDB4MDIsICksIDB4
MDEsICksIFdMU1cpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNXQ0YoKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKEVDKSB7DQogICAgICAg
ICAgICAgICAgTmFtZShfSElELCAweDA5MGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX0NS
UywgQnVmZmVyKDB4MTIpIHsweDQ3LCAweDEsIDB4NjIsIDB4MCwgMHg2MiwgMHgwLCAweDEsIDB4
MSwgMHg0NywgMHgxLCAweDY2LCAweDAsIDB4NjYsIDB4MCwgMHgxLCAweDEsIDB4NzksIDB4MA0K
ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
IDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4NjIsIDB4NjIsIDB4MSwgMHgxKQ0KICAgICAgICAgICAg
ICAgICAweDAwMDggIElPKERlY29kZTE2LCAweDY2LCAweDY2LCAweDEsIDB4MSkNCiAgICAgICAg
ICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgTmFtZShf
R1BFLCAweDE3KQ0KICAgICAgICAgICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAg
ICAgTmFtZShFQ09LLCBaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBN
ZXRob2QoX1JFRywgMikgew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgw
MykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIEVDT0spDQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgT3BlcmF0
aW9uUmVnaW9uKFNNQiwgRW1iZWRkZWRDb250cm9sLCAweDAwLCAweGZmKQ0KICAgICAgICAgICAg
ICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgICAgICAgICAgRmllbGQoXF9TQi5QQ0kwLkxQQ0Iu
RUMuU01CLCBCeXRlQWNjLCBMb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgT2Zmc2V0KDB4NCksDQogICAgICAgICAgICAgICAgICAgICAgICBFQ0NNLAk4LA0KICAgICAg
ICAgICAgICAgICAgICAgICAgRUNEMSwJOCwNCiAgICAgICAgICAgICAgICAgICAgICAgIEVDRDIs
CTgsDQogICAgICAgICAgICAgICAgICAgICAgICBFQ0QzLAk4LA0KICAgICAgICAgICAgICAgICAg
ICAgICAgT2Zmc2V0KDB4ZjgpLA0KICAgICAgICAgICAgICAgICAgICAgICAgRUNHTSwJOCwNCiAg
ICAgICAgICAgICAgICAgICAgICAgIEVDRzEsCTgsDQogICAgICAgICAgICAgICAgICAgICAgICBF
Q0cyLAk4LA0KICAgICAgICAgICAgICAgICAgICAgICAgRUNHMywJOA0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2
aWNlKERNQUMpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9ISUQsIDB4MDAwMmQwNDEpDQogICAg
ICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4
MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE5hbWUoX0NSUywgQnVmZmVy
KDB4MWQpIHsweDQ3LCAweDEsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgxLCAweDEwLCAweDQ3LCAw
eDEsIDB4ODEsIDB4MCwgMHg4MSwgMHgwLCAweDEsIDB4ZiwgMHg0NywgMHgxLCAweGMwLCAweDAs
IDB4YzAsIDB4MCwgMHgxLCAweDIwLCAweDJhLCAweDEwLCAweDIsIDB4NzksIDB4MA0KICAgICAg
ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAw
MCAgSU8oRGVjb2RlMTYsIDB4MCwgMHgwLCAweDEsIDB4MTApDQogICAgICAgICAgICAgICAgIDB4
MDAwOCAgSU8oRGVjb2RlMTYsIDB4ODEsIDB4ODEsIDB4MSwgMHhmKQ0KICAgICAgICAgICAgICAg
ICAweDAwMTAgIElPKERlY29kZTE2LCAweGMwLCAweGMwLCAweDEsIDB4MjApDQogICAgICAgICAg
ICAgICAgIDB4MDAxOCAgRE1BKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXIx
NikgezR9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFRJTUUpIHsNCiAgICAgICAgICAgICAgICBOYW1l
KF9ISUQsIDB4MDAwMWQwNDEpDQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAg
ICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIE5hbWUoX0NSUywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEsIDB4NDAsIDB4MCwgMHg0
MCwgMHgwLCAweDEsIDB4NCwgMHgyMiwgMHgxLCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAg
ICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgSU8o
RGVjb2RlMTYsIDB4NDAsIDB4NDAsIDB4MSwgMHg0KQ0KICAgICAgICAgICAgICAgICAweDAwMDgg
IElSUSgpIHswfQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShQSUMpIHsNCiAgICAgICAgICAgICAgICBO
YW1lKF9ISUQsIDB4ZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAg
ICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgxNSkgezB4NDcsIDB4MSwgMHgyMCwgMHgwLCAweDIw
LCAweDAsIDB4MSwgMHgyLCAweDQ3LCAweDEsIDB4YTAsIDB4MCwgMHhhMCwgMHgwLCAweDEsIDB4
MiwgMHgyMiwgMHg0LCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAgICAgIC8qIFJlc291cmNl
VGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgSU8oRGVjb2RlMTYsIDB4MjAs
IDB4MjAsIDB4MSwgMHgyKQ0KICAgICAgICAgICAgICAgICAweDAwMDggIElPKERlY29kZTE2LCAw
eGEwLCAweGEwLCAweDEsIDB4MikNCiAgICAgICAgICAgICAgICAgMHgwMDEwICBJUlEoKSB7Mn0N
CiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9
DQogICAgICAgICAgICBEZXZpY2UoUlRDKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAw
eDAwMGJkMDQxKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAgICAg
ICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
YW1lKF9DUlMsIEJ1ZmZlcigweDBkKSB7MHg0NywgMHgxLCAweDcwLCAweDAsIDB4NzAsIDB4MCwg
MHgxLCAweDIsIDB4MjIsIDB4MCwgMHgxLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBS
ZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29kZTE2
LCAweDcwLCAweDcwLCAweDEsIDB4MikNCiAgICAgICAgICAgICAgICAgMHgwMDA4ICBJUlEoKSB7
OH0NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAg
ICB9DQogICAgICAgICAgICBEZXZpY2UoU1BLUikgew0KICAgICAgICAgICAgICAgIE5hbWUoX0hJ
RCwgMHgwMDA4ZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAg
ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgwYSkgezB4NDcsIDB4MSwgMHg2MSwgMHgwLCAweDYxLCAw
eDAsIDB4MSwgMHgxLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBs
YXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIElPKERlY29kZTE2LCAweDYxLCAweDYx
LCAweDEsIDB4MSkNCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0pDQog
ICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoTUFUSCkgew0KICAgICAgICAgICAgICAg
IE5hbWUoX0hJRCwgMHgwNDBjZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0K
ICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgTmFtZShfQ1JTLCBCdWZmZXIoMHgwZCkgezB4NDcsIDB4MSwgMHhmMCwgMHgw
LCAweGYwLCAweDAsIDB4MSwgMHhmLCAweDIyLCAweDAsIDB4MjAsIDB4NzksIDB4MA0KICAgICAg
ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAw
MCAgSU8oRGVjb2RlMTYsIDB4ZjAsIDB4ZjAsIDB4MSwgMHhmKQ0KICAgICAgICAgICAgICAgICAw
eDAwMDggIElSUSgpIHsxM30NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAg
IH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoS0JDKSB7DQogICAgICAgICAg
ICAgICAgTmFtZShSMTAxLCAweDAzMDNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoUjEwNiwg
MHgyMDAzZDA0MSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0hJRCkgew0KICAgICAgICAgICAg
ICAgICAgICBJZihTSURGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUjEwMSkN
CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIFJldHVybihSMTA2KQ0KICAgICAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAg
ICAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICBOYW1lKF9DUlMsIEJ1ZmZlcigweDE1KSB7MHg0NywgMHgxLCAweDYwLCAweDAsIDB4NjAs
IDB4MCwgMHgxLCAweDEsIDB4NDcsIDB4MSwgMHg2NCwgMHgwLCAweDY0LCAweDAsIDB4MSwgMHgx
LCAweDIyLCAweDIsIDB4MCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VU
ZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJTyhEZWNvZGUxNiwgMHg2MCwg
MHg2MCwgMHgxLCAweDEpDQogICAgICAgICAgICAgICAgIDB4MDAwOCAgSU8oRGVjb2RlMTYsIDB4
NjQsIDB4NjQsIDB4MSwgMHgxKQ0KICAgICAgICAgICAgICAgICAweDAwMTAgIElSUSgpIHsxfQ0K
ICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIERldmljZShQUzJNKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAw
eDEzMGZkMDQxKQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAgICAg
ICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
YW1lKF9DUlMsIEJ1ZmZlcigweDA1KSB7MHgyMiwgMHgwLCAweDEwLCAweDc5LCAweDANCiAgICAg
ICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAw
MDAgIElSUSgpIHsxMn0NCiAgICAgICAgICAgICAgICB9ICovDQogICAgICAgICAgICAgICAgIH0p
DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoRldIKSB7DQogICAgICAgICAgICAg
ICAgTmFtZShfSElELCAweDAwMDhkNDI1KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7
DQogICAgICAgICAgICAgICAgICAgIElmKEZXSE0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
IFJldHVybigweDBmKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTmFtZShfQ1JT
LCBCdWZmZXIoMHgwZSkgezB4ODYsIDB4OSwgMHgwLCAweDEsIDB4MCwgMHgwLCAweGIwLCAweGZm
LCAweDAsIDB4MCwgMHgxMCwgMHgwLCAweDc5LCAweDANCiAgICAgICAgICAgICAgICAvKiBSZXNv
dXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAgICAgICAweDAwMDAgIE1lbW9yeTMyRml4ZWQo
UmVhZFdyaXRlLCAweGZmYjAwMDAwLCAweDEwMDAwMCkNCiAgICAgICAgICAgICAgICB9ICovDQog
ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoSFBF
VCkgew0KICAgICAgICAgICAgICAgIE5hbWUoX0hJRCwgMHgwMzAxZDA0MSkNCiAgICAgICAgICAg
ICAgICBOYW1lKF9DSUQsIDB4MDEwY2QwNDEpDQogICAgICAgICAgICAgICAgTmFtZShCVUYwLCBC
dWZmZXIoMHgwZSkgezB4ODYsIDB4OSwgMHgwLCAweDAsIDB4MCwgMHgwLCAweGQwLCAweGZlLCAw
eDAsIDB4NCwgMHgwLCAweDAsIDB4NzksIDB4MA0KICAgICAgICAgICAgICAgIC8qIFJlc291cmNl
VGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgIDB4MDAwMCAgTWVtb3J5MzJGaXhlZChSZWFk
T25seSwgMHhmZWQwMDAwMCwgMHg0MDApDQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAg
ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbihSQ1JCLCBTeXN0ZW1N
ZW1vcnksIDB4ZmVkMWMwMDAsIDB4NDAwMCkNCiAgICAgICAgICAgICAgICBGaWVsZChSQ1JCLCBE
V29yZEFjYywgTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0KDB4
MzQwNCksDQogICAgICAgICAgICAgICAgICAgIEhQQVMsCTIsDQogICAgICAgICAgICAgICAgICAg
ICwJNSwNCiAgICAgICAgICAgICAgICAgICAgSFBBRSwJMQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBJZihMTm90
KExMZXNzKFxfU0IuT1NUUCgpLCAweDA4KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElm
KEhQQUUpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEhQQUUpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
MHgwMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKF9DUlMsIDAs
IFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoSFBBRSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZChCVUYwLCAweDA0LCBIUFQwKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEhQQVMsIDB4MDEpKSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RvcmUoMHhmZWQwMTAwMCwgSFBUMCkNCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChIUEFTLCAweDAyKSkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ZmVkMDIwMDAsIEhQVDApDQog
ICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1
YWwoSFBBUywgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweGZl
ZDAzMDAwLCBIUFQwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgIFJldHVybihCVUYwKQ0KICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFxfU0IuUENJMC5MUENCKSB7DQog
ICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKExJT0QsIFBDSV9Db25maWcsIDB4ODAsIDB4
MGEpDQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKE1CQVIsIFN5c3RlbU1lbW9yeSwg
MHhmZWQxNDAwMCwgMHg0MDAwKQ0KICAgICAgICAgICAgICAgIEZpZWxkKE1CQVIsIERXb3JkQWNj
LCBMb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICAgICBPZmZzZXQoMHhmMDgpLA0K
ICAgICAgICAgICAgICAgICAgICAsCTQsDQogICAgICAgICAgICAgICAgICAgIEMyU0wsCTENCiAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBGaWVsZChMSU9ELCBB
bnlBY2MsIE5vTG9jaywgUHJlc2VydmUpIHsNCiAgICAgICAgICAgICAgICBDQURSLAkzLA0KICAg
ICAgICAgICAgICAgICwJMSwNCiAgICAgICAgICAgICAgICBDQkRSLAkzLA0KICAgICAgICAgICAg
ICAgIE9mZnNldCgweDEpLA0KICAgICAgICAgICAgICAgIExQRFIsCTIsDQogICAgICAgICAgICAg
ICAgLAkyLA0KICAgICAgICAgICAgICAgIEZERFIsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0
KDB4MiksDQogICAgICAgICAgICAgICAgQ0FMRSwJMSwNCiAgICAgICAgICAgICAgICBDQkxFLAkx
LA0KICAgICAgICAgICAgICAgIExQTEUsCTEsDQogICAgICAgICAgICAgICAgRkRMRSwJMSwNCiAg
ICAgICAgICAgICAgICBPZmZzZXQoMHg4KSwNCiAgICAgICAgICAgICAgICBHRDJFLAkxLA0KICAg
ICAgICAgICAgICAgICwJMywNCiAgICAgICAgICAgICAgICBHRDJCLAkxMg0KICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgTmFtZShUQ09NLCBQYWNrYWdlKDB4MDgpIHsNCiAgICAgICAgICAgICAg
ICAweDAzZjgsDQogICAgICAgICAgICAgICAgMHgwMmY4LA0KICAgICAgICAgICAgICAgIDB4MDIy
MCwNCiAgICAgICAgICAgICAgICAweDAyMjgsDQogICAgICAgICAgICAgICAgMHgwMjM4LA0KICAg
ICAgICAgICAgICAgIDB4MDJlOCwNCiAgICAgICAgICAgICAgICAweDAzMzgsDQogICAgICAgICAg
ICAgICAgMHgwM2U4LA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5hbWUoVExQVCwgUGFj
a2FnZSgweDAzKSB7DQogICAgICAgICAgICAgICAgMHgwMzc4LA0KICAgICAgICAgICAgICAgIDB4
MDI3OCwNCiAgICAgICAgICAgICAgICAweDAzYmMsDQogICAgICAgICAgICB9KQ0KICAgICAgICAg
ICAgTmFtZShURkRELCBQYWNrYWdlKDB4MDIpIHsNCiAgICAgICAgICAgICAgICAweDAzZjAsDQog
ICAgICAgICAgICAgICAgMHgwMzcwLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE1ldGhv
ZChERU5BLCAzLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAs
IDB4MDApKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRDT00sIE1FUSwgQXJn
MSwgTVRSLCAweDAwLCAweDAwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90
KExFcXVhbChMb2NhbDAsIE9uZXMpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
TG9jYWwwLCBDQURSKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBDQUxFKQ0K
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4MDEpLCBM
RXF1YWwoQXJnMCwgMHgwMikpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShNYXRj
aChUQ09NLCBNRVEsIEFyZzEsIE1UUiwgMHgwMCwgMHgwMCksIExvY2FsMCkNCiAgICAgICAgICAg
ICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMCwgT25lcykpKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBDQkRSKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0b3JlKE9uZSwgQ0JMRSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAzKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRDT00sIE1FUSwgQXJnMSwgTVRSLCAweDAwLCAweDAw
KSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExv
Y2FsMCwgT25lcykpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExv
Y2FsMCwgQ0JEUikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBD
QkxFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzIsIDB4
MDQsIEdEMkIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgR0Qy
RSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4MDQpLCBMRXF1YWwoQXJnMCwgMHgwNSkpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKE1hdGNoKFRMUFQsIE1FUSwg
QXJnMSwgTVRSLCAweDAwLCAweDAwKSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJZihMTm90KExFcXVhbChMb2NhbDAsIE9uZXMpKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBMUERSKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBMUExFKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJZihMRXF1YWwoQXJnMCwgMHgwNykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKE1hdGNoKFRGREQsIE1FUSwgQXJnMSwgTVRSLCAweDAwLCAweDAwKSwgTG9j
YWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChMRXF1YWwo
TG9jYWwwLCBPbmVzKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShMb2NhbDAsIEZERFIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3RvcmUoT25lLCBGRExFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0
aG9kKERESVMsIDEsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
MCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgQ0FMRSkNCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
IElmKExPcihMRXF1YWwoQXJnMCwgMHgwMSksIExFcXVhbChBcmcwLCAweDAyKSkpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIENCTEUpDQogICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJ
ZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
ZShaZXJvLCBDQkxFKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEdE
MkUpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMT3IoTEVxdWFsKEFyZzAsIDB4
MDQpLCBMRXF1YWwoQXJnMCwgMHgwNSkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKFplcm8sIExQTEUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKFplcm8sIEZETEUpDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICB9DQogICAgICAgICAgICBGaWVsZChTSU8sIEJ5dGVBY2MsIE5vTG9jaywgUHJlc2Vy
dmUpIHsNCiAgICAgICAgICAgICAgICBTSUlELAk4LA0KICAgICAgICAgICAgICAgIFNJRFQsCTgN
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEluZGV4RmllbGQoU0lJRCwgU0lEVCwgQnl0ZUFj
YywgTm9Mb2NrLCBQcmVzZXJ2ZSkgew0KICAgICAgICAgICAgICAgICwJMywNCiAgICAgICAgICAg
ICAgICBGRENQLAkxLA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDEpLA0KICAgICAgICAgICAg
ICAgICwJMiwNCiAgICAgICAgICAgICAgICBQUFAsCTEsDQogICAgICAgICAgICAgICAgUFBNLAkx
LA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDIpLA0KICAgICAgICAgICAgICAgICwJMywNCiAg
ICAgICAgICAgICAgICBVMVAsCTEsDQogICAgICAgICAgICAgICAgLAkzLA0KICAgICAgICAgICAg
ICAgIFUyUCwJMSwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHg0KSwNCiAgICAgICAgICAgICAg
ICBQUEVNLAkyLA0KICAgICAgICAgICAgICAgIE9mZnNldCgweGEpLA0KICAgICAgICAgICAgICAg
IEVGVE0sCTgsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4YyksDQogICAgICAgICAgICAgICAg
VTJNRCwJNiwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgyMCksDQogICAgICAgICAgICAgICAg
RkRBLAk4LA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBFVE9TLAkxLA0K
ICAgICAgICAgICAgICAgIE9mZnNldCgweDIzKSwNCiAgICAgICAgICAgICAgICBQUEEsCTgsDQog
ICAgICAgICAgICAgICAgVTFBLAk4LA0KICAgICAgICAgICAgICAgIFUyQSwJOCwNCiAgICAgICAg
ICAgICAgICBQUEQsCTQsDQogICAgICAgICAgICAgICAgRkRELAk0LA0KICAgICAgICAgICAgICAg
IFBQSSwJNCwNCiAgICAgICAgICAgICAgICBGREksCTQsDQogICAgICAgICAgICAgICAgVTJJLAk0
LA0KICAgICAgICAgICAgICAgIFUxSSwJNCwNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgyYiks
DQogICAgICAgICAgICAgICAgSVJBLAk4LA0KICAgICAgICAgICAgICAgIElSRCwJNA0KICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgTXV0ZXgoTVRYUywgMCkNCiAgICAgICAgICAgIE1ldGhvZChF
TlRSKSB7DQogICAgICAgICAgICAgICAgQWNxdWlyZShNVFhTLCAweGZmZmYpDQogICAgICAgICAg
ICAgICAgU3RvcmUoMHg1NSwgU0lJRCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
ZChFWElUKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoMHhhYSwgU0lJRCkNCiAgICAgICAgICAg
ICAgICBSZWxlYXNlKE1UWFMpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoU0VU
UiwgNSkgew0KICAgICAgICAgICAgICAgIEVOVFIoKQ0KICAgICAgICAgICAgICAgIElmKEFyZzMp
IHsNCiAgICAgICAgICAgICAgICAgICAgU3VidHJhY3QoRmluZFNldFJpZ2h0Qml0KEFyZzMsIFpl
cm8pLCBPbmUsIExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxz
ZSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMCkNCiAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgSWYoQXJnNCkgew0KICAgICAgICAgICAgICAgICAgICBT
dWJ0cmFjdChGaW5kU2V0UmlnaHRCaXQoQXJnNCwgWmVybyksIE9uZSwgTG9jYWwxKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHgwZiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBJ
ZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChB
cmcxLCAweDAyLCBVMUEpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMCwgVTFJKQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAg
ICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBT
aGlmdFJpZ2h0KEFyZzEsIDB4MDIsIFUyQSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
KExvY2FsMCwgVTJJKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBcmcxLCAweDAyLCBVMkEp
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBVMkkpDQogICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBcmcxLCAweDAyLCBVMkEpDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQXJnMiwgMHgwMywgSVJBKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDAsIFUySSkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwxLCBJUkQpDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkpIHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQXJnMSwgMHgw
MiwgUFBBKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWww
LCBQUEkpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzEsIDB4MDIsIFBQQSkNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDAsIFBQSSkNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShMb2NhbDEsIFBQRCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IElmKExFcXVhbChBcmcwLCAweDA3KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFyZzEsIDB4MDIsIEZEQSkNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBGREkpDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2FsMSwgRkREKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICBFWElUKCkNCiAgICAgICAgICAgICAgICBJZihBcmcxKSB7DQogICAgICAgICAgICAgICAg
ICAgIElmKENvbmRSZWZPZihERU5BLCBMb2NhbDApKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBERU5BKEFyZzAsIEFyZzEsIEFyZzIpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgU0VUTShBcmcwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoQ29uZFJlZk9mKERESVMsIExvY2FsMCkp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIERESVMoQXJnMCkNCiAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhv
ZChHRVRSLCA1KSB7DQogICAgICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgU3Rv
cmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4MGYsIExvY2FsMSkNCiAg
ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAg
ICAgU2hpZnRMZWZ0KFUxQSwgMHgwMiwgQXJnMSkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUo
VTFJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMSkpIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgIFNoaWZ0TGVmdChVMkEsIDB4MDIsIEFyZzEpDQogICAgICAgICAgICAgICAg
ICAgICAgICBTdG9yZShVMkksIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChB
cmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChVMkEs
IDB4MDIsIEFyZzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoVTJJLCBMb2Nh
bDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0KFUyQSwgMHgwMiwg
QXJnMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0KElSQSwgMHgw
MywgQXJnMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoVTJJLCBMb2Nh
bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKElSRCwgTG9jYWwxKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAs
IDB4MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQo
UFBBLCAweDAyLCBBcmcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoUFBJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoUFBBLCAweDAyLCBBcmcxKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBQSSwgTG9jYWwwKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFBQRCwgTG9jYWwxKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDcpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChGREEsIDB4MDIsIEFyZzEpDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEZESSwgTG9jYWwwKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShGREQsIExv
Y2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgSWYoTG9jYWwwKSB7DQogICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChP
bmUsIExvY2FsMCwgQXJnMykNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxz
ZSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEFyZzMpDQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFsKExvY2FsMSwgMHgwZikpKSB7DQog
ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdChPbmUsIExvY2FsMSwgQXJnNCkNCiAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFN0
b3JlKFplcm8sIEFyZzQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQo
KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgTWV0aG9kKFNFVE0sIDEpIHsNCiAgICAgICAg
ICAgICAgICBFTlRSKCkNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMCkpIHsN
CiAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBVMVApDQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
MCwgMHgwMSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDYsIFUyTUQpDQog
ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFUyUCkNCiAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
IElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MGUsIFUyTUQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBV
MlApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBF
bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwZSwgVTJNRCkNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoT25lLCBVMlApDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkpIHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChQUEYsIE9uZSkp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFBQ
TSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKFplcm8sIFBQTSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQUEVNKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
T25lLCBQUFApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQUE0pDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgUFBFTSkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZShPbmUsIFBQUCkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBF
WElUKCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChTRVRQLCAyKSB7DQogICAg
ICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDAp
KSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFUxUCkNCiAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVh
bChBcmcwLCAweDAxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgVTJQ
KQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgVTJQKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0b3JlKEFyZzEsIFUyUCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA0KSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUFBQKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDUpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUFBQ
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQoKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
TWV0aG9kKEdFVFAsIDEpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBMb2NhbDApDQog
ICAgICAgICAgICAgICAgRU5UUigpDQogICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4
MDApKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFUxUCwgTG9jYWwwKQ0KICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYo
TEVxdWFsKEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShVMlAs
IExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNl
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFUyUCwgTG9jYWwwKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKFUyUCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDQpKSB7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShQUFAsIExvY2FsMCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChB
cmcwLCAweDA1KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKFBQUCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVYSVQoKQ0KICAgICAgICAgICAg
ICAgIFJldHVybihMb2NhbDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoQ0hL
TSwgMSkgew0KICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAwKSkgew0KICAgICAg
ICAgICAgICAgICAgICBJZihTUEFGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
T25lKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMSkp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChTUEJGLCAweDAzKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPbmUpDQogICAgICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7
DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMikpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoU1BCRiwgT25lKSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAw
eDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoU1BCRiwg
MHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybihPbmUp
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA0KSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE9yKExFcXVhbChQUEYsIE9uZSksIExFcXVh
bChQUEYsIDB4MDIpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFJldHVybihPbmUpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1
YWwoQXJnMCwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBJZihMRXF1YWwoUFBGLCAweDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDA3KSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihGRENGKSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oT25lKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIFJldHVybihaZXJv
KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFVBUjEpIHsNCiAgICAgICAgICAg
ICAgICBOYW1lKF9ISUQsIDB4MDEwNWQwNDEpDQogICAgICAgICAgICAgICAgTmFtZShfVUlELCAw
eDAxKQ0KICAgICAgICAgICAgICAgIE5hbWUoUlNSQywgQnVmZmVyKDB4MGQpIHsweDQ3LCAweDEs
IDB4ZjgsIDB4MywgMHhmOCwgMHgzLCAweDEsIDB4OCwgMHgyMiwgMHgxMCwgMHgwLCAweDc5LCAw
eDANCiAgICAgICAgICAgICAgICAvKiBSZXNvdXJjZVRlbXBsYXRlKCkgew0KICAgICAgICAgICAg
ICAgICAweDAwMDAgIElPKERlY29kZTE2LCAweDNmOCwgMHgzZjgsIDB4MSwgMHg4KQ0KICAgICAg
ICAgICAgICAgICAweDAwMDggIElSUSgpIHs0fQ0KICAgICAgICAgICAgICAgIH0gKi8NCiAgICAg
ICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDM0KSB7
MHgzMSwgMHg0LCAweDQ3LCAweDEsIDB4ZjgsIDB4MywgMHhmOCwgMHgzLCAweDEsIDB4OCwgMHgy
MiwgMHgxMCwgMHgwLCAweDMwLCAweDQ3LCAweDEsIDB4ZjgsIDB4MiwgMHhmOCwgMHgyLCAweDEs
IDB4OCwgMHgyMiwgMHg4LCAweDAsIDB4MzAsIDB4NDcsIDB4MSwgMHhlOCwgMHgzLCAweGU4LCAw
eDMsIDB4MSwgMHg4LCAweDIyLCAweDEwLCAweDAsIDB4MzAsIDB4NDcsIDB4MSwgMHhlOCwgMHgy
LCAweGU4LCAweDIsIDB4MSwgMHg4LCAweDIyLCAweDgsIDB4MCwgMHgzOCwgMHg3OSwgMHgwDQog
ICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAg
ICAgU3RhcnREZXBlbmRlbnRGbigwLCAxKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDEg
IFVua25vd24oMHgwLCA0KQ0KICAgICAgICAgICAgICAgICAgICAgMHgwMDA2ICBVbmtub3duKDB4
ZjgsIDI1OSkNCiB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAgICAgICAg
ICAgICAgICAgIElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4NDApKSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihDSEtNKDB4
MDApKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VUUigweDAwLCBSZWZPZihMb2Nh
bDApLCBSZWZPZihMb2NhbDEpLCBSZWZPZihMb2NhbDIpLCBSZWZPZihMb2NhbDMpKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExvY2FsMCkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBSZXR1cm4oMHgwZikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFJldHVybigweDBkKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybigweDAwKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgICAgIE1ldGhvZChfQ1JTKSB7DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv
cmRGaWVsZChSU1JDLCAweDAyLCBJTzExKQ0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk
RmllbGQoUlNSQywgMHgwNCwgSU8xMikNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp
ZWxkKFJTUkMsIDB4MDksIElSUTEpDQogICAgICAgICAgICAgICAgICAgIEdFVFIoMHgwMCwgUmVm
T2YoTG9jYWwwKSwgUmVmT2YoTG9jYWwxKSwgUmVmT2YoTG9jYWwyKSwgUmVmT2YoTG9jYWwzKSkN
CiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBJTzExKQ0KICAgICAgICAgICAgICAg
ICAgICBTdG9yZShMb2NhbDAsIElPMTIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKExvY2Fs
MiwgSVJRMSkNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFJTUkMpDQogICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfU1JTLCAxKSB7DQogICAgICAgICAgICAgICAg
ICAgIENyZWF0ZVdvcmRGaWVsZChBcmcwLCAweDA0LCBJTzExKQ0KICAgICAgICAgICAgICAgICAg
ICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwOSwgSVJRMSkNCiAgICAgICAgICAgICAgICAgICAg
U0VUUigweDAwLCBJTzExLCBaZXJvLCBJUlExLCBaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICBNZXRob2QoX0RJUykgew0KICAgICAgICAgICAgICAgICAgICBTRVRSKDB4
MDAsIFplcm8sIFplcm8sIFplcm8sIFplcm8pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIE1ldGhvZChfSU5JKSB7DQogICAgICAgICAgICAgICAgICAgIElmKENIS00oMHgwMCkp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFNFVE0oMHgwMCkNCiAgICAgICAgICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmlj
ZShMTktBKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAg
ICAgICAgICAgIE5hbWUoX1VJRCwgMHgwMSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywg
MCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQVJDKQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2
KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyog
UmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWws
IEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQog
ICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAg
IE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUo
UlRMQSwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAg
ICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAg
ICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAg
ICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAg
IENyZWF0ZVdvcmRGaWVsZChSVExBLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBT
dG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5k
KFBBUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExBKQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFs
aXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwg
SVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkN
CiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoTG9jYWwwLCBQQVJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihB
bmQoUEFSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkp
DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktC
KSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAg
ICAgIE5hbWUoX1VJRCwgMHgwMikNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2Vy
aWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQlJDKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgy
MywgMHhmYSwgMHhkOCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3Vy
Y2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2
ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAg
ICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhv
ZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMQiwg
QnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAg
ICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAw
eDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAg
IH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0
ZVdvcmRGaWVsZChSVExCLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSha
ZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBCUkMs
IDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExCKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkg
ew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkN
CiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAg
ICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoTG9jYWwwLCBQQlJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRo
b2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEJS
QywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktDKSB7DQog
ICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5h
bWUoX1VJRCwgMHgwMykNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXpl
ZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQQ1JDKQ0KICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhm
YSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1w
bGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywg
U2hhcmVkKSB7MSwgMywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAg
ICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JT
LCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMQywgQnVmZmVy
KDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAg
ICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAg
IElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8N
CiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG
aWVsZChSVExDLCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJ
UlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBDUkMsIDB4MGYs
ICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExDKQ0KICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAg
ICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAg
ICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAg
ICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9j
YWwwLCBQQ1JDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NU
QSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENSQywgMHg4
MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktEKSB7DQogICAgICAg
ICAgICAgICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJ
RCwgMHgwNCkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0K
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQRFJDKQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhk
OCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgp
IHsNCiAgICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVk
KSB7MSwgMywgNCwgNSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAq
Lw0KICAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBT
ZXJpYWxpemVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRCwgQnVmZmVyKDB4MDYp
IHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8q
IFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShM
ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAg
ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChS
VExELCAweDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0K
ICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBEUkMsIDB4MGYsICksIElS
UTApDQogICAgICAgICAgICAgICAgICAgIFJldHVybihSVExEKQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAg
ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAg
ICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAg
ICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQ
RFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwg
U2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUERSQywgMHg4MCwgKSkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktFKSB7DQogICAgICAgICAgICAg
ICAgTmFtZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgw
NSkNCiAgICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAg
ICAgICAgICAgICAgICBTdG9yZSgweDgwLCBQRVJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgx
OCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAg
ICAgICAgICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwg
MywgNCwgNSwgNiwgNywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAg
ICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxp
emVkKSB7DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRSwgQnVmZmVyKDB4MDYpIHsweDIz
LCAweDAsIDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291
cmNlVGVtcGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwg
QWN0aXZlTG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAg
ICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExFLCAw
eDAxLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAg
ICAgICAgICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBFUkMsIDB4MGYsICksIElSUTApDQog
ICAgICAgICAgICAgICAgICAgIFJldHVybihSVExFKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAg
ICAgICBDcmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAg
ICAgRmluZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVj
cmVtZW50KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQRVJDKQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFs
aXplZCkgew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEVSQywgMHg4MCwgKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1
cm4oMHgwYikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgIERldmljZShMTktGKSB7DQogICAgICAgICAgICAgICAgTmFt
ZShfSElELCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwNikNCiAg
ICAgICAgICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAg
ICAgICAgICBTdG9yZSgweDgwLCBQRlJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICBOYW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkOCwgMHgxOCwgMHg3
OSwgMHgwDQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAg
ICAgICAgICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwg
NSwgNiwgNywgMTEsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAg
ICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7
DQogICAgICAgICAgICAgICAgICAgIE5hbWUoUlRMRiwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAs
IDB4MCwgMHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVt
cGxhdGUoKSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZl
TG93LCBTaGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAg
ICAgIH0pDQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExGLCAweDAxLCBJ
UlEwKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAg
ICAgICAgICBTaGlmdExlZnQoMHgwMSwgQW5kKFBGUkMsIDB4MGYsICksIElSUTApDQogICAgICAg
ICAgICAgICAgICAgIFJldHVybihSVExGKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICBNZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBD
cmVhdGVXb3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmlu
ZFNldFJpZ2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50
KExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQRlJDKQ0KICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkg
ew0KICAgICAgICAgICAgICAgICAgICBJZihBbmQoUEZSQywgMHg4MCwgKSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgw
YikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIERldmljZShMTktHKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElE
LCAweDBmMGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwNykNCiAgICAgICAg
ICAgICAgICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAg
ICBTdG9yZSgweDgwLCBQR1JDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBO
YW1lKF9QUlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmYSwgMHhkNCwgMHgxOCwgMHg3OSwgMHgw
DQogICAgICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAg
ICAgMHgwMDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwgMywgNCwgNSwgNiwg
NywgMTAsIDEyLCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAg
ICB9KQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAg
ICAgICAgICAgICAgICAgIE5hbWUoUlRMRywgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwg
MHgxOCwgMHg3OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUo
KSB7DQogICAgICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBT
aGFyZWQpDQogICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0p
DQogICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExHLCAweDAxLCBJUlEwKQ0K
ICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAg
ICBTaGlmdExlZnQoMHgwMSwgQW5kKFBHUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAg
ICAgICAgIFJldHVybihSVExHKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBN
ZXRob2QoX1NSUywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVX
b3JkRmllbGQoQXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJp
Z2h0Qml0KElSUTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2Fs
MCkNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQR1JDKQ0KICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAg
ICAgICAgICAgICAgICAgICBJZihBbmQoUEdSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgUmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgIERldmljZShMTktIKSB7DQogICAgICAgICAgICAgICAgTmFtZShfSElELCAweDBm
MGNkMDQxKQ0KICAgICAgICAgICAgICAgIE5hbWUoX1VJRCwgMHgwOCkNCiAgICAgICAgICAgICAg
ICBNZXRob2QoX0RJUywgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBTdG9y
ZSgweDgwLCBQSFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOYW1lKF9Q
UlMsIEJ1ZmZlcigweDA2KSB7MHgyMywgMHhmOCwgMHhkOCwgMHgxOCwgMHg3OSwgMHgwDQogICAg
ICAgICAgICAgICAgLyogUmVzb3VyY2VUZW1wbGF0ZSgpIHsNCiAgICAgICAgICAgICAgICAgMHgw
MDAwICBJUlEoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MywgNCwgNSwgNiwgNywgMTEsIDEy
LCAxNCwgMTV9DQogICAgICAgICAgICAgICAgfSAqLw0KICAgICAgICAgICAgICAgICB9KQ0KICAg
ICAgICAgICAgICAgIE1ldGhvZChfQ1JTLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICAg
ICAgICAgIE5hbWUoUlRMSCwgQnVmZmVyKDB4MDYpIHsweDIzLCAweDAsIDB4MCwgMHgxOCwgMHg3
OSwgMHgwDQogICAgICAgICAgICAgICAgICAgIC8qIFJlc291cmNlVGVtcGxhdGUoKSB7DQogICAg
ICAgICAgICAgICAgICAgICAweDAwMDAgIElSUShMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpDQog
ICAgICAgICAgICAgICAgICAgIH0gKi8NCiAgICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAg
ICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChSVExILCAweDAxLCBJUlEwKQ0KICAgICAgICAg
ICAgICAgICAgICBTdG9yZShaZXJvLCBJUlEwKQ0KICAgICAgICAgICAgICAgICAgICBTaGlmdExl
ZnQoMHgwMSwgQW5kKFBIUkMsIDB4MGYsICksIElSUTApDQogICAgICAgICAgICAgICAgICAgIFJl
dHVybihSVExIKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBNZXRob2QoX1NS
UywgMSwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQo
QXJnMCwgMHgwMSwgSVJRMCkNCiAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0KElS
UTAsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2FsMCkNCiAgICAg
ICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBQSFJDKQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICBNZXRob2QoX1NUQSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAg
ICAgICAgICBJZihBbmQoUEhSQywgMHg4MCwgKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
UmV0dXJuKDB4MDkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwYikNCiAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
ICAgICAgICBEZXZpY2UoUEFUQSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWYwMDAx
KQ0KICAgICAgICAgICAgTmFtZShQTU1OLCBCdWZmZXIoMHgyOCkgeyB9KQ0KICAgICAgICAgICAg
TmFtZShQU01OLCBCdWZmZXIoMHgyOCkgeyB9KQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9u
KEFUSU8sIFN5c3RlbUlPLCAweDAxZjcsIDB4MDEpDQogICAgICAgICAgICBGaWVsZChBVElPLCBC
eXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKSB7DQogICAgICAgICAgICAgICAgU1RTUiwJOA0KICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFBDSSwgUENJX0NvbmZpZywg
MHg0MCwgMHgxOCkNCiAgICAgICAgICAgIEZpZWxkKFBDSSwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVz
ZXJ2ZSkgew0KICAgICAgICAgICAgICAgIFBUSTAsCTEsDQogICAgICAgICAgICAgICAgUElFMCwJ
MSwNCiAgICAgICAgICAgICAgICBQUFAwLAkxLA0KICAgICAgICAgICAgICAgIFBEVDAsCTEsDQog
ICAgICAgICAgICAgICAgUFRJMSwJMSwNCiAgICAgICAgICAgICAgICBQSUUxLAkxLA0KICAgICAg
ICAgICAgICAgIFBQUDEsCTEsDQogICAgICAgICAgICAgICAgUERUMSwJMSwNCiAgICAgICAgICAg
ICAgICBQUkNULAkyLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBQSVNQ
LAkyLA0KICAgICAgICAgICAgICAgIFBTSVQsCTEsDQogICAgICAgICAgICAgICAgUElERSwJMSwN
CiAgICAgICAgICAgICAgICBPZmZzZXQoMHg0KSwNCiAgICAgICAgICAgICAgICBQUkMxLAkyLA0K
ICAgICAgICAgICAgICAgIFBJUzEsCTIsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OCksDQog
ICAgICAgICAgICAgICAgUFNEMCwJMSwNCiAgICAgICAgICAgICAgICBQU0QxLAkxLA0KICAgICAg
ICAgICAgICAgIE9mZnNldCgweGEpLA0KICAgICAgICAgICAgICAgIFBDVDAsCTIsDQogICAgICAg
ICAgICAgICAgLAkyLA0KICAgICAgICAgICAgICAgIFBDVDEsCTIsDQogICAgICAgICAgICAgICAg
T2Zmc2V0KDB4MTQpLA0KICAgICAgICAgICAgICAgIFBDQjAsCTEsDQogICAgICAgICAgICAgICAg
UENCMSwJMSwNCiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUE1DQywJMSwN
CiAgICAgICAgICAgICAgICBQU0NDLAkxLA0KICAgICAgICAgICAgICAgICwJNiwNCiAgICAgICAg
ICAgICAgICBGUEMwLAkxLA0KICAgICAgICAgICAgICAgIEZQQzEsCTEsDQogICAgICAgICAgICAg
ICAgT2Zmc2V0KDB4MTYpLA0KICAgICAgICAgICAgICAgIFBTTUQsCTINCiAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIERldmljZShQUklNKSB7DQogICAgICAgICAgICAgICAgTmFtZShfQURSLCAw
eDAwKQ0KICAgICAgICAgICAgICAgIERldmljZShNQVNUKSB7DQogICAgICAgICAgICAgICAgICAg
IE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kKF9HVEYpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgIE5hbWUoR1RGQiwgQnVmZmVyKDB4MTUpIHsweDMsIDB4MCwg
MHgwLCAweDAsIDB4MCwgMHhhMCwgMHhlZiwgMHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YTAs
IDB4ZWYsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHgwLCAweGEwLCAweGY1IH0pDQogICAgICAgICAg
ICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoR1RGQiwgMHgwMSwgU1BJTykNCiAgICAgICAg
ICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZChHVEZCLCAweDA4LCBTRE1BKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkKEdURkIsIDB4MTQsIFNDTUQpDQogICAg
ICAgICAgICAgICAgICAgICAgICBJZihMTm90KFNTVVAoKSkpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTdG9yZSgweDAwLCBTQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChQSUUwKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBJZihMT3IoUERUMCwgTE5vdChQVEkwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RvcmUoMHgwOCwgU1BJTykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIElmKExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDAzKSkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwYSwgU1BJTykNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExMZXNzKEFk
ZChQSVNQLCBQUkNULCApLCAweDA1KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0b3JlKDB4MGIsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDBjLCBTUElPKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoUFNEMCkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChGUEMwLCBQTUNDLCApKSB7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4NDUsIFNETUEpDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENCMCwgUE1DQywgKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKFBDVDAsIDB4MDIpKSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg0NCwgU0RN
QSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKDB4NDMsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBJZihMRXF1YWwoUENUMCwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQyLCBTRE1BKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFs
KFBDVDAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKDB4NDEsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQwLCBT
RE1BKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIElmKExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDA1KSkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgyMiwgU0RNQSkNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgICAgICBSZXR1cm4oR1RGQikNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBEZXZpY2UoU0xBVikgew0KICAgICAgICAg
ICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDEpDQogICAgICAgICAgICAgICAgICAgIE1ldGhvZChf
R1RGKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBOYW1lKEdURkIsIEJ1ZmZlcigweDE1KSB7
MHgzLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4YjAsIDB4ZWYsIDB4MywgMHgwLCAweDAsIDB4MCwg
MHgwLCAweGIwLCAweGVmLCAweDAsIDB4MCwgMHgwLCAweDAsIDB4MCwgMHhiMCwgMHhmNSB9KQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkKEdURkIsIDB4MDEsIFNQSU8p
DQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVCeXRlRmllbGQoR1RGQiwgMHgwOCwgU0RN
QSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZChHVEZCLCAweDE0LCBT
Q01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChTU1VQKCkpKSB7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgU0NNRCkNCiAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoUElFMSkpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBTUElPKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSWYoTE9yKFBEVDEsIExOb3QoUFRJMSkpKSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDgsIFNQSU8pDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBJZihQU0lUKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJZihMTGVzcyhBZGQoUElTMSwgUFJDMSwgKSwgMHgwMykpIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDBhLCBTUElPKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgSWYoTExlc3MoQWRkKFBJUzEsIFBSQzEsICksIDB4MDUpKSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MGIsIFNQSU8pDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZSgweDBjLCBTUElPKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm
KExMZXNzKEFkZChQSVNQLCBQUkNULCApLCAweDAzKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MGEsIFNQSU8pDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF
bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMTGVzcyhB
ZGQoUElTUCwgUFJDVCwgKSwgMHgwNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RvcmUoMHgwYiwgU1BJTykNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MGMsIFNQSU8pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoUFNEMSkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChGUEMxLCBQU0NDLCApKSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4NDUsIFNETUEpDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoUENCMSwgUFNDQywgKSkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKFBDVDEsIDB4MDIp
KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg0NCwg
U0RNQSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFN0b3JlKDB4NDMsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBJZihMRXF1YWwoUENUMSwgMHgwMikpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQyLCBTRE1BKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVx
dWFsKFBDVDEsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKDB4NDEsIFNETUEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ug
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDQw
LCBTRE1BKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIElmKFBTSVQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSWYoTExlc3MoQWRkKFBJUzEsIFBSQzEsICksIDB4MDUpKSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgyMiwgU0RNQSkNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgSWYoTExlc3MoQWRkKFBJU1AsIFBSQ1QsICksIDB4MDUpKSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIxLCBTRE1BKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
MHgyMiwgU0RNQSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgIFJldHVybihHVEZCKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIE1ldGhvZChfR1RNKSB7DQogICAgICAgICAg
ICAgICAgICAgIE5hbWUoR1RNQiwgQnVmZmVyKDB4MTQpIHsgfSkNCiAgICAgICAgICAgICAgICAg
ICAgQ3JlYXRlRFdvcmRGaWVsZChHVE1CLCAweDAwLCBQSU8wKQ0KICAgICAgICAgICAgICAgICAg
ICBDcmVhdGVEV29yZEZpZWxkKEdUTUIsIDB4MDQsIERNQTApDQogICAgICAgICAgICAgICAgICAg
IENyZWF0ZURXb3JkRmllbGQoR1RNQiwgMHgwOCwgUElPMSkNCiAgICAgICAgICAgICAgICAgICAg
Q3JlYXRlRFdvcmRGaWVsZChHVE1CLCAweDBjLCBETUExKQ0KICAgICAgICAgICAgICAgICAgICBD
cmVhdGVEV29yZEZpZWxkKEdUTUIsIDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MTAsIEZMQUcpDQogICAgICAgICAgICAgICAgICAgIE9yKEZMQUcsIE9yKFNoaWZ0TGVm
dChQSUUxLCAweDAzLCApLCBTaGlmdExlZnQoUElFMCwgMHgwMSwgKSwgKSwgRkxBRykNCiAgICAg
ICAgICAgICAgICAgICAgSWYoTE9yKFBEVDAsIExOb3QoUFRJMCkpKSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICBTdG9yZSgweDAzODQsIFBJTzApDQogICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBNdWx0aXBs
eShTdWJ0cmFjdCgweDA5LCBBZGQoUFJDVCwgUElTUCwgKSwgKSwgMHgxZSwgUElPMCkNCiAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihMTm90KFBTRDApKSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShQSU8wLCBETUEwKQ0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
ICAgT3IoRkxBRywgMHgwMSwgRkxBRykNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChG
UEMwLCBQTUNDLCApKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgxNCwg
RE1BMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKEFuZChQQ0IwLCBQTUNDLCAp
KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11bHRpcGx5KFN1YnRyYWN0KDB4
MDQsIFBDVDAsICksIDB4MGYsIERNQTApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBNdWx0aXBseShTdWJ0cmFjdCgweDA0LCBQQ1QwLCApLCAweDFlLCBETUEwKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBJZihMT3IoUERUMSwg
TE5vdChQVEkxKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDM4NCwgUElP
MSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoUFNJVCkpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBTdG9yZShQSU8wLCBQSU8xKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgTXVsdGlwbHkoU3VidHJhY3QoMHgwOSwgQWRkKFBSQzEsIFBJUzEsICksICksIDB4MWUsIFBJ
TzEpDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgSWYoTE5vdChQU0QxKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoUElPMSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKEZMQUcsIDB4MDQsIEZM
QUcpDQogICAgICAgICAgICAgICAgICAgICAgICBJZihBbmQoRlBDMSwgUFNDQywgKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MTQsIERNQTEpDQogICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBJZihBbmQoUENCMSwgUFNDQywgKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBNdWx0aXBseShTdWJ0cmFjdCgweDA0LCBQQ1QxLCApLCAweDBmLCBE
TUExKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHko
U3VidHJhY3QoMHgwNCwgUENUMSwgKSwgMHgxZSwgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKEdUTUIpDQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIE1ldGhvZChfU1RNLCAzKSB7DQogICAgICAgICAgICAgICAgICAgIENy
ZWF0ZURXb3JkRmllbGQoQXJnMCwgMHgwMCwgUElPMCkNCiAgICAgICAgICAgICAgICAgICAgQ3Jl
YXRlRFdvcmRGaWVsZChBcmcwLCAweDA0LCBETUEwKQ0KICAgICAgICAgICAgICAgICAgICBDcmVh
dGVEV29yZEZpZWxkKEFyZzAsIDB4MDgsIFBJTzEpDQogICAgICAgICAgICAgICAgICAgIENyZWF0
ZURXb3JkRmllbGQoQXJnMCwgMHgwYywgRE1BMSkNCiAgICAgICAgICAgICAgICAgICAgQ3JlYXRl
RFdvcmRGaWVsZChBcmcwLCAweDEwLCBGTEFHKQ0KICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
eDAwLCBQU0lUKQ0KICAgICAgICAgICAgICAgICAgICBJZihMQW5kKE1TTUYoKSwgTEVxdWFsKFNp
emVPZihBcmcxKSwgMHgwMjAwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZp
ZWxkKEFyZzEsIDB4MDFiMCwgMHgwMTQwLCBNQlVGKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoTUJVRiwgUE1NTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs
ZChBcmcxLCAweDYyLCBXNDkwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp
ZWxkKEFyZzEsIDB4NjYsIFc1MTApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3Jk
RmllbGQoQXJnMSwgMHg2YSwgVzUzMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdv
cmRGaWVsZChBcmcxLCAweDdjLCBXNjIwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRl
V29yZEZpZWxkKEFyZzEsIDB4N2UsIFc2MzApDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVh
dGVXb3JkRmllbGQoQXJnMSwgMHg4MCwgVzY0MCkNCiAgICAgICAgICAgICAgICAgICAgICAgIENy
ZWF0ZVdvcmRGaWVsZChBcmcxLCAweGIwLCBXODgwKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHgwMCwgUElTUCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBS
Q1QpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQRFQwKQ0KICAgICAgICAg
ICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUElFMCkNCiAgICAgICAgICAgICAgICAgICAgICAg
IFN0b3JlKDB4MDAsIFBUSTApDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQ
U0QwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUENUMCkNCiAgICAgICAg
ICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBDQjApDQogICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZSgweDAwLCBQTUNDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwg
RlBDMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZMQUcsIDB4MDIsICks
IEFuZChXNDkwLCAweDA4MDAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoMHgwMSwgUElFMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihQSU8wLCAweDc4KSksIExBbmQoQW5kKFc1
MzAsIDB4MDIsICksIEFuZChXNjQwLCAweDAyLCApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTdG9yZSgweDAyLCBQSVNQKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MDMsIFBSQ1QpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
UFRJMCkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRl
cihQSU8wLCAweGI0KSksIExBbmQoQW5kKFc1MzAsIDB4MDIsICksIEFuZChXNjQwLCAweDAxLCAp
KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgUElTUCkN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFJDVCkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMCkNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihQSU8w
LCAweGYwKSksIExOb3QoTExlc3MoVzUxMCwgMHgwMjAwKSkpKSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQSVNQKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMCkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTEVxdWFs
KERNQTAsIDB4ZmZmZmZmZmYpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExB
bmQoQW5kKEZMQUcsIDB4MDEsICksIExBbmQoQW5kKFc1MzAsIDB4MDQsICksIEFuZChXODgwLCAw
eDNmLCApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
UFNEMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVh
dGVyKERNQTAsIDB4MTQpKSwgQW5kKFc4ODAsIDB4MjAsICkpKSB7DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQQ1QwKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUE1DQykNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIEZQQzApDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1B
MCwgMHgxZSkpLCBBbmQoVzg4MCwgMHgxMCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQQ1QwKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBNQ0MpDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENCMCkNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQo
TE5vdChMR3JlYXRlcihETUEwLCAweDJkKSksIEFuZChXODgwLCAweDA4LCApKSkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQQ1QwKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQ
TUNDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
eDAxLCBQQ0IwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERN
QTAsIDB4M2MpKSwgQW5kKFc4ODAsIDB4MDQsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQQ1QwKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTAsIDB4NWEpKSwg
QW5kKFc4ODAsIDB4MDIsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENUMCkNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTAsIDB4NzgpKSwgQW5kKFc2MzAsIDB4MDQsICkp
KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVNQ
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMywgUFJDVCkN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBUSTApDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihM
QW5kKExOb3QoTEdyZWF0ZXIoRE1BMCwgMHhiNCkpLCBBbmQoVzYzMCwgMHgwMiwgKSkpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVNQKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBSQ1Qp
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFRJ
MCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5vb3ANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgICAgICBJZihMQW5kKFNTTUYoKSwgTEVxdWFsKFNpemVPZihBcmcy
KSwgMHgwMjAwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUZpZWxkKEFyZzIs
IDB4MDFiMCwgMHgwMTQwLCBTQlVGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoU0JV
RiwgUFNNTikNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChBcmcyLCAw
eDYyLCBXNDkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkKEFyZzIs
IDB4NjYsIFc1MTEpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQXJn
MiwgMHg2YSwgVzUzMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZChB
cmcyLCAweDdjLCBXNjIxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxk
KEFyZzIsIDB4N2UsIFc2MzEpDQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmll
bGQoQXJnMiwgMHg4MCwgVzY0MSkNCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRG
aWVsZChBcmcyLCAweGIwLCBXODgxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgw
MCwgUElTMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDAsIFBSQzEpDQogICAg
ICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQRFQxKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgU3RvcmUoMHgwMCwgUElFMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4
MDAsIFBUSTEpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAwLCBQU0QxKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgUENUMSkNCiAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKDB4MDAsIFBDQjEpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgw
eDAwLCBQU0NDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgRlBDMSkNCiAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZMQUcsIDB4MDgsICksIEFuZChXNDkx
LCAweDA4MDAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwg
UElFMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAg
IElmKExBbmQoQW5kKEZMQUcsIDB4MTAsICksIExBbmQoTE5vdChMRXF1YWwoUElPMSwgMHhmZmZm
ZmZmZikpLCBMTm90KExFcXVhbChQSU8xLCBQSU8wKSkpKSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFN0b3JlKDB4MDEsIFBTSVQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
SWYoTEFuZChMTm90KExHcmVhdGVyKFBJTzEsIDB4NzgpKSwgTEFuZChBbmQoVzUzMSwgMHgwMiwg
KSwgQW5kKFc2NDEsIDB4MDIsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
ZSgweDAzLCBQUkMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAx
LCBQVEkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFu
ZChMTm90KExHcmVhdGVyKFBJTzEsIDB4YjQpKSwgTEFuZChBbmQoVzUzMSwgMHgwMiwgKSwgQW5k
KFc2NDEsIDB4MDEsICkpKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHgwMiwgUElTMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKDB4MDEsIFBSQzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
ZSgweDAxLCBQVEkxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKFBJTzEsIDB4ZjApKSwgTE5vdChMTGVz
cyhXNTExLCAweDAyMDApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTdG9yZSgweDAxLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKDB4MDEsIFBUSTEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb29wDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMTm90KExFcXVhbChETUExLCAweGZmZmZmZmZm
KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKEFuZChGTEFHLCAweDA0
LCApLCBMQW5kKEFuZChXNTMxLCAweDA0LCApLCBBbmQoVzg4MSwgMHgzZiwgKSkpKSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBTRDEpDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDE0KSks
IEFuZChXODgxLCAweDIwLCApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoMHgwMSwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFN0b3JlKDB4MDEsIFBTQ0MpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
dG9yZSgweDAxLCBGUEMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExHcmVhdGVyKERNQTEsIDB4MWUpKSwgQW5kKFc4
ODEsIDB4MTAsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHgwMiwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZSgweDAxLCBQU0NDKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKDB4MDEsIFBDQjEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1B
MSwgMHgyZCkpLCBBbmQoVzg4MSwgMHgwOCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENUMSkNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUFNDQykNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMSwgUENCMSkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDNjKSksIEFuZChX
ODgxLCAweDA0LCApKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RvcmUoMHgwMiwgUENUMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIElmKExBbmQoTE5vdChMR3JlYXRlcihETUExLCAweDVhKSksIEFuZChXODgxLCAweDAyLCAp
KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFN0b3JlKDB4MDEsIFBDVDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBOb29wDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoQW5kKEZM
QUcsIDB4MTAsICksIExOb3QoTEVxdWFsKERNQTEsIERNQTApKSkpIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIFBTSVQpDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExOb3QoTEdyZWF0ZXIoRE1BMSwgMHg3OCkpLCBB
bmQoVzYzMSwgMHgwNCwgKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFN0b3JlKDB4MDMsIFBSQzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RvcmUoMHgwMSwgUFRJMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMR3JlYXRl
cihETUExLCAweGI0KSksIEFuZChXNjMxLCAweDAyLCApKSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAyLCBQSVMxKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQUkMxKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQVEkxKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgTm9vcA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgICAgICAgICBTdG9yZSgweDAxLCBQSURFKQ0KICAgICAgICAgICAgICAgIH0NCiAg
ICAgICAgICAgIH0NCiAgICAgICAgICAgIFNjb3BlKFxfU0IuUENJMC5QQVRBLlBSSU0pIHsNCiAg
ICAgICAgICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4o
MHgwZikNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgTWV0aG9kKE1TTUYpIHsN
CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKE9uZSkNCiAgICAgICAgICAgICAgICB9DQogICAg
ICAgICAgICAgICAgTWV0aG9kKFNTTUYpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKFpl
cm8pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2NvcGUo
XF9TQi5QQ0kwLlBBVEEuUFJJTS5NQVNUKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9TVEEp
IHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIE1ldGhvZChTU1VQKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVy
bihPbmUpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU2Nv
cGUoXF9TQi5QQ0kwLlBBVEEuUFJJTS5TTEFWKSB7DQogICAgICAgICAgICAgICAgTWV0aG9kKF9T
VEEpIHsNCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuKDB4MDApDQogICAgICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgICAgIE1ldGhvZChTU1VQKSB7DQogICAgICAgICAgICAgICAgICAgIFJl
dHVybihaZXJvKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0K
ICAgICAgICBEZXZpY2UoVVNCMSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWQwMDAw
KQ0KICAgICAgICB9DQogICAgICAgIERldmljZShVU0IyKSB7DQogICAgICAgICAgICBOYW1lKF9B
RFIsIDB4MDAxZDAwMDEpDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFVTQjMpIHsNCiAgICAg
ICAgICAgIE5hbWUoX0FEUiwgMHgwMDFkMDAwMikNCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2Uo
VVNCNCkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWQwMDAzKQ0KICAgICAgICB9DQog
ICAgICAgIERldmljZShVU0I3KSB7DQogICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDAxZDAwMDcp
DQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFNCVVMpIHsNCiAgICAgICAgICAgIE5hbWUoX0FE
UiwgMHgwMDFmMDAwMykNCiAgICAgICAgfQ0KICAgICAgICBEZXZpY2UoQVVEMCkgew0KICAgICAg
ICAgICAgTmFtZShfQURSLCAweDAwMWUwMDAyKQ0KICAgICAgICB9DQogICAgICAgIERldmljZShN
T0RNKSB7DQogICAgICAgICAgICBOYW1lKF9BRFIsIDB4MDAxZTAwMDMpDQogICAgICAgICAgICBO
YW1lKF9QUlcsIFBhY2thZ2UoMHgwMikgew0KICAgICAgICAgICAgICAgIDB4MDUsDQogICAgICAg
ICAgICAgICAgMHgwMywNCiAgICAgICAgICAgIH0pDQogICAgICAgIH0NCiAgICAgICAgRGV2aWNl
KEhERUYpIHsNCiAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMDFiMDAwMCkNCiAgICAgICAgICAg
IE5hbWUoX1BSVywgUGFja2FnZSgweDAyKSB7DQogICAgICAgICAgICAgICAgMHgwNSwNCiAgICAg
ICAgICAgICAgICAweDAzLA0KICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIE5hbWUoX1BTQywg
MHgwMCkNCiAgICAgICAgICAgIE1ldGhvZChfUFMwKSB7DQogICAgICAgICAgICAgICAgU3RvcmUo
MHgwMCwgX1BTQykNCiAgICAgICAgICAgICAgICBJZihMQW5kKEhEV0EsIExOb3QoTExlc3MoXF9T
Qi5PU1RQKCksIDB4NDApKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgSERX
QSkNCiAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwMWY0KQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChfUFMzKSB7DQogICAgICAgICAgICAg
ICAgU3RvcmUoMHgwMywgX1BTQykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBE
ZXZpY2UoUlAwMSkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWMwMDAwKQ0KICAgICAg
ICAgICAgT3BlcmF0aW9uUmVnaW9uKFAxQ1MsIFBDSV9Db25maWcsIDB4NDAsIDB4MDEwMCkNCiAg
ICAgICAgICAgIEZpZWxkKFAxQ1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFzWmVyb3MpIHsNCiAg
ICAgICAgICAgICAgICBPZmZzZXQoMHgxYSksDQogICAgICAgICAgICAgICAgQUJQMSwJMSwNCiAg
ICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERDMSwJMSwNCiAgICAgICAgICAg
ICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERTMSwJMSwNCiAgICAgICAgICAgICAgICBPZmZz
ZXQoMHgyMCksDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjIpLA0KICAgICAgICAgICAgICAg
IFBTUDEsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OWMpLA0KICAgICAgICAgICAgICAg
ICwJMzAsDQogICAgICAgICAgICAgICAgSFBDUywJMSwNCiAgICAgICAgICAgICAgICBQTUNTLAkx
DQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoUFhTMSkgew0KICAgICAgICAgICAg
ICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIE1ldGhvZChf
UFJUKSB7DQogICAgICAgICAgICAgICAgSWYoXEdQSUMpIHsNCiAgICAgICAgICAgICAgICAgICAg
UmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgw
eDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAgICAgICAgICAgICAg
ICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw
eDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAg
ICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTIs
DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFj
a2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAgICAgICAg
ICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdl
KDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0Es
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAg
ICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAg
ICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4
MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQywNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAg
fSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAz
LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0QsDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
fQ0KICAgICAgICB9DQogICAgICAgIERldmljZShSUDAyKSB7DQogICAgICAgICAgICBOYW1lKF9B
RFIsIDB4MDAxYzAwMDEpDQogICAgICAgICAgICBPcGVyYXRpb25SZWdpb24oUDJDUywgUENJX0Nv
bmZpZywgMHg0MCwgMHgwMTAwKQ0KICAgICAgICAgICAgRmllbGQoUDJDUywgQW55QWNjLCBOb0xv
Y2ssIFdyaXRlQXNaZXJvcykgew0KICAgICAgICAgICAgICAgIE9mZnNldCgweDFhKSwNCiAgICAg
ICAgICAgICAgICBBQlAyLAkxLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAg
ICBQREMyLAkxLA0KICAgICAgICAgICAgICAgICwJMiwNCiAgICAgICAgICAgICAgICBQRFMyLAkx
LA0KICAgICAgICAgICAgICAgIE9mZnNldCgweDIwKSwNCiAgICAgICAgICAgICAgICBPZmZzZXQo
MHgyMiksDQogICAgICAgICAgICAgICAgUFNQMiwJMSwNCiAgICAgICAgICAgICAgICBPZmZzZXQo
MHg5YyksDQogICAgICAgICAgICAgICAgLAkzMCwNCiAgICAgICAgICAgICAgICBIUENTLAkxLA0K
ICAgICAgICAgICAgICAgIFBNQ1MsCTENCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIERldmlj
ZShQWFMyKSB7DQogICAgICAgICAgICAgICAgTmFtZShfQURSLCAweDAwKQ0KICAgICAgICAgICAg
fQ0KICAgICAgICAgICAgTWV0aG9kKF9QUlQpIHsNCiAgICAgICAgICAgICAgICBJZihcR1BJQykg
ew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDA0KSB7DQogICAgICAgICAg
ICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTEs
DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFj
a2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
MHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAgICAgICAgICAgICAg
ICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHgxMywNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAg
ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDB4MTAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB9
KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAg
ICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
UGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXF9TQi5QQ0kwLkxQQ0IuTE5LQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw
LA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBh
Y2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IFxfU0IuUENJMC5MUENCLkxOS0MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwN
CiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNr
YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgMHgwMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
X1NCLlBDSTAuTFBDQi5MTktELA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQog
ICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2Fn
ZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9T
Qi5QQ0kwLkxQQ0IuTE5LQSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgRGV2aWNlKFJQMDMp
IHsNCiAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMDFjMDAwMikNCiAgICAgICAgICAgIE9wZXJh
dGlvblJlZ2lvbihQM0NTLCBQQ0lfQ29uZmlnLCAweDQwLCAweDAxMDApDQogICAgICAgICAgICBG
aWVsZChQM0NTLCBBbnlBY2MsIE5vTG9jaywgV3JpdGVBc1plcm9zKSB7DQogICAgICAgICAgICAg
ICAgT2Zmc2V0KDB4MWEpLA0KICAgICAgICAgICAgICAgIEFCUDMsCTEsDQogICAgICAgICAgICAg
ICAgLAkyLA0KICAgICAgICAgICAgICAgIFBEQzMsCTEsDQogICAgICAgICAgICAgICAgLAkyLA0K
ICAgICAgICAgICAgICAgIFBEUzMsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjApLA0K
ICAgICAgICAgICAgICAgIE9mZnNldCgweDIyKSwNCiAgICAgICAgICAgICAgICBQU1AzLAkxLA0K
ICAgICAgICAgICAgICAgIE9mZnNldCgweDljKSwNCiAgICAgICAgICAgICAgICAsCTMwLA0KICAg
ICAgICAgICAgICAgIEhQQ1MsCTEsDQogICAgICAgICAgICAgICAgUE1DUywJMQ0KICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgRGV2aWNlKFBYUzMpIHsNCiAgICAgICAgICAgICAgICBOYW1lKF9B
RFIsIDB4MDApDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoX1BSVCkgew0KICAg
ICAgICAgICAgICAgIElmKFxHUElDKSB7DQogICAgICAgICAgICAgICAgICAgIFJldHVybihQYWNr
YWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgMHgxMiwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAg
ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDB4MTMsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAg
ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEwLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAweDAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMSwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
DQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDA0KSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktDLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAg
ICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuTE5LRCwNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAg
ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyLA0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0EsDQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAg
ICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMywNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLA0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAg
ICAgICAgICAgICB9KQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAg
fQ0KICAgICAgICBEZXZpY2UoUlAwNCkgew0KICAgICAgICAgICAgTmFtZShfQURSLCAweDAwMWMw
MDAzKQ0KICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uKFA0Q1MsIFBDSV9Db25maWcsIDB4NDAs
IDB4MDEwMCkNCiAgICAgICAgICAgIEZpZWxkKFA0Q1MsIEFueUFjYywgTm9Mb2NrLCBXcml0ZUFz
WmVyb3MpIHsNCiAgICAgICAgICAgICAgICBPZmZzZXQoMHgxYSksDQogICAgICAgICAgICAgICAg
QUJQNCwJMSwNCiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERDNCwJMSwN
CiAgICAgICAgICAgICAgICAsCTIsDQogICAgICAgICAgICAgICAgUERTNCwJMSwNCiAgICAgICAg
ICAgICAgICBPZmZzZXQoMHgyMCksDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4MjIpLA0KICAg
ICAgICAgICAgICAgIFBTUDQsCTEsDQogICAgICAgICAgICAgICAgT2Zmc2V0KDB4OWMpLA0KICAg
ICAgICAgICAgICAgICwJMzAsDQogICAgICAgICAgICAgICAgSFBDUywJMSwNCiAgICAgICAgICAg
ICAgICBQTUNTLAkxDQogICAgICAgICAgICB9DQogICAgICAgICAgICBEZXZpY2UoUFhTNCkgew0K
ICAgICAgICAgICAgICAgIE5hbWUoX0FEUiwgMHgwMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgIE1ldGhvZChfUFJUKSB7DQogICAgICAgICAgICAgICAgSWYoXEdQSUMpIHsNCiAgICAgICAg
ICAgICAgICAgICAgUmV0dXJuKFBhY2thZ2UoMHgwNCkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEzLA0KICAgICAgICAg
ICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAweDAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIH0s
DQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDB4MTEsDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAg
ICAgICAgICAgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhm
ZmZmLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDMsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDEyLA0KICAg
ICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgfSkNCiAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIFJl
dHVybihQYWNrYWdlKDB4MDQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgw
NCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJ
MC5MUENCLkxOS0QsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAg
ICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlKDB4MDQp
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweGZmZmYsDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcX1NCLlBDSTAu
TFBDQi5MTktBLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsDQogICAgICAgICAg
ICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSgweDA0KSB7
DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZmZmLA0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDB4MDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ
Q0IuTE5LQiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAg
ICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UoMHgwNCkgew0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4ZmZmZiwNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAweDAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENC
LkxOS0MsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAg
ICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIFNjb3BlKFxfU0IuUENJMC5SUDAxLlBY
UzEpIHsNCiAgICAgICAgICAgIE5hbWUoX1BSVywgUGFja2FnZSgweDAyKSB7DQogICAgICAgICAg
ICAgICAgMHgwOSwNCiAgICAgICAgICAgICAgICAweDA0LA0KICAgICAgICAgICAgfSkNCiAgICAg
ICAgfQ0KICAgICAgICBTY29wZShcX1NCLlBDSTAuUlAwMi5QWFMyKSB7DQogICAgICAgICAgICBN
ZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgICAgIElmKFBYUlMpIHsNCiAgICAgICAgICAgICAg
ICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVs
c2Ugew0KICAgICAgICAgICAgICAgICAgICBSZXR1cm4oMHgwMCkNCiAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICB9DQogICAgICAgICAgICBOYW1lKF9QUlcsIFBhY2thZ2UoMHgwMikgew0K
ICAgICAgICAgICAgICAgIDB4MDksDQogICAgICAgICAgICAgICAgMHgwNCwNCiAgICAgICAgICAg
IH0pDQogICAgICAgICAgICBNZXRob2QoX1JNVikgew0KICAgICAgICAgICAgICAgIFJldHVybihP
bmUpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBNZXRob2QoRVhJTikgew0KICAgICAgICAg
ICAgICAgIFNsZWVwKDB4NjQpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywgUFhDTCkNCiAg
ICAgICAgICAgICAgICBTbGVlcCgweDAxKQ0KICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgUFhS
UykNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBFWFBMKQ0KICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgTWV0aG9kKEVYUk0pIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBQWFJT
KQ0KICAgICAgICAgICAgICAgIFN0b3JlKE9uZSwgUFhDTCkNCiAgICAgICAgICAgICAgICBTdG9y
ZShPbmUsIEVYUEwpDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9DQogICAgTmFtZShM
RURJLCBaZXJvKQ0KICAgIE5hbWUoQlROSSwgWmVybykNCiAgICBOYW1lKE5HVEksIDB4MDYpDQog
ICAgU2NvcGUoXCkgew0KICAgICAgICBOYW1lKFdCVE4sIFplcm8pDQogICAgICAgIE5hbWUoTkdU
TSwgWmVybykNCiAgICAgICAgTmFtZShMU0JMLCBaZXJvKQ0KICAgICAgICBOYW1lKEJOQkYsIEJ1
ZmZlcigweDIwKSB7IH0pDQogICAgICAgIE5hbWUoQk5TUCwgWmVybykNCiAgICAgICAgTmFtZShC
TkdQLCBaZXJvKQ0KICAgICAgICBOYW1lKEJOQ1QsIFplcm8pDQogICAgfQ0KICAgIERldmljZShG
RVhUKSB7DQogICAgICAgIE5hbWUoX0hJRCwgIkZVSjAyRTMiKQ0KICAgICAgICBNZXRob2QoX1NU
QSkgew0KICAgICAgICAgICAgUmV0dXJuKDB4MGYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9k
KF9JTkkpIHsNCiAgICAgICAgICAgIFN0b3JlKFplcm8sIEJOU1ApDQogICAgICAgICAgICBTdG9y
ZShaZXJvLCBCTkdQKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgQk5DVCkNCiAgICAgICAgICAg
IFN0b3JlKFplcm8sIElSQkMpDQogICAgICAgICAgICBTdG9yZShaZXJvLCBJUkJGKQ0KICAgICAg
ICB9DQogICAgICAgIE1ldGhvZChGVU5DLCA0LCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBT
dG9yZSgweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgx
MDAxKSkgew0KICAgICAgICAgICAgICAgIFN0b3JlKFMwMDEoQXJnMSwgQXJnMiwgQXJnMyksIExv
Y2FsMCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAg
IElmKExFcXVhbChBcmcwLCAweDEwMDIpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFMw
MDIoQXJnMSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDEw
MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShTMDA0KEFyZzEsIEFyZzIsIEFy
ZzMpLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQog
ICAgICAgICAgICB9DQogICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgxMDA2KSkgew0KICAg
ICAgICAgICAgICAgIFN0b3JlKFMwMDYoQXJnMSwgQXJnMiwgQXJnMyksIExvY2FsMCkNCiAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDEwMDgpKSB7DQogICAgICAg
ICAgICAgICAgU3RvcmUoUzAwOChBcmcxLCBBcmcyLCBBcmczKSwgTG9jYWwwKQ0KICAgICAgICAg
ICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRo
b2QoUzAwMSwgMykgew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAg
ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIFplcm8pKSB7DQogICAgICAgICAgICAgICAgU3RvcmUo
TEVESSwgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAg
ICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgQW5k
KEFyZzIsIDB4MDMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChBbmQoQXJn
MSwgTEVESSwgKSwgTG9jYWwxKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg5
YiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChBbmQoQXJnMiwgMHgw
MDAzMDAwMCwgKSwgMHgwOCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFpl
cm8sIFNTTUkpDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBFbHNl
IHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAgICAg
ICAgICAgICAgICAgICAgICBJZihBbmQoQXJnMSwgTEVESSwgKSkgew0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFN0b3JlKDB4OWIsIENNRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShPbmUsIERWSUQpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVy
bywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcihTaGlmdExlZnQoRFZJRCwg
MHgxMCwgKSwgT25lLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
ZShaZXJvLCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBS
ZXR1cm4oTG9jYWwwKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChTMDAyLCAzKSB7DQogICAg
ICAgICAgICBTdG9yZSgweDgwMDAwMDAwLCBMb2NhbDApDQogICAgICAgICAgICBJZihMRXF1YWwo
QXJnMCwgWmVybykpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShCVE5JLCBMb2NhbDApDQogICAg
ICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwo
QXJnMCwgT25lKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShHSVJCKCksIExvY2FsMCkN
CiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
ICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoMHg5YiwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgRFZJ
RCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihM
RXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihBcmcx
KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vdChBcmcxLCBMb2NhbDEpDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZChBcmcyLCBBcmcxLCBMb2NhbDIpDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yKEFuZChXQlROLCBMb2NhbDEsICksIExv
Y2FsMiwgV0JUTikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg5Yiwg
Q01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcihTaGlmdExlZnQoV0JUTiwg
MHgwOCwgKSwgMHgwMywgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgU3RvcmUoV0JUTiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBN
ZXRob2QoU0lSQiwgMSkgew0KICAgICAgICAgICAgSWYoTExlc3MoQk5DVCwgMHgxMCkpIHsNCiAg
ICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQoQk5CRiwgQk5TUCwgQk5QMSkNCiAgICAgICAg
ICAgICAgICBTdG9yZShBcmcwLCBCTlAxKQ0KICAgICAgICAgICAgICAgIEluY3JlbWVudChCTkNU
KQ0KICAgICAgICAgICAgICAgIEFkZChCTlNQLCAweDAyLCBCTlNQKQ0KICAgICAgICAgICAgICAg
IElmKExOb3QoTExlc3MoQk5TUCwgMHgyMCkpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3Jl
KFplcm8sIEJOU1ApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9
DQogICAgICAgIE1ldGhvZChHSVJCKSB7DQogICAgICAgICAgICBJZihCTkNUKSB7DQogICAgICAg
ICAgICAgICAgQ3JlYXRlV29yZEZpZWxkKEJOQkYsIEJOR1AsIEJOUDIpDQogICAgICAgICAgICAg
ICAgU3RvcmUoQk5QMiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIE9yKExvY2FsMCwgMHg0MDAw
MDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIERlY3JlbWVudChCTkNUKQ0KICAgICAgICAg
ICAgICAgIEFkZChCTkdQLCAweDAyLCBCTkdQKQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTExl
c3MoQk5HUCwgMHgyMCkpKSB7DQogICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEJOR1Ap
DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQog
ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwNCwgMykg
ew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgSWYo
TEVxdWFsKEFyZzAsIFplcm8pKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoTkdUSSwgTG9jYWww
KQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgSWYo
TEVxdWFsKEFyZzAsIE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMRXF1YWwo
QXJnMSwgMHgwNCksIEFuZChOR1RJLCAweDA0LCApKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgQW5kKEFyZzIsIDB4MDMsIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExP
cihMRXF1YWwoTG9jYWwxLCAweDAzKSwgTEVxdWFsKExvY2FsMSwgMHgwMikpKSB7DQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgSWYoTE5vdChOR1RGKSkgew0KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTVkJMKCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoT25lLCBOR1RGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTQkxDKExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShMb2NhbDEsIE5HVE0pDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
WmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgSWYoTE5vdChMb2NhbDEpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAg
SWYoTkdURikgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBO
R1RGKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSU0JMKCkNCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU0JMQyhaZXJvKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBOR1RNKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMCkNCiAgICAgICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0N
CiAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFy
ZzAsIDB4MDIpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBJZihMQW5kKExFcXVhbChBcmcx
LCAweDA0KSwgQW5kKE5HVEksIDB4MDQsICkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoTkdUTSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgUmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwOCwgMykg
ew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAgSWYo
TEVxdWFsKEFyZzAsIDB4MDApKSB7DQogICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNz
KEFyZzEsIDB4MDApKSwgTE5vdChMR3JlYXRlcihBcmcxLCAweDA1KSkpKSB7DQogICAgICAgICAg
ICAgICAgICAgIElmKExFcXVhbChBcmcxLCBaZXJvKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzEs
IE9uZSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMTm90KExMZXNzKFxfU0Iu
T1NUUCgpLCAweDQwKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
MHgwMiwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4YTQsIENNRCkNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZShBcmcwLCBRQUcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKEFyZzEsIFFBRzIpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUo
QXJnMiwgUUFHMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEVklE
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoRFZJRCwgTG9jYWwwKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgSWYoTEVxdWFs
KEFyZzAsIDB4MDEpKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExBbmQoTE5vdChMTGVzcyhB
cmcxLCAweDAwKSksIExOb3QoTEdyZWF0ZXIoQXJnMSwgMHgwMSkpKSkgew0KICAgICAgICAgICAg
ICAgICAgICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3Rv
cmUoQXJnMCwgUUFHMSkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFFBRzIp
DQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAgICAgICAgICAg
ICAgICAgICAgICAgU3RvcmUoWmVybywgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIFN0
b3JlKFplcm8sIFNTTUkpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2Nh
bDApDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAweDAyKSkg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgSWYoTEFuZChMTm90KExMZXNzKEFyZzEsIDB4MDAp
KSwgTE5vdChMR3JlYXRlcihBcmcxLCAweDAxKSkpKSB7DQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl
KEFyZzAsIFFBRzEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMSwgUUFH
MikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIERWSUQpDQogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAg
ICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAg
ICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBJZihMRXF1YWwoQXJnMSwgMHgwMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU3RvcmUoMHhhNCwgQ01EKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBTdG9yZShBcmcwLCBRQUcxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y
ZShBcmcxLCBRQUcyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcy
LCBRQUczKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBEVklE
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYo
TEVxdWFsKEFyZzAsIDB4MDQpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm
KExBbmQoTE5vdChMTGVzcyhBcmcxLCAweDAwKSksIExOb3QoTEdyZWF0ZXIoQXJnMSwgMHgwMSkp
KSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHhhNCwgQ01E
KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoQXJnMCwgUUFHMSkN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKEFyZzEsIFFBRzIpDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShBcmcyLCBRQUczKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoWmVybywgRFZJRCkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIFNTTUkpDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShEVklELCBMb2NhbDApDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4oTG9jYWwwKQ0K
ICAgICAgICB9DQogICAgfQ0KICAgIFNjb3BlKFxfU0IuRkVYVCkgew0KICAgICAgICBNZXRob2Qo
U0JMQywgMSkgew0KICAgICAgICAgICAgSWYoTE5vdChBcmcwKSkgew0KICAgICAgICAgICAgICAg
IFN0b3JlKFplcm8sIEJMQ1QpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwgMHgwMykpIHsNCiAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoT25lLCBCTENUKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBF
bHNlIHsNCiAgICAgICAgICAgICAgICAgICAgSWYoTEVxdWFsKEFyZzAsIDB4MDIpKSB7DQogICAg
ICAgICAgICAgICAgICAgICAgICBOYW1lKEJCQ1QsIEJ1ZmZlcihCTExNKSB7IH0pDQogICAgICAg
ICAgICAgICAgICAgICAgICBTdG9yZShCTExULCBCQkNUKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgQ3JlYXRlQnl0ZUZpZWxkKEJCQ1QsIFplcm8sIEJMTDApDQogICAgICAgICAgICAgICAgICAg
ICAgICBTdG9yZShCTEwwLCBMQ0RCKQ0KICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgw
MTAwMDAwMCwgRFZJRCkNCiAgICAgICAgICAgICAgICAgICAgICAgIE9yKERWSUQsIEJMTDAsIERW
SUQpDQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDgyLCBDTUQpDQogICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
U3RvcmUoWmVybywgQkxDVCkNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoU1ZCTCkgew0KICAg
ICAgICAgICAgQW5kKFxfU0IuUENJMC5MUENCLkZKRVguR0JMTCgpLCAweDdmZmZmZmZmLCBMU0JM
KQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChSU0JMKSB7DQogICAgICAgICAgICBcX1NCLlBD
STAuTFBDQi5GSkVYLlNCTEwoTFNCTCkNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoUzAwNiwg
Mykgew0KICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMCwgTG9jYWwwKQ0KICAgICAgICAgICAg
SWYoRUNPSykgew0KICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCBaZXJvKSkgew0KICAg
ICAgICAgICAgICAgICAgICBTdG9yZShFQ0NJLCBMb2NhbDApDQogICAgICAgICAgICAgICAgfQ0K
ICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJn
MCwgMHgxMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKEFyZzEpIHsNCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBBbmQoQXJnMSwgMHhmZiwgRUNHMSkNCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZSgweDIzLCBFQ0dNKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIFN0b3JlKFplcm8sIExvY2FsMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaGls
ZShMQW5kKEVDR00sIExMZXNzKExvY2FsMSwgMHg2NCkpKSB7DQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIFNsZWVwKDB4MDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEluY3JlbWVudChMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIElmKExOb3QoTExlc3MoTG9jYWwxLCAweDY0KSkpIHsNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHg4MDAwMDAwMSwgTG9jYWwwKQ0K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IoU2hpZnRMZWZ0KEVD
RzIsIDB4MDgsICksIEVDRzMsIExvY2FsMCkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBFbHNl
IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweGZkNzAsIExvY2FsMCkNCiAg
ICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcw
LCAweDExKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZChBcmcxLCAweGZmLCBF
Q0cxKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQoQW5kKEFyZzIsIDB4
ZmYwMCwgKSwgMHgwOCwgRUNHMikNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQoQXJn
MiwgMHhmZiwgRUNHMykNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSgweDIyLCBF
Q0dNKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIExvY2FsMSkNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBXaGlsZShMQW5kKEVDR00sIExMZXNzKExvY2FsMSwg
MHg2NCkpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwKDB4MDEpDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluY3JlbWVudChMb2NhbDEpDQogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExO
b3QoTExlc3MoTG9jYWwxLCAweDY0KSkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoMHg4MDAwMDAwMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgU3RvcmUoWmVybywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAg
ICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChBcmcwLCAw
eDEyKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZShHSU5ULCBMb2Nh
bDApDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIEdJTlQpDQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZihMRXF1YWwoQXJnMCwg
MHgyMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQo
QW5kKEFyZzEsIDB4ZmYwMDAwMDAsICksIDB4MTgsIEVDRDMpDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0KEFuZChBcmcxLCAweDAwZmYwMDAwLCApLCAweDEw
LCBFQ0QyKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodChB
bmQoQXJnMSwgMHhmZjAwLCApLCAweDA4LCBFQ0QxKQ0KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgQW5kKEFyZzEsIDB4ZmYsIEVDQ00pDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBTdG9yZShaZXJvLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBXaGlsZShMQW5kKEVDQ00sIExMZXNzKExvY2FsMSwgMHg2NCkpKSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwMSkNCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmNyZW1lbnQoTG9jYWwxKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhMb2NhbDEsIDB4NjQpKSkgew0KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlKDB4ODAwMDAwMDEsIExvY2FsMCkN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIE9yKE9yKFNoaWZ0TGVmdChFQ0QzLCAweDEwLCApLCBTaGlmdExlZnQoRUNEMiwg
MHgwOCwgKSwgKSwgRUNEMSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
ICAgICAgICB9DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAg
UmV0dXJuKExvY2FsMCkNCiAgICAgICAgfQ0KICAgIH0NCiAgICBEZXZpY2UoTElEKSB7DQogICAg
ICAgIE5hbWUoX0hJRCwgMHgwZDBjZDA0MSkNCiAgICAgICAgTWV0aG9kKF9MSUQpIHsNCiAgICAg
ICAgICAgIElmKENWQ0wpIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oWmVybykNCiAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgIFJldHVybihPbmUpDQog
ICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgTmFtZShfUFJXLCBQYWNrYWdlKDB4MDIp
IHsNCiAgICAgICAgICAgIDB4MTgsDQogICAgICAgICAgICAweDA0LA0KICAgICAgICB9KQ0KICAg
ICAgICBNZXRob2QoX1BTVywgMSkgew0KICAgICAgICAgICAgTm9vcA0KICAgICAgICB9DQogICAg
fQ0KICAgIERldmljZShQV1JCKSB7DQogICAgICAgIE5hbWUoX0hJRCwgMHgwYzBjZDA0MSkNCiAg
ICAgICAgTWV0aG9kKF9TVEEpIHsNCiAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICB9
DQogICAgfQ0KICAgIERldmljZShBQykgew0KICAgICAgICBOYW1lKF9ISUQsICJBQ1BJMDAwMyIp
DQogICAgICAgIFNjb3BlKFwpIHsNCiAgICAgICAgICAgIE5hbWUoQUNQUywgT25lcykNCiAgICAg
ICAgfQ0KICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgU3RvcmUoQUNQVywgQUNQ
UykNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoX1NUQSkgew0KICAgICAgICAgICAgUmV0dXJu
KDB4MGYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9QU1IpIHsNCiAgICAgICAgICAgIF9J
TkkoKQ0KICAgICAgICAgICAgSWYoQUNQVykgew0KICAgICAgICAgICAgICAgIFJldHVybihPbmUp
DQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBSZXR1
cm4oWmVybykNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgICAgICBOYW1lKF9QQ0wsIFBh
Y2thZ2UoMHgwMSkgew0KICAgICAgICAgICAgXF9TQiwNCiAgICAgICAgfSkNCiAgICAgICAgTWV0
aG9kKEFDSEspIHsNCiAgICAgICAgICAgIFN0b3JlKEFDUFcsIExvY2FsMCkNCiAgICAgICAgICAg
IElmKExOb3QoTEVxdWFsKExvY2FsMCwgQUNQUykpKSB7DQogICAgICAgICAgICAgICAgU2xlZXAo
MHgyOCkNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5BQywgMHg4MCkNCiAgICAgICAgICAg
ICAgICBTdG9yZShaZXJvLCBEVklEKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4OGQsIENNRCkN
CiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgIE5vdGlm
eShcX1BSLkNQVTAsIDB4ODApDQogICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBBQ1BTKQ0K
ICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIERldmljZShDTUIxKSB7DQogICAg
ICAgIE5hbWUoX0hJRCwgMHgwYTBjZDA0MSkNCiAgICAgICAgTmFtZShfVUlELCBPbmUpDQogICAg
ICAgIE5hbWUoX1BDTCwgUGFja2FnZSgweDAxKSB7DQogICAgICAgICAgICBcX1NCLA0KICAgICAg
ICB9KQ0KICAgICAgICBTY29wZShcKSB7DQogICAgICAgICAgICBOYW1lKEIxUFMsIE9uZXMpDQog
ICAgICAgICAgICBOYW1lKEIxUlMsIE9uZXMpDQogICAgICAgICAgICBOYW1lKEIxQ1MsIE9uZXMp
DQogICAgICAgICAgICBOYW1lKEIxTFMsIE9uZXMpDQogICAgICAgICAgICBOYW1lKEJJRjEsIFBh
Y2thZ2UoMHgwZCkgew0KICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAgICAgICAgICAgMHgw
MCwNCiAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgIDB4MDEsDQogICAgICAg
ICAgICAgICAgMHgwMCwNCiAgICAgICAgICAgICAgICAweDAwLA0KICAgICAgICAgICAgICAgIDB4
MDAsDQogICAgICAgICAgICAgICAgMHgwMSwNCiAgICAgICAgICAgICAgICAweDAxLA0KICAgICAg
ICAgICAgICAgICIiLA0KICAgICAgICAgICAgICAgICIxIiwNCiAgICAgICAgICAgICAgICAiTElP
TiIsDQogICAgICAgICAgICAgICAgIkZ1aml0c3UiLA0KICAgICAgICAgICAgfSkNCiAgICAgICAg
ICAgIE5hbWUoQlNUMSwgUGFja2FnZSgweDA0KSB7DQogICAgICAgICAgICB9KQ0KICAgICAgICB9
DQogICAgICAgIE1ldGhvZChNS1dELCAyKSB7DQogICAgICAgICAgICBJZihBbmQoQXJnMSwgMHg4
MCwgKSkgew0KICAgICAgICAgICAgICAgIE9yKDB4ZmZmZjAwMDAsIEFyZzAsIExvY2FsMCkNCiAg
ICAgICAgICAgICAgICBPcihMb2NhbDAsIFNoaWZ0TGVmdChBcmcxLCAweDA4LCApLCBMb2NhbDAp
DQogICAgICAgICAgICAgICAgU3VidHJhY3QoWmVybywgTG9jYWwwLCBMb2NhbDApDQogICAgICAg
ICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBTdG9yZShBcmcwLCBM
b2NhbDApDQogICAgICAgICAgICAgICAgT3IoTG9jYWwwLCBTaGlmdExlZnQoQXJnMSwgMHgwOCwg
KSwgTG9jYWwwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgUmV0dXJuKExvY2FsMCkNCiAg
ICAgICAgfQ0KICAgICAgICBNZXRob2QoX0lOSSkgew0KICAgICAgICAgICAgU3RvcmUoQjFQLCBC
MVBTKQ0KICAgICAgICAgICAgU3RvcmUoQjFDUCwgQjFSUykNCiAgICAgICAgICAgIFN0b3JlKEIx
QywgQjFDUykNCiAgICAgICAgICAgIFN0b3JlKE1LV0QoQjFMTCwgQjFMSCksIEIxTFMpDQogICAg
ICAgIH0NCiAgICAgICAgTWV0aG9kKF9CSUYpIHsNCiAgICAgICAgICAgIE5hbWUoQlVGRiwgQnVm
ZmVyKDB4MGMpIHsgfSkNCiAgICAgICAgICAgIFN0b3JlKEIxTk8sIExvY2FsNSkNCiAgICAgICAg
ICAgIENyZWF0ZUJ5dGVGaWVsZChCSURULCBCMUlELCBCMUlYKQ0KICAgICAgICAgICAgU3RvcmUo
TUtXRChCMURMLCBCMURIKSwgSW5kZXgoQklGMSwgMHgwMSwgKSkNCiAgICAgICAgICAgIFN0b3Jl
KE1LV0QoQjFMTCwgQjFMSCksIEluZGV4KEJJRjEsIDB4MDIsICkpDQogICAgICAgICAgICBTdG9y
ZShNdWx0aXBseShBZGQoQW5kKEIxRFYsIDB4ZWYsICksIDB4MDIsICksIDB4MGUxMCwgKSwgSW5k
ZXgoQklGMSwgMHgwNCwgKSkNCiAgICAgICAgICAgIElmKExPcihUQlBDLCBMTm90KExMZXNzKFxf
U0IuT1NUUCgpLCAweDQwKSkpKSB7DQogICAgICAgICAgICAgICAgRGl2aWRlKE11bHRpcGx5KEFk
ZChNdWx0aXBseSgweDBjLCAweDBhLCApLCAweDA0LCApLCBEZXJlZk9mKEluZGV4KEJJRjEsIDB4
MDEsICkpLCApLCAweDAzZTgsIExvY2FsMCwgSW5kZXgoQklGMSwgMHgwNSwgKSkNCiAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgIElmKExPcihUQlBDLCBMTm90KExMZXNzKFxfU0IuT1NUUCgpLCAw
eDQwKSkpKSB7DQogICAgICAgICAgICAgICAgSWYoTE5vdChMTGVzcyhcX1NCLk9TVFAoKSwgMHg0
MCkpKSB7DQogICAgICAgICAgICAgICAgICAgIElmKExFcXVhbChCSUZMLCAweGZmKSkgew0KICAg
ICAgICAgICAgICAgICAgICAgICAgU3RvcmUoMHgwMiwgTG9jYWwxKQ0KICAgICAgICAgICAgICAg
ICAgICB9DQogICAgICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoQklGTCwgTG9jYWwxKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBTdG9y
ZSgweDAxLCBMb2NhbDEpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIERpdmlk
ZShNdWx0aXBseShBZGQoTXVsdGlwbHkoTG9jYWwxLCAweDBhLCApLCAweDA0LCApLCBEZXJlZk9m
KEluZGV4KEJJRjEsIDB4MDEsICkpLCApLCAweDAzZTgsIExvY2FsMCwgSW5kZXgoQklGMSwgMHgw
NiwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExvY2FsNSkgew0KICAgICAgICAg
ICAgICAgIFN0b3JlKERlcmVmT2YoSW5kZXgoQk1TVCwgQjFJWCwgKSksIEJVRkYpDQogICAgICAg
ICAgICAgICAgU3RvcmUoMHgwNywgTG9jYWwwKQ0KICAgICAgICAgICAgICAgIFN0b3JlKExvY2Fs
NSwgTG9jYWwyKQ0KICAgICAgICAgICAgICAgIFdoaWxlKExBbmQoTG9jYWwyLCBMTm90KExMZXNz
KExvY2FsMCwgMHgwMikpKSkgew0KICAgICAgICAgICAgICAgICAgICBTdG9yZShTdWJ0cmFjdChE
ZXJlZk9mKEluZGV4KEJVRkYsIExvY2FsMCwgKSksIDB4MzAsICksIExvY2FsMSkNCiAgICAgICAg
ICAgICAgICAgICAgRGl2aWRlKEFkZChMb2NhbDEsIExvY2FsMiwgKSwgMHgwYSwgTG9jYWwxLCBM
b2NhbDIpDQogICAgICAgICAgICAgICAgICAgIFN0b3JlKEFkZChMb2NhbDEsIDB4MzAsICksIElu
ZGV4KEJVRkYsIExvY2FsMCwgKSkNCiAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50KExvY2Fs
MCkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU3RvcmUoQlVGRiwgSW5kZXgo
QklGMSwgMHgwOSwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAg
ICAgICAgICAgIFN0b3JlKERlcmVmT2YoSW5kZXgoQk1OVCwgQjFJWCwgKSksIEluZGV4KEJJRjEs
IDB4MDksICkpDQogICAgICAgICAgICB9DQogICAgICAgICAgICBSZXR1cm4oQklGMSkNCiAgICAg
ICAgfQ0KICAgICAgICBNZXRob2QoX0JTVCkgew0KICAgICAgICAgICAgX0lOSSgpDQogICAgICAg
ICAgICBTdG9yZShaZXJvLCBMb2NhbDApDQogICAgICAgICAgICBJZihCMVApIHsNCiAgICAgICAg
ICAgICAgICBJZihCMUMpIHsNCiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDAyLCBM
b2NhbDApDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIEVsc2Ugew0KICAgICAg
ICAgICAgICAgICAgICBJZihMTm90KEFDUFMpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBP
cihMb2NhbDAsIE9uZSwgTG9jYWwwKQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgICAgIElmKExOb3QoTEdyZWF0ZXIoQjFDUCwgT25lKSkpIHsN
CiAgICAgICAgICAgICAgICAgICAgT3IoTG9jYWwwLCAweDA0LCBMb2NhbDApDQogICAgICAgICAg
ICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgU3RvcmUoTUtXRChCMUNMLCBCMUNI
KSwgTG9jYWwxKQ0KICAgICAgICAgICAgRGl2aWRlKE11bHRpcGx5KEIxQ1AsIE1LV0QoQjFMTCwg
QjFMSCksICksIDB4MDNlOCwgTG9jYWw0LCBMb2NhbDIpDQogICAgICAgICAgICBJZihMb2NhbDQp
IHsNCiAgICAgICAgICAgICAgICBJbmNyZW1lbnQoTG9jYWwyKQ0KICAgICAgICAgICAgfQ0KICAg
ICAgICAgICAgTXVsdGlwbHkoTG9jYWwyLCAweDBhLCBMb2NhbDIpDQogICAgICAgICAgICBTdG9y
ZShNS1dEKEIxVkwsIEIxVkgpLCBMb2NhbDMpDQogICAgICAgICAgICBTdG9yZShMb2NhbDAsIElu
ZGV4KEJTVDEsIFplcm8sICkpDQogICAgICAgICAgICBTdG9yZShMb2NhbDEsIEluZGV4KEJTVDEs
IE9uZSwgKSkNCiAgICAgICAgICAgIFN0b3JlKExvY2FsMiwgSW5kZXgoQlNUMSwgMHgwMiwgKSkN
CiAgICAgICAgICAgIFN0b3JlKExvY2FsMywgSW5kZXgoQlNUMSwgMHgwMywgKSkNCiAgICAgICAg
ICAgIFJldHVybihCU1QxKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfU1RBKSB7DQogICAg
ICAgICAgICBJZihCMVApIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oMHgxZikNCiAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgIFJldHVybigweDBmKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhv
ZChCQ0hLKSB7DQogICAgICAgICAgICBJZihMTm90KExFcXVhbChCMVAsIEIxUFMpKSkgew0KICAg
ICAgICAgICAgICAgIE5vdGlmeShcX1NCLkNNQjEsIDB4ODEpDQogICAgICAgICAgICAgICAgU3Rv
cmUoQjFQLCBCMVBTKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgSWYoQjFQUykgew0KICAg
ICAgICAgICAgICAgIFN0b3JlKE1LV0QoQjFMTCwgQjFMSCksIExvY2FsMCkNCiAgICAgICAgICAg
ICAgICBJZihMTm90KExFcXVhbChMb2NhbDAsIEIxTFMpKSkgew0KICAgICAgICAgICAgICAgICAg
ICBOb3RpZnkoXF9TQi5DTUIxLCAweDgxKQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
ICAgICBJZihMT3IoTE5vdChMRXF1YWwoQjFDLCBCMUNTKSksIExOb3QoTEVxdWFsKEIxQ1AsIEIx
UlMpKSkpIHsNCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuQ01CMSwgMHg4MCkNCiAg
ICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgU3RvcmUoTG9jYWwwLCBCMUxTKQ0KICAg
ICAgICAgICAgICAgIFN0b3JlKEIxQywgQjFDUykNCiAgICAgICAgICAgICAgICBTdG9yZShCMUNQ
LCBCMVJTKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KICAgIERldmljZShTTFBC
KSB7DQogICAgICAgIE5hbWUoX0hJRCwgMHgwZTBjZDA0MSkNCiAgICAgICAgTWV0aG9kKF9TVEEp
IHsNCiAgICAgICAgICAgIElmKEZTQ00pIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oMHgwZikN
CiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgIFJldHVy
bigweDAwKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfQ0KfQ0KU2NvcGUoX1RaKSB7
DQogICAgVGhlcm1hbFpvbmUoVFowMCkgew0KICAgICAgICBNZXRob2QoX0NSVCwgMCwgU2VyaWFs
aXplZCkgew0KICAgICAgICAgICAgUmV0dXJuKEFkZCgweDBhYWMsIE11bHRpcGx5KENSVFQsIDB4
MGEsICksICkpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UTVAsIDAsIFNlcmlhbGl6ZWQp
IHsNCiAgICAgICAgICAgIElmKERUU0UpIHsNCiAgICAgICAgICAgICAgICBTdG9yZSgweDljLCBD
TUQpDQogICAgICAgICAgICAgICAgU3RvcmUoMHgwMCwgRFZJRCkNCiAgICAgICAgICAgICAgICBT
dG9yZShaZXJvLCBTU01JKQ0KICAgICAgICAgICAgICAgIFJldHVybihBZGQoMHgwYWFjLCBNdWx0
aXBseShEVFMxLCAweDBhLCApLCApKQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgRWxzZSB7
DQogICAgICAgICAgICAgICAgUmV0dXJuKDB4MGJiOCkNCiAgICAgICAgICAgIH0NCiAgICAgICAg
fQ0KICAgICAgICBNZXRob2QoX1BTTCwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgSWYo
TVBFTikgew0KICAgICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4MDIpIHsNCiAgICAgICAg
ICAgICAgICAgICAgXF9QUi5DUFUwLA0KICAgICAgICAgICAgICAgICAgICBcX1BSLkNQVTEsDQog
ICAgICAgICAgICAgICAgfSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ugew0KICAg
ICAgICAgICAgICAgIFJldHVybihQYWNrYWdlKDB4MDEpIHsNCiAgICAgICAgICAgICAgICAgICAg
XF9QUi5DUFUwLA0KICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgIH0N
CiAgICAgICAgTWV0aG9kKF9QU1YsIDAsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVy
bihBZGQoMHgwYWFjLCBNdWx0aXBseShQU1ZULCAweDBhLCApLCApKQ0KICAgICAgICB9DQogICAg
ICAgIE1ldGhvZChfVEMxLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1cm4oVEMx
VikNCiAgICAgICAgfQ0KICAgICAgICBNZXRob2QoX1RDMiwgMCwgU2VyaWFsaXplZCkgew0KICAg
ICAgICAgICAgUmV0dXJuKFRDMlYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UU1AsIDAs
IFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVybihUU1BWKQ0KICAgICAgICB9DQogICAg
fQ0KICAgIFRoZXJtYWxab25lKFRaMDEpIHsNCiAgICAgICAgTWV0aG9kKF9DUlQsIDAsIFNlcmlh
bGl6ZWQpIHsNCiAgICAgICAgICAgIFJldHVybihBZGQoMHgwYWFjLCBNdWx0aXBseShDUlRULCAw
eDBhLCApLCApKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfVE1QLCAwLCBTZXJpYWxpemVk
KSB7DQogICAgICAgICAgICBJZihEVFNFKSB7DQogICAgICAgICAgICAgICAgU3RvcmUoMHg5Yywg
Q01EKQ0KICAgICAgICAgICAgICAgIFN0b3JlKDB4MDEsIERWSUQpDQogICAgICAgICAgICAgICAg
U3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgICAgICBSZXR1cm4oQWRkKDB4MGFhYywgTXVs
dGlwbHkoRFRTMiwgMHgwYSwgKSwgKSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIEVsc2Ug
ew0KICAgICAgICAgICAgICAgIFJldHVybigweDBiYjgpDQogICAgICAgICAgICB9DQogICAgICAg
IH0NCiAgICAgICAgTWV0aG9kKF9QU0wsIDAsIFNlcmlhbGl6ZWQpIHsNCiAgICAgICAgICAgIElm
KE1QRU4pIHsNCiAgICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAyKSB7DQogICAgICAg
ICAgICAgICAgICAgIFxfUFIuQ1BVMCwNCiAgICAgICAgICAgICAgICAgICAgXF9QUi5DUFUxLA0K
ICAgICAgICAgICAgICAgIH0pDQogICAgICAgICAgICB9DQogICAgICAgICAgICBFbHNlIHsNCiAg
ICAgICAgICAgICAgICBSZXR1cm4oUGFja2FnZSgweDAxKSB7DQogICAgICAgICAgICAgICAgICAg
IFxfUFIuQ1BVMCwNCiAgICAgICAgICAgICAgICB9KQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9
DQogICAgICAgIE1ldGhvZChfUFNWLCAwLCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1
cm4oQWRkKDB4MGFhYywgTXVsdGlwbHkoUFNWVCwgMHgwYSwgKSwgKSkNCiAgICAgICAgfQ0KICAg
ICAgICBNZXRob2QoX1RDMSwgMCwgU2VyaWFsaXplZCkgew0KICAgICAgICAgICAgUmV0dXJuKFRD
MVYpDQogICAgICAgIH0NCiAgICAgICAgTWV0aG9kKF9UQzIsIDAsIFNlcmlhbGl6ZWQpIHsNCiAg
ICAgICAgICAgIFJldHVybihUQzJWKQ0KICAgICAgICB9DQogICAgICAgIE1ldGhvZChfVFNQLCAw
LCBTZXJpYWxpemVkKSB7DQogICAgICAgICAgICBSZXR1cm4oVFNQVikNCiAgICAgICAgfQ0KICAg
IH0NCn0NClNjb3BlKFwpIHsNCiAgICBNZXRob2QoVFpTTSwgMSkgew0KICAgICAgICBTdG9yZSgw
eDljLCBDTUQpDQogICAgICAgIFN0b3JlKEFyZzAsIERWSUQpDQogICAgICAgIFN0b3JlKFplcm8s
IFNTTUkpDQogICAgfQ0KfQ0KU2NvcGUoXF9HUEUpIHsNCiAgICBNZXRob2QoX0wwMikgew0KICAg
ICAgICBTdG9yZSgweDAwLCBHUEVDKQ0KICAgICAgICBOb3RpZnkoXF9UWi5UWjAwLCAweDgwKQ0K
ICAgICAgICBOb3RpZnkoXF9UWi5UWjAxLCAweDgwKQ0KICAgIH0NCiAgICBNZXRob2QoX0wwNSkg
ew0KICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLkhERUYsIDB4MDIpDQogICAgfQ0KICAgIE1ldGhv
ZChfTDA4KSB7DQogICAgfQ0KICAgIE1ldGhvZChfTDA5KSB7DQogICAgICAgIElmKFxfU0IuUENJ
MC5SUDAxLlBTUDEpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEsIFxfU0IuUENJMC5SUDAxLlBT
UDEpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAuUlAwMS5QTUNTKQ0KICAgICAg
ICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAxLCAweDAyKQ0KICAgICAgICB9DQogICAgICAgIElm
KFxfU0IuUENJMC5SUDAyLlBTUDIpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEsIFxfU0IuUENJ
MC5SUDAyLlBTUDIpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAuUlAwMi5QTUNT
KQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAyLCAweDAyKQ0KICAgICAgICB9DQog
ICAgICAgIElmKFxfU0IuUENJMC5SUDAzLlBTUDMpIHsNCiAgICAgICAgICAgIFN0b3JlKDB4MDEs
IFxfU0IuUENJMC5SUDAzLlBTUDMpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBcX1NCLlBDSTAu
UlAwMy5QTUNTKQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDAzLCAweDAyKQ0KICAg
ICAgICB9DQogICAgICAgIElmKFxfU0IuUENJMC5SUDA0LlBTUDQpIHsNCiAgICAgICAgICAgIFN0
b3JlKDB4MDEsIFxfU0IuUENJMC5SUDA0LlBTUDQpDQogICAgICAgICAgICBTdG9yZSgweDAxLCBc
X1NCLlBDSTAuUlAwNC5QTUNTKQ0KICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJMC5SUDA0LCAw
eDAyKQ0KICAgICAgICB9DQogICAgfQ0KICAgIE1ldGhvZChfTDBCKSB7DQogICAgICAgIE5vdGlm
eShcX1NCLlBDSTAuUENJQiwgMHgwMikNCiAgICB9DQogICAgTWV0aG9kKF9MMTgpIHsNCiAgICAg
ICAgU2xlZXAoMHhmYSkNCiAgICAgICAgSWYoTE5vdChMSURTKSkgew0KICAgICAgICAgICAgU3Rv
cmUoMHg5NywgQ01EKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgfQ0K
ICAgICAgICBOb3QoTFBPTCwgTFBPTCkNCiAgICAgICAgTm90aWZ5KFxfU0IuTElELCAweDgwKQ0K
ICAgIH0NCiAgICBNZXRob2QoX0wxOSkgew0KICAgICAgICBTdG9yZShTU0YwLCBMb2NhbDApDQog
ICAgICAgIFN0b3JlKExvY2FsMCwgU1NGMCkNCiAgICAgICAgQW5kKExvY2FsMCwgTm90KFNTTTAs
ICksIExvY2FsMCkNCiAgICAgICAgU3RvcmUoU1NGMSwgTG9jYWwxKQ0KICAgICAgICBTdG9yZShM
b2NhbDEsIFNTRjEpDQogICAgICAgIEFuZChMb2NhbDEsIE5vdChTU00xLCApLCBMb2NhbDEpDQog
ICAgICAgIFN0b3JlKFNTRjIsIExvY2FsMikNCiAgICAgICAgU3RvcmUoTG9jYWwyLCBTU0YyKQ0K
ICAgICAgICBBbmQoTG9jYWwyLCBOb3QoU1NNMiwgKSwgTG9jYWwyKQ0KICAgICAgICBJZihBbmQo
TG9jYWwyLCAweDEwLCApKSB7DQogICAgICAgICAgICBcX1NCLkFDLkFDSEsoKQ0KICAgICAgICAg
ICAgXF9TQi5DTUIxLkJDSEsoKQ0KICAgICAgICAgICAgSWYoTE9yKExOb3QoTEVxdWFsKExXTUQs
IFBMV00pKSwgTE5vdChMRXF1YWwoVEFMTSwgUFRBTCkpKSkgew0KICAgICAgICAgICAgICAgIFN0
b3JlKExXTUQsIFBMV00pDQogICAgICAgICAgICAgICAgU3RvcmUoVEFMTSwgUFRBTCkNCiAgICAg
ICAgICAgICAgICBTdG9yZSgweDk1LCBDTUQpDQogICAgICAgICAgICAgICAgT3IoUExXTSwgU2hp
ZnRMZWZ0KFBUQUwsIDB4MDEsICksIERWSUQpDQogICAgICAgICAgICAgICAgU3RvcmUoWmVybywg
U1NNSSkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKExBbmQoVEFMTSwgTE5vdChBQ1BX
KSkpIHsNCiAgICAgICAgICAgICAgICBTdG9yZShPbmUsIEZPQ1QpDQogICAgICAgICAgICB9DQog
ICAgICAgICAgICBFbHNlIHsNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBGT0NUKQ0KICAg
ICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIElmKEFuZChMb2NhbDAsIDB4MDEsICkpIHsN
CiAgICAgICAgICAgIFxfU0IuUENJMC5HRlgwLlBIVEsoKQ0KICAgICAgICAgICAgU3RvcmUoMHg4
MCwgQ01EKQ0KICAgICAgICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICAgICAgICAgIFxfU0Iu
UENJMC5HRlgwLkFIVEsoKQ0KICAgICAgICAgICAgSWYoQlNXRikgew0KICAgICAgICAgICAgICAg
IElmKExOb3QoTExlc3MoXF9TQi5PU1RQKCksIDB4NDApKSkgew0KICAgICAgICAgICAgICAgICAg
ICBcX1NCLlBDSTAuR0ZYMC5MQ0QuQkxORg0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAg
IH0NCiAgICAgICAgICAgIElmKEFIS0YpIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5Q
Q0kwLkxQQ0IuRkpFWCwgMHg4MCkNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIElmKElSQkYp
IHsNCiAgICAgICAgICAgICAgICBJZihMRXF1YWwoSVJCQywgMHhmZDAwKSkgew0KICAgICAgICAg
ICAgICAgICAgICBTdG9yZShPbmUsIEdJTlQpDQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAg
ICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBcX1NCLkZFWFQuU0lSQihJUkJDKQ0K
ICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5GRVhULCAweDgw
KQ0KICAgICAgICAgICAgICAgIFN0b3JlKFplcm8sIElSQkYpDQogICAgICAgICAgICB9DQogICAg
ICAgIH0NCiAgICAgICAgSWYoQW5kKExvY2FsMSwgMHgzMCwgKSkgew0KICAgICAgICAgICAgXF9T
Qi5QQ0kwLkxQQ0IuQ01CVC5TV0NGKCkNCiAgICAgICAgfQ0KICAgICAgICBJZihBbmQoTG9jYWwy
LCAweDA4LCApKSB7DQogICAgICAgICAgICBTdG9yZShCMlNVLCBMb2NhbDYpDQogICAgICAgICAg
ICBTdG9yZShCMlNELCBMb2NhbDcpDQogICAgICAgICAgICBTdG9yZShaZXJvLCBTVEFFKQ0KICAg
ICAgICAgICAgSWYoTE9yKExvY2FsNiwgTG9jYWw3KSkgew0KICAgICAgICAgICAgICAgIFNsZWVw
KDB4MDNlOCkNCiAgICAgICAgICAgICAgICBTdG9yZShaZXJvLCBCMlNVKQ0KICAgICAgICAgICAg
ICAgIFN0b3JlKFplcm8sIEIyU0QpDQogICAgICAgICAgICAgICAgU3RvcmUoWE9yKERLRVYsIE9u
ZSwgKSwgREtFVikNCiAgICAgICAgICAgICAgICBJZihSUEVOKSB7DQogICAgICAgICAgICAgICAg
ICAgIElmKExOb3QoTEVxdWFsKEIyVEMsIFJQRFMpKSkgew0KICAgICAgICAgICAgICAgICAgICAg
ICAgU3RvcmUoQjJUQywgUlBEUykNCiAgICAgICAgICAgICAgICAgICAgICAgIElmKFJQRFMpIHsN
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5SRVBMLCBaZXJvKQ0KICAg
ICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZSB7DQog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xlZXAoMHgwZmEwKQ0KICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIE5vdGlmeShcX1NCLlJFUEwsIE9uZSkNCiAgICAgICAgICAgICAgICAgICAg
ICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAg
ICAgIH0NCiAgICAgICAgfQ0KICAgIH0NCiAgICBNZXRob2QoX0wxRCkgew0KICAgICAgICBJZihF
WFBMKSB7DQogICAgICAgICAgICBcX1NCLlBDSTAuUlAwMi5QWFMyLkVYSU4oKQ0KICAgICAgICB9
DQogICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgXF9TQi5QQ0kwLlJQMDIuUFhTMi5FWFJNKCkN
CiAgICAgICAgfQ0KICAgICAgICBTbGVlcCgweDY0KQ0KICAgICAgICBOb3RpZnkoXF9TQi5QQ0kw
LlJQMDIsIFplcm8pDQogICAgfQ0KfQ0KTmFtZShfUzAsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4
MDAsDQogICAgMHgwMCwNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9KQ0KTmFtZShfUzMsIFBhY2th
Z2UoMHgwNCkgew0KICAgIDB4MDUsDQogICAgMHgwNSwNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9
KQ0KTmFtZShfUzQsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4MDYsDQogICAgMHgwNiwNCiAgICAw
eDAwLA0KICAgIDB4MDAsDQp9KQ0KTmFtZShfUzUsIFBhY2thZ2UoMHgwNCkgew0KICAgIDB4MDcs
DQogICAgMHgwNywNCiAgICAweDAwLA0KICAgIDB4MDAsDQp9KQ0KTWV0aG9kKF9QVFMsIDEpIHsN
CiAgICBBZGQoMHhkZCwgQXJnMCwgUE84MCkNCiAgICBJZihMQW5kKExOb3QoTExlc3MoQXJnMCwg
T25lKSksIExOb3QoTEdyZWF0ZXIoQXJnMCwgMHgwNCkpKSkgew0KICAgICAgICBJZihSUEVOKSB7
DQogICAgICAgICAgICBTdG9yZShSUERTLCBEQzFTKQ0KICAgICAgICB9DQogICAgICAgIElmKFxf
U0IuUENJMC5SUDAyLlBYUzIuX1NUQSgpKSB7DQogICAgICAgICAgICBTdG9yZShaZXJvLCBFWElT
KQ0KICAgICAgICB9DQogICAgICAgIEVsc2Ugew0KICAgICAgICAgICAgU3RvcmUoMHhmZiwgRVhJ
UykNCiAgICAgICAgfQ0KICAgIH0NCiAgICBcX1NCLlBDSTAuTFBDQi5DTUJULkJQVFMoQXJnMCkN
CiAgICBTdG9yZShaZXJvLCBXQVBCKQ0KICAgIFN0b3JlKE9uZSwgSERXQSkNCiAgICBBZGQoMHhl
MCwgQXJnMCwgUE84MCkNCn0NCk1ldGhvZChfV0FLLCAxKSB7DQogICAgQWRkKDB4ZWUsIEFyZzAs
IFBPODApDQogICAgXF9TQi5QQ0kwLkxQQ0IuQUlOSSgpDQogICAgXF9TQi5QQ0kwLlBDSUIuX0lO
SSgpDQogICAgXF9TQi5GRVhULl9JTkkoKQ0KICAgIElmKExFcXVhbChBcmcwLCAweDAzKSkgew0K
ICAgICAgICBTdG9yZSgweGEzLCBDTUQpDQogICAgICAgIFN0b3JlKDB4MDAsIElORikNCiAgICAg
ICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICB9DQogICAgSWYoTEVxdWFsKEFyZzAsIDB4MDMpKSB7
DQogICAgICAgIFN0b3JlKDB4OWIsIENNRCkNCiAgICAgICAgU3RvcmUoMHgwNCwgRFZJRCkNCiAg
ICAgICAgU3RvcmUoWmVybywgU1NNSSkNCiAgICB9DQogICAgSWYoV0FQQikgew0KICAgICAgICBO
b3RpZnkoXF9TQi5QV1JCLCAweDAyKQ0KICAgIH0NCiAgICBJZihMRXF1YWwoQXJnMCwgMHgwNCkp
IHsNCiAgICAgICAgXF9TQi5GRVhULkZVTkMoMHgxMDAyLCAweDAzLCBPbmVzLCBXQlROKQ0KICAg
IH0NCiAgICBcX1NCLlBDSTAuTFBDQi5DTUJULkJXQUsoQXJnMCkNCiAgICBJZihMQW5kKExOb3Qo
TExlc3MoQXJnMCwgT25lKSksIExOb3QoTEdyZWF0ZXIoQXJnMCwgMHgwNCkpKSkgew0KICAgICAg
ICBJZihSUEVOKSB7DQogICAgICAgICAgICBJZihMTm90KExFcXVhbChCMlRDLCBEQzFTKSkpIHsN
CiAgICAgICAgICAgICAgICBTdG9yZShCMlRDLCBSUERTKQ0KICAgICAgICAgICAgICAgIElmKFJQ
RFMpIHsNCiAgICAgICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuUkVQTCwgWmVybykNCiAgICAg
ICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgRWxzZSB7DQogICAgICAgICAgICAgICAgICAg
IE5vdGlmeShcX1NCLlJFUEwsIE9uZSkNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICB9
DQogICAgICAgIH0NCiAgICAgICAgSWYoXF9TQi5QQ0kwLlJQMDIuUFhTMi5fU1RBKCkpIHsNCiAg
ICAgICAgICAgIElmKEVYSVMpIHsNCiAgICAgICAgICAgICAgICBOb3RpZnkoXF9TQi5QQ0kwLlJQ
MDIsIFplcm8pDQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICAgICAgRWxzZSB7DQogICAg
ICAgICAgICBJZihMTm90KEVYSVMpKSB7DQogICAgICAgICAgICAgICAgTm90aWZ5KFxfU0IuUENJ
MC5SUDAyLCBaZXJvKQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgICAgIElmKE5HVE0p
IHsNCiAgICAgICAgICAgIFxfU0IuRkVYVC5GVU5DKDB4MTAwNCwgMHgwMSwgMHgwNCwgMHgwMCkN
CiAgICAgICAgfQ0KICAgICAgICBJZihcX1NCLlBDSTAuTFBDQi5ESUdJLl9TVEEoKSkgew0KICAg
ICAgICAgICAgXF9TQi5QQ0kwLkxQQ0IuRElHSS5fSU5JKCkNCiAgICAgICAgfQ0KICAgICAgICBc
X1NCLlBDSTAuTFBDQi5CVE5TLl9JTkkoKQ0KICAgIH0NCiAgICBBZGQoMHhmMCwgQXJnMCwgUE84
MCkNCiAgICBSZXR1cm4oWmVybykNCn0NCg0KfQ0KLyoNCk1DRkc6IExlbmd0aD02MCwgUmV2aXNp
b249MSwgQ2hlY2tzdW09MzksDQoJT0VNSUQ9RlVKLCBPRU0gVGFibGUgSUQ9RkpOQjFDNSwgT0VN
IFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPUZVSiwgQ3JlYXRvciBSZXZpc2lvbj0w
eDEwMA0KICovDQovKg0KU1NEVDogTGVuZ3RoPTEyNDQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTEx
LA0KCU9FTUlEPUZVSiwgT0VNIFRhYmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAw
MDAsDQoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0K
LyoNClNTRFQ6IExlbmd0aD0zNTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTUwLA0KCU9FTUlEPUZV
SiwgT0VNIFRhYmxlIElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRv
ciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0KLyoNClNTRFQ6IExl
bmd0aD00NjQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTg3LA0KCU9FTUlEPUZVSiwgT0VNIFRhYmxl
IElEPUZKTkIxQzUsIE9FTSBSZXZpc2lvbj0weDExMzAwMDAsDQoJQ3JlYXRvciBJRD1JTlRMLCBD
cmVhdG9yIFJldmlzaW9uPTB4MjAwNTA2MjQNCiAqLw0KLyoNCkFQSUM6IExlbmd0aD05MCwgUmV2
aXNpb249MSwgQ2hlY2tzdW09NTIsDQoJT0VNSUQ9RlVKLCBPRU0gVGFibGUgSUQ9RkpOQjFDNSwg
T0VNIFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPSBMVFAsIENyZWF0b3IgUmV2aXNp
b249MHgwDQogKi8NCi8qDQpIUEVUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTIx
NSwNCglPRU1JRD1GVUosIE9FTSBUYWJsZSBJRD1GSk5CMUM1LCBPRU0gUmV2aXNpb249MHgxMTMw
MDAwLA0KCUNyZWF0b3IgSUQ9RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQpC
T09UOiBMZW5ndGg9NDAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTIyNCwNCglPRU1JRD1GVUosIE9F
TSBUYWJsZSBJRD1GSk5CMUM1LCBPRU0gUmV2aXNpb249MHgxMTMwMDAwLA0KCUNyZWF0b3IgSUQ9
RlVKLCBDcmVhdG9yIFJldmlzaW9uPTB4MTAwDQogKi8NCi8qDQpTTElDOiBMZW5ndGg9Mzc0LCBS
ZXZpc2lvbj0xLCBDaGVja3N1bT00MywNCglPRU1JRD1GVUosIE9FTSBUYWJsZSBJRD1QQywgT0VN
IFJldmlzaW9uPTB4MTEzMDAwMCwNCglDcmVhdG9yIElEPUZVSiwgQ3JlYXRvciBSZXZpc2lvbj0w
eDEwMA0KICovDQo=
----Next_Part(Mon_May_26_00_20_56_2008_239)----
State-Changed-From-To: feedback->open
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Sun, 25 May 2008 15:42:54 +0000
State-Changed-Why:
Feedback provided.
State-Changed-From-To: open->feedback
State-Changed-By: jmcneill@NetBSD.org
State-Changed-When: Tue, 25 Aug 2009 10:40:40 +0000
State-Changed-Why:
A similar bug was fixed in late June, is this still an issue for you?
Other PR: http://gnats.netbsd.org/38729
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, jmcneill@NetBSD.org
Cc: joerg@NetBSD.org, netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Tue, 25 Aug 2009 23:37:57 +0900 (JST)
----Next_Part(Tue_Aug_25_23_37_57_2009_049)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Hi
With the latest kernel, pci2 is not enabled.
PR38720 does not fix my problem.
I attach dmesg of GENERIC.
After ACPICA 20090730 is imported, folloing warning is displayed.
ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
Can I help to fix this problem?
I will send any information.
--
Ryo ONODERA // ryo_on@yk.rim.or.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
----Next_Part(Tue_Aug_25_23_37_57_2009_049)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="090825-generic-dmesg.txt"
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 5.99.15 (GENERIC) #2: Tue Aug 25 23:07:47 JST 2009
root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC
total memory = 1013 MB
avail memory = 985 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
FUJITSU FMVLP70WN ( )
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20090730
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
ACPI-Safe 24-bit timer
DIGI (FUJ02E6) at acpi0 not configured
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
acpibat0: battery info: Fujitsu, LION, CP240502 1
acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
apm0 at acpi0: Power Management spec V1.2
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x27a0 (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 17
azalia0: host: 0x8086/0x27d8 (rev. 2), HDA rev. 1.0
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
ppb0: disabling notification events
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
ppb1: disabling notification events
pci2 at ppb1 bus 5
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
sdhc0: interrupting at ioapic0 pin 17
sdmmc0 at sdhc0
cbb0: cacheline 0x0 lattimer 0x40
cbb0: bhlc 0x824000
cbb0: interrupting at ioapic0 pin 16
cardslot0 at cbb0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1197083790 Hz quality 3000
acpiacad0: AC adapter online.
azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1), HDA rev. 1.0
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0), HDA rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ugen0 at uhub2 port 1
ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
----Next_Part(Tue_Aug_25_23_37_57_2009_049)----
From: "Jared D. McNeill" <jmcneill@invisible.ca>
To: "'Ryo ONODERA'" <ryo_on@yk.rim.or.jp>,
<gnats-bugs@NetBSD.org>,
<jmcneill@NetBSD.org>
Cc: <joerg@NetBSD.org>,
<netbsd-bugs@netbsd.org>,
<gnats-admin@netbsd.org>
Subject: RE: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV LOOX P70WN.)
Date: Tue, 25 Aug 2009 10:39:27 -0400
Does it work if you add the following to your kernel config:
options PCI_BUS_FIXUP
options PCI_ADDR_FIXUP
Thanks,
Jared
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, jmcneill@invisible.ca
Cc: joerg@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Wed, 26 Aug 2009 00:15:20 +0900 (JST)
----Next_Part(Wed_Aug_26_00_15_20_2009_446)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Adding PCI_BUS_FIXUP and PCI_ADDR_FIXUP options does not improve pci2 problem.
dmesg is attached.
--
Ryo ONODERA // ryo_on@yk.rim.or.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
----Next_Part(Wed_Aug_26_00_15_20_2009_446)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="090825-generic1-dmesg.txt"
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 5.99.15 (GENERIC1) #0: Tue Aug 25 23:56:31 JST 2009
root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/GENERIC1
total memory = 1013 MB
avail memory = 985 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
FUJITSU FMVLP70WN ( )
mainbus0 (root)
pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005800
pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005808
pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x00005810
pci_addr_fixup: 000:31:1 0x8086 0x27df new address 0x0000580c
pci_addr_fixup: 003:03:0 0x1180 0x0476 new address 0x3f700000
cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20090730
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 24-bit timer
DIGI (FUJ02E6) at acpi0 not configured
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
acpibat0: battery info: Fujitsu, LION, CP240502 1
acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
apm0 at acpi0: Power Management spec V1.2
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x27a0 (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0: Generic High Definition Audio Controller
azalia0: interrupting at ioapic0 pin 17
azalia0: host: 0x8086/0x27d8 (rev. 2), HDA rev. 1.0
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
ppb0: disabling notification events
pci1 at ppb0 bus 1
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
ppb1: disabling notification events
pci2 at ppb1 bus 2
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
pci3 at ppb2 bus 3
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
sdhc0: interrupting at ioapic0 pin 17
sdmmc0 at sdhc0
cbb0: bad Vcc request. sock_ctrl 0xffffff88, sock_status 0xffffffff
cbb0: disabling socket
new status 0xffffffff
cbb0: cacheline 0x0 lattimer 0x40
cbb0: bhlc 0x824000
cbb0: interrupting at ioapic0 pin 16
cardslot0 at cbb0
cardbus0 at cardslot0: bus 4
pcmcia0 at cardslot0
ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1197067410 Hz quality 3000
acpiacad0: AC adapter online.
azalia0: codec[0]: Sigmatel STAC9228X (rev. 2.1), HDA rev. 1.0
azalia0: codec[1]: 0x11c1/0x1040 (rev. 2.0), HDA rev. 1.0
azalia0: codec[1]: No support for modem function groups
azalia0: codec[1] has no audio function groups
audio0 at azalia0: full duplex, independent
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ugen0 at uhub2 port 1
ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
----Next_Part(Wed_Aug_26_00_15_20_2009_446)----
State-Changed-From-To: feedback->open
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 27 Aug 2009 04:04:46 +0000
State-Changed-Why:
feedback received, problem still exists.
State-Changed-From-To: open->feedback
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Wed, 11 Nov 2009 14:26:39 +0000
State-Changed-Why:
Can you also try the patch from
http://mail-index.netbsd.org/current-users/2009/11/09/msg011119.html
please?
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org
Cc: netbsd-bugs@netbsd.org, gnats-admin@netbsd.org
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Thu, 12 Nov 2009 05:55:08 +0900 (JST)
----Next_Part(Thu_Nov_12_05_55_08_2009_057)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
I try your netbsd-current-i386.bz2 kernel with ACPI patch,
pci2 is still disabled.
Nothing changed.
I attach dmesg of netbsd-current-i386.bz2 (netbsd-current-i386-dmesg.txt).
----Next_Part(Thu_Nov_12_05_55_08_2009_057)--
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="netbsd-current-i386-dmesg.txt"
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 5.99.22 (GENERIC) #0: Tue Nov 10 00:08:30 CET 2009
joerg@britannica.bec.de:/home/joerg/data/NetBSD/clean2/src/sys/arch/i386/compile/GENERIC
total memory = 1013 MB
avail memory = 985 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
FUJITSU FMVLP70WN ( )
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel 686-class, 1197MHz, id 0x6ec
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20090730
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
acpi0: fixed-feature power button present
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
ACPI-Fast 24-bit timer
DIGI (FUJ02E6) at acpi0 not configured
BTNS (FUJ02BF) at acpi0 not configured
FJEX (FUJ02B1) at acpi0 not configured
acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
FEXT (FUJ02E3) at acpi0 not configured
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery (Control Method)
ACPI Warning for \_SB_.CMB1._BIF: Converted Buffer to expected String at index 9 (20090730/nsrepair-215)
acpibat0: battery info: Fujitsu, LION, CP240502 1
acpitz0 at acpi0 (TZ00): critical 100.0C passive 26.8C, passive cooling
acpitz1 at acpi0 (TZ01): critical 100.0C passive 26.8C, passive cooling
apm0 at acpi0: Power Management spec V1.2
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x27a0 (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
drm at vga1 not configured
vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 17
hdafg0 at hdaudio0 vendor 0x8384 product 0x7616 nid 0x01 (firmware configuration)
hdafg0: ADC0:07, Analog Mic In: Fixed Function (Unknown, 13)
hdafg0: ADC1:08, Analog Mic In: Jack (Black, 0C)
hdafg0: DAC2:02, Analog HP Out: Jack (Black, 0A)
hdafg0: 2ch/2ch 44100Hz-192000Hz 16/16 20/32 24/32
audio0 at hdafg0: full duplex, playback, capture, independent
hdvsmfg at hdaudio0 vendor 0x11C1 product 0x1040 nid 0x01 not configured
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
ppb0: disabling notification events
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0mskc0: interrupt moderation is 0 us
, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
ukphy0 at msk0 phy 0: OUI 0x000ac2, model 0x000b, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
ppb1: disabling notification events
pci2 at ppb1 bus 5
pci2: no spaces enabled!
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
sdhc0: interrupting at ioapic0 pin 17
sdmmc0 at sdhc0
cbb0: cacheline 0x0 lattimer 0x40
cbb0: bhlc 0x824000
cbb0: interrupting at ioapic0 pin 16
cardslot0 at cbb0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
gpiobus at ichlpcib0 not configured
piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1197130950 Hz quality 3000
acpiacad0: AC adapter online.
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
ugen0 at uhub2 port 1
ugen0: vendor 0x08ff Fingerprint Sensor, rev 1.10/6.21, addr 2
wd0 at atabus0 drive 0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio1 at pad0: half duplex, playback, capture
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
----Next_Part(Thu_Nov_12_05_55_08_2009_057)----
State-Changed-From-To: feedback->open
State-Changed-By: joerg@NetBSD.org
State-Changed-When: Wed, 11 Nov 2009 21:10:57 +0000
State-Changed-Why:
Feedback provided, init order is not the culprit.
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org, joerg@NetBSD.org, netbsd-bugs@netbsd.org,
gnats-admin@netbsd.org
Cc:
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Mon, 22 Feb 2010 16:00:18 +0900 (JST)
Hi,
I apply following patch and check the value of "pba->pba_flags"
in src/sys/dev/pci/pci.c.
--- pci.c.orig 2010-02-21 09:59:56.000000000 +0900
+++ pci.c 2010-02-21 12:11:29.000000000 +0900
@@ -155,6 +155,7 @@
mrm_enabled = (pba->pba_flags & PCI_FLAGS_MRM_OKAY);
mwi_enabled = (pba->pba_flags & PCI_FLAGS_MWI_OKAY);
+ aprint_verbose("pba->pba_flags is %d\n", pba->pba_flags);
if (io_enabled == 0 && mem_enabled == 0) {
aprint_error_dev(self, "no spaces enabled!\n");
goto fail;
Then booting with ACPI support, I get these lines in dmesg.
pci0 at mainbus0 bus 0: configuration mode 1
pba->pba_flags is 31
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pci1 at ppb0 bus 2
pba->pba_flags is 23
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
pci2 at ppb1 bus 5
pba->pba_flags is 20
pci2: no spaces enabled!
pci3 at ppb2 bus 8
pba->pba_flags is 3
pci3: i/o space, memory space enabled
Next, booting without ACPI support, I get these lines in dmesg.
pci0 at mainbus0 bus 0: configuration mode 1
pba->pba_flags is 31
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pci1 at ppb0 bus 2
pba->pba_flags is 23
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
pci2 at ppb1 bus 5
pba->pba_flags is 23
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
pci3 at ppb2 bus 8
pba->pba_flags is 3
pci3: i/o space, memory space enabled
I think that the value of pba->pba_flags should be 23 in ACPI-enabled mode.
But, I do not know I should do next.
Would you like to help me?
--
Ryo ONODERA // ryo_on@yk.rim.or.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
From: Ryo ONODERA <ryo_on@yk.rim.or.jp>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: kern/36838 (pci bus is disabled on ACPI kernel on Fujitsu FMV
LOOX P70WN.)
Date: Sun, 05 Jun 2011 17:44:48 +0900 (JST)
With recent kernel 5.99.52, pci2 is detected, but wpi0, child of pci2
is not working properly.
I will submit wpi0 problem as another PR.
dmesg is here.
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008, 2009, 2010, 2011
The NetBSD Foundation, Inc. All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
The Regents of the University of California. All rights reserved.
NetBSD 5.99.52 (LEAFGIRL4) #5: Sat Jun 4 17:03:08 JST 2011
root@hydrogen.elements.tetera.org:/usr/obj/sys/arch/i386/compile/LEAFGIRL4
total memory = 1013 MB
avail memory = 984 MB
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
FUJITSU FMVLP70WN ( )
mainbus0 (root)
cpu0 at mainbus0 apid 0: Intel(R) Core(TM) Solo CPU U1400 @ 1.20GHz, id 0x6ec
ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 20, 24 pins
acpi0 at mainbus0: Intel ACPICA 20110211
acpi0: X/RSDT: OemId <FUJ ,PC ,01130000>, AslId <FUJ ,00000100>
acpi0: SCI interrupting at int 9
timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
acpiec0 at acpi0 (EC, PNP0C09): io 0x62,0x66
MCFG (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
MBIO (PNP0C02) [Motherboard Register Resources] at acpi0 not configured
acpivga0 at acpi0 (GFX0): ACPI Display Adapter
acpiout0 at acpivga0 (CRT, 0x0100): ACPI Display Output Device
acpiout1 at acpivga0 (LCD, 0x0110): ACPI Display Output Device
acpiout1: brightness levels: 0 15 29 43 57 71 85 100
acpiout2 at acpivga0 (TV, 0x0200): ACPI Display Output Device
acpiout3 at acpivga0 (DVI, 0x0300): ACPI Display Output Device
acpivga0: connected output devices:
acpivga0: 0x0100 (acpiout0): Ext. Monitor, head 0, bios detect
acpivga0: 0x0110 (acpiout1): LCD Panel, head 0, bios detect
acpivga0: 0x0200 (acpiout2): TV, head 0, bios detect
acpivga0: 0x0300 (acpiout3): Unknown Output Device, head 0, bios detect
com3 at acpi0 (DIGI, FUJ02E6): io 0x220-0x227 irq 4
com3: ns16550a, working fifo
BTNS (FUJ02BF) at acpi0 not configured
fujbp0 at acpi0 (FJEX, FUJ02B1): Fujitsu Brightness & Pointer
attimer1 at acpi0 (TIME, PNP0100): io 0x40-0x43 irq 0
pcppi1 at acpi0 (SPKR, PNP0800): io 0x61
midi0 at pcppi1: PC speaker
sysbeep0 at pcppi1
npx1 at acpi0 (MATH, PNP0C04): io 0xf0-0xfe irq 13
npx1: reported by CPUID; using exception 16
pckbc1 at acpi0 (KBC, PNP0320) (kbd port): io 0x60,0x64 irq 1
pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
hpet0 at acpi0 (HPET, PNP0103): mem 0xfed00000-0xfed003ff
timecounter: Timecounter "hpet0" frequency 14318179 Hz quality 2000
fujhk0 at acpi0 (FEXT, FUJ02E3): Fujitsu Hotkeys
acpilid0 at acpi0 (LID, PNP0C0D): ACPI Lid Switch
acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
acpiacad0 at acpi0 (AC, ACPI0003): ACPI AC Adapter
acpibat0 at acpi0 (CMB1, PNP0C0A-1): ACPI Battery
acpibat0: Fujitsu LION rechargeable battery
acpibat0: model number CP240502, serial number 1
acpibat0: granularity: low->warn 0.001 Ah, warn->full 0.001 Ah
acpitz0 at acpi0 (TZ00): cpu0
acpitz0: levels: critical 100.0 C, passive 95.0 C, passive cooling
acpitz1 at acpi0 (TZ01): cpu0
acpitz1: levels: critical 100.0 C, passive 95.0 C, passive cooling
apm0 at acpi0: Power Management spec V1.2
acpi0: [MADT] LAPIC : CPU ID 0, LAPIC ID 0, FLAGS 0x01
acpi0: [MADT] I/O APIC : ID 1, GSI 0, ADDR 0xFEC00000
acpi0: [MADT] LAPIC NMI : CPU ID 0, LINT 1, FLAGS 0x05
acpi0: [MADT] INTR OVERRIDE : BUS 0, IRQ 0, GSI 2, FLAGS 0x05
acpi0: [MADT] INTR OVERRIDE : BUS 0, IRQ 9, GSI 9, FLAGS 0x0D
acpi0: [FADT] FACS : 0x000000003F669FC0
acpi0: [FADT] DSDT : 0x000000003F6626D8
acpi0: [FADT] INT_MODEL : 0x0000000000000000
acpi0: [FADT] PM_PROFILE : 0x0000000000000000
acpi0: [FADT] SCI_INT : 0x0000000000000009
acpi0: [FADT] SMI_CMD : 0x00000000000000B2
acpi0: [FADT] ACPI_ENABLE : 0x00000000000000F0
acpi0: [FADT] ACPI_DISABLE : 0x00000000000000F1
acpi0: [FADT] S4BIOS_REQ : 0x0000000000000000
acpi0: [FADT] PSTATE_CNT : 0x0000000000000080
acpi0: [FADT] PM1a_EVT_BLK : 0x0000000000001000
acpi0: [FADT] PM1b_EVT_BLK : 0x0000000000000000
acpi0: [FADT] PM1a_CNT_BLK : 0x0000000000001004
acpi0: [FADT] PM1b_CNT_BLK : 0x0000000000000000
acpi0: [FADT] PM2_CNT_BLK : 0x0000000000001020
acpi0: [FADT] PM_TMR_BLK : 0x0000000000001008
acpi0: [FADT] GPE0_BLK : 0x0000000000001028
acpi0: [FADT] GPE1_BLK : 0x0000000000000000
acpi0: [FADT] PM1_EVT_LEN : 0x0000000000000004
acpi0: [FADT] PM1_CNT_LEN : 0x0000000000000002
acpi0: [FADT] PM2_CNT_LEN : 0x0000000000000001
acpi0: [FADT] PM_TMR_LEN : 0x0000000000000004
acpi0: [FADT] GPE0_BLK_LEN : 0x0000000000000008
acpi0: [FADT] GPE1_BLK_LEN : 0x0000000000000000
acpi0: [FADT] GPE1_BASE : 0x0000000000000000
acpi0: [FADT] CST_CNT : 0x0000000000000000
acpi0: [FADT] P_LVL2_LAT : 0x0000000000000001
acpi0: [FADT] P_LVL3_LAT : 0x0000000000000064
acpi0: [FADT] FLUSH_SIZE : 0x0000000000000000
acpi0: [FADT] FLUSH_STRIDE : 0x0000000000000000
acpi0: [FADT] DUTY_OFFSET : 0x0000000000000000
acpi0: [FADT] DUTY_WIDTH : 0x0000000000000000
acpi0: [FADT] DAY_ALRM : 0x000000000000000D
acpi0: [FADT] MON_ALRM : 0x0000000000000000
acpi0: [FADT] CENTURY : 0x0000000000000032
acpi0: [FADT] IAPC_BOOT_ARCH : 0x0000000000000003
acpi0: [FADT] RESET_VALUE : 0x0000000000000000
acpi0: [FADT] WBINVD : 0x0000000000000001
acpi0: [FADT] WBINVD_FLUSH : 0x0000000000000000
acpi0: [FADT] PROC_C1 : 0x0000000000000004
acpi0: [FADT] P_LVL2_UP : 0x0000000000000000
acpi0: [FADT] PWR_BUTTON : 0x0000000000000000
acpi0: [FADT] SLP_BUTTON : 0x0000000000000020
acpi0: [FADT] FIX_RTC : 0x0000000000000000
acpi0: [FADT] RTC_S4 : 0x0000000000000080
acpi0: [FADT] TMR_VAL_EXT : 0x0000000000000000
acpi0: [FADT] DCK_CAP : 0x0000000000000000
acpi0: [FADT] RESET_REG_SUP : 0x0000000000000000
acpi0: [FADT] SEALED_CASE : 0x0000000000000000
acpi0: [FADT] HEADLESS : 0x0000000000000000
acpi0: [FADT] CPU_SW_SLP : 0x0000000000000000
acpi0: [FADT] PCI_EXP_WAK : 0x0000000000000000
acpi0: [FADT] PLATFORM_CLK : 0x0000000000008000
acpi0: [FADT] S4_RTC_STS : 0x0000000000000000
acpi0: [FADT] REMOTE_POWER : 0x0000000000000000
acpi0: [FADT] APIC_CLUSTER : 0x0000000000000000
acpi0: [FADT] APIC_PHYSICAL : 0x0000000000000000
acpi0: [\ ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU0] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [CPU1] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [_SB ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [MCFG] HID PNP0C02 UID - STA 0xFFFFFFFF ADR -
acpi0: [PCI0] HID PNP0A08 UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [MBIO] HID PNP0C02 UID - STA 0x0000000F ADR -
acpi0: [GFX0] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000020000
acpi0: [CRT ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000100
acpi0: [LCD ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000110
acpi0: [TV ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000200
acpi0: [DVI ] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000300
acpi0: [PCIB] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001E0000
acpi0: [LPCB] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0000
acpi0: [TPM ] HID IFX0102 UID 1 STA 0x00000000 ADR -
acpi0: [DIGI] HID FUJ02E6 UID - STA 0x0000000F ADR -
acpi0: [BTNS] HID FUJ02BF UID - STA 0x0000000F ADR -
acpi0: [FJEX] HID FUJ02B1 UID - STA 0x0000000F ADR -
acpi0: [CMBT] HID FUJ02E1 UID - STA 0x00000000 ADR -
acpi0: [EC ] HID PNP0C09 UID - STA 0xFFFFFFFF ADR -
acpi0: [DMAC] HID PNP0200 UID - STA 0x0000000F ADR -
acpi0: [TIME] HID PNP0100 UID - STA 0x0000000F ADR -
acpi0: [PIC ] HID PNP0000 UID - STA 0x0000000F ADR -
acpi0: [RTC ] HID PNP0B00 UID - STA 0x0000000F ADR -
acpi0: [SPKR] HID PNP0800 UID - STA 0x0000000F ADR -
acpi0: [MATH] HID PNP0C04 UID - STA 0x0000000F ADR -
acpi0: [KBC ] HID PNP0320 UID - STA 0x0000000F ADR -
acpi0: [PS2M] HID PNP0F13 UID - STA 0x0000000F ADR -
acpi0: [FWH ] HID INT0800 UID - STA 0x00000000 ADR -
acpi0: [HPET] HID PNP0103 UID - STA 0x0000000F ADR -
acpi0: [UAR1] HID PNP0501 UID 1 STA 0x00000000 ADR -
acpi0: [LNKA] HID PNP0C0F UID 1 STA 0x0000000B ADR -
acpi0: [LNKB] HID PNP0C0F UID 2 STA 0x0000000B ADR -
acpi0: [LNKC] HID PNP0C0F UID 3 STA 0x0000000B ADR -
acpi0: [LNKD] HID PNP0C0F UID 4 STA 0x0000000B ADR -
acpi0: [LNKE] HID PNP0C0F UID 5 STA 0x0000000B ADR -
acpi0: [LNKF] HID PNP0C0F UID 6 STA 0x00000009 ADR -
acpi0: [LNKG] HID PNP0C0F UID 7 STA 0x0000000B ADR -
acpi0: [LNKH] HID PNP0C0F UID 8 STA 0x0000000B ADR -
acpi0: [PATA] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0001
acpi0: [PRIM] HID - UID - STA 0x0000000F ADR 0x0000000000000000
acpi0: [MAST] HID - UID - STA 0x0000000F ADR 0x0000000000000000
acpi0: [SLAV] HID - UID - STA 0x00000000 ADR 0x0000000000000001
acpi0: [USB1] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0000
acpi0: [USB2] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0001
acpi0: [USB3] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0002
acpi0: [USB4] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0003
acpi0: [USB7] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001D0007
acpi0: [SBUS] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001F0003
acpi0: [AUD0] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001E0002
acpi0: [MODM] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001E0003
acpi0: [HDEF] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001B0000
acpi0: [RP01] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0000
acpi0: [PXS1] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [RP02] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0001
acpi0: [PXS2] HID - UID - STA 0x00000000 ADR 0x0000000000000000
acpi0: [RP03] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0002
acpi0: [PXS3] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [RP04] HID - UID - STA 0xFFFFFFFF ADR 0x00000000001C0003
acpi0: [PXS4] HID - UID - STA 0xFFFFFFFF ADR 0x0000000000000000
acpi0: [FEXT] HID FUJ02E3 UID - STA 0x0000000F ADR -
acpi0: [LID ] HID PNP0C0D UID - STA 0xFFFFFFFF ADR -
acpi0: [PWRB] HID PNP0C0C UID - STA 0x0000000F ADR -
acpi0: [AC ] HID ACPI0003 UID - STA 0x0000000F ADR -
acpi0: [CMB1] HID PNP0C0A UID 1 STA 0x0000001F ADR -
acpi0: [SLPB] HID PNP0C0E UID - STA 0x00000000 ADR -
acpi0: [_TZ ] HID - UID - STA 0xFFFFFFFF ADR -
acpi0: [TZ00] HID - UID - STA - ADR -
acpi0: [TZ01] HID - UID - STA - ADR -
\ [06] []
CPU0 [12] []
CPU1 [12] []
_SB [06] []
MCFG [06] []
PCI0 [06] [] (PCI) @ 0x00:0x00:0x00:0x00 [R] [B] -> 0x00:0x00
MBIO [06] []
GFX0 [06] [] <acpivga0> (PCI) @ 0x00:0x00:0x02:0x00
CRT [06] [] <acpiout0>
LCD [06] [] <acpiout1>
TV [06] [] <acpiout2>
DVI [06] [] <acpiout3>
PCIB [06] [] (PCI) @ 0x00:0x00:0x1E:0x00 [B] -> 0x00:0x08
LPCB [06] [] (PCI) @ 0x00:0x00:0x1F:0x00
TPM [06] []
DIGI [06] [] <com3>
BTNS [06] []
FJEX [06] [] <fujbp0>
CMBT [06] []
EC [06] [] <acpiec0>
DMAC [06] []
TIME [06] [] <attimer1>
PIC [06] []
RTC [06] []
SPKR [06] [] <pcppi1>
MATH [06] [] <npx1>
KBC [06] [] <pckbc1>
PS2M [06] [] <pckbc2>
FWH [06] []
HPET [06] [] <hpet0>
UAR1 [06] []
LNKA [06] []
LNKB [06] []
LNKC [06] []
LNKD [06] []
LNKE [06] []
LNKF [06] []
LNKG [06] []
LNKH [06] []
PATA [06] [] (PCI) @ 0x00:0x00:0x1F:0x01
PRIM [06] []
MAST [06] []
SLAV [06] []
USB1 [06] [] (PCI) @ 0x00:0x00:0x1D:0x00
USB2 [06] [] (PCI) @ 0x00:0x00:0x1D:0x01
USB3 [06] [] (PCI) @ 0x00:0x00:0x1D:0x02
USB4 [06] [] (PCI) @ 0x00:0x00:0x1D:0x03
USB7 [06] [] (PCI) @ 0x00:0x00:0x1D:0x07
SBUS [06] [] (PCI) @ 0x00:0x00:0x1F:0x03
AUD0 [06] [] (PCI) @ 0x00:0x00:0x1E:0x02
MODM [06] [] (PCI) @ 0x00:0x00:0x1E:0x03
HDEF [06] [] (PCI) @ 0x00:0x00:0x1B:0x00
RP01 [06] [] (PCI) @ 0x00:0x00:0x1C:0x00 [B] -> 0x00:0x02
PXS1 [06] [] (PCI) @ 0x00:0x02:0x00:0x00
RP02 [06] [] (PCI) @ 0x00:0x00:0x1C:0x01
PXS2 [06] []
RP03 [06] [] (PCI) @ 0x00:0x00:0x1C:0x02 [B] -> 0x00:0x05
PXS3 [06] [] (PCI) @ 0x00:0x05:0x00:0x00
RP04 [06] [] (PCI) @ 0x00:0x00:0x1C:0x03
PXS4 [06] []
FEXT [06] [] <fujhk0>
LID [06] [] <acpilid0>
PWRB [06] [] <acpibut0>
AC [06] [] <acpiacad0>
CMB1 [06] [] <acpibat0>
SLPB [06] []
_TZ [06] []
TZ00 [13] [] <acpitz0>
TZ01 [13] [] <acpitz1>
attimer1: attached to pcppi1
pckbd0 at pckbc1 (kbd slot)
pckbc1: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc1 (aux slot)
pckbc1: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0: vendor 0x8086 product 0x27a0 (rev. 0x03)
agp0 at pchb0: detected 7932k stolen memory
agp0: aperture at 0xe0000000, size 0x10000000
vga1 at pci0 dev 2 function 0: vendor 0x8086 product 0x27a2 (rev. 0x03)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
i915drm0 at vga1: Intel i945GM
i915drm0: AGP at 0xe0000000 256MB
i915drm0: Initialized i915 1.6.0 20080730
vendor 0x8086 product 0x27a6 (miscellaneous display, revision 0x03) at pci0 dev 2 function 1 not configured
hdaudio0 at pci0 dev 27 function 0: HD Audio Controller
hdaudio0: interrupting at ioapic0 pin 17
hdafg0 at hdaudio0: Sigmatel STAC9228X
hdafg0: DAC00 2ch: Speaker [Built-In]
hdafg0: ADC01 2ch: Mic In [Built-In]
hdafg0: ADC02 2ch: Mic In [Jack]
hdafg0: DAC03 2ch: HP Out [Jack]
hdafg0: 2ch/2ch 44100Hz 48000Hz 88200Hz 96000Hz 192000Hz 16/16 20/32 24/32
audio0 at hdafg0: full duplex, playback, capture, independent
hdvsmfg at hdaudio0 not configured
ppb0 at pci0 dev 28 function 0: vendor 0x8086 product 0x27d0 (rev. 0x02)
ppb0: PCI Express 1.0 <Root Port of PCI-E Root Complex>
pci1 at ppb0 bus 2
pci1: i/o space, memory space enabled, rd/line, wr/inv ok
mskc0 at pci1 dev 0 function 0, Yukon-2 EC Ultra rev. A1 (0x2): ioapic0 pin 16
msk0 at mskc0 port A: Ethernet address 00:17:42:3d:72:02
makphy0 at msk0 phy 0: Marvell 88E1149 Gigabit PHY, rev. 1
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ppb1 at pci0 dev 28 function 2: vendor 0x8086 product 0x27d4 (rev. 0x02)
ppb1: PCI Express 1.0 <Root Port of PCI-E Root Complex>
pci2 at ppb1 bus 5
pci2: i/o space, memory space enabled, rd/line, wr/inv ok
wpi0 at pci2 dev 0 function 0: vendor 0x8086 product 0x4222 (rev. 0x02)
wpi0: interrupting at ioapic0 pin 18
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: M^?M^?M^?M^?wpi0: could not lock memory
, address ff:ff:ff:ff:ff:ff
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
uhci0 at pci0 dev 29 function 0: vendor 0x8086 product 0x27c8 (rev. 0x02)
uhci0: interrupting at ioapic0 pin 23
usb0 at uhci0: USB revision 1.0
uhci1 at pci0 dev 29 function 1: vendor 0x8086 product 0x27c9 (rev. 0x02)
uhci1: interrupting at ioapic0 pin 20
usb1 at uhci1: USB revision 1.0
uhci2 at pci0 dev 29 function 2: vendor 0x8086 product 0x27ca (rev. 0x02)
uhci2: interrupting at ioapic0 pin 18
usb2 at uhci2: USB revision 1.0
uhci3 at pci0 dev 29 function 3: vendor 0x8086 product 0x27cb (rev. 0x02)
uhci3: interrupting at ioapic0 pin 16
usb3 at uhci3: USB revision 1.0
ehci0 at pci0 dev 29 function 7: vendor 0x8086 product 0x27cc (rev. 0x02)
ehci0: interrupting at ioapic0 pin 23
ehci0: EHCI version 1.0
ehci0: companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
usb4 at ehci0: USB revision 2.0
ppb2 at pci0 dev 30 function 0: vendor 0x8086 product 0x2448 (rev. 0xe2)
pci3 at ppb2 bus 8
pci3: i/o space, memory space enabled
cbb0 at pci3 dev 3 function 0: vendor 0x1180 product 0x0476 (rev. 0x8d)
sdhc0 at pci3 dev 3 function 1: vendor 0x1180 product 0x0822 (rev. 0x13)
sdhc0: interrupting at ioapic0 pin 17
sdmmc0 at sdhc0
cbb0: cacheline 0x0 lattimer 0x40
cbb0: bhlc 0x824000
cbb0: interrupting at ioapic0 pin 16
cardslot0 at cbb0
cardbus0 at cardslot0: bus 9
pcmcia0 at cardslot0
ichlpcib0 at pci0 dev 31 function 0: vendor 0x8086 product 0x27b9 (rev. 0x02)
timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
ichlpcib0: 24-bit timer
ichlpcib0: TCO (watchdog) timer configured.
gpiobus at ichlpcib0 not configured
piixide0 at pci0 dev 31 function 1: Intel 82801GB/GR IDE Controller (ICH7) (rev. 0x02)
piixide0: bus-master DMA support present
piixide0: primary channel configured to compatibility mode
piixide0: primary channel interrupting at ioapic0 pin 14
atabus0 at piixide0 channel 0
piixide0: secondary channel configured to compatibility mode
piixide0: secondary channel ignored (disabled)
ichsmb0 at pci0 dev 31 function 3: vendor 0x8086 product 0x27da (rev. 0x02)
ichsmb0: interrupting at ioapic0 pin 19
iic0 at ichsmb0: I2C bus
isa0 at ichlpcib0
acpicpu0 at cpu0: ACPI CPU
acpicpu0: C1: FFH, lat 1 us, pow 1000 mW
acpicpu0: C2: I/O, lat 1 us, pow 500 mW, bus master check
acpicpu0: C3: I/O, lat 17 us, pow 100 mW, bus master check
acpicpu0: P0: FFH, lat 10 us, pow 31000 mW, 1200 MHz
acpicpu0: P1: FFH, lat 10 us, pow 13000 mW, 800 MHz
coretemp0 at cpu0: thermal sensor, 1 C resolution
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "TSC" frequency 1197098640 Hz quality 3000
acpiacad0: AC adapter online.
uhub0 at usb0: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhub1 at usb1: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhub2 at usb2: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
uhub3 at usb3: vendor 0x8086 UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub3: 2 ports with 2 removable, self powered
uhub4 at usb4: vendor 0x8086 EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub4: 8 ports with 8 removable, self powered
wd0 at atabus0 drive 0
wd0: <TOSHIBA MK6006GAH>
wd0: drive supports 16-sector PIO transfers, LBA48 addressing
wd0: 57231 MB, 116280 cyl, 16 head, 63 sec, 512 bytes/sect x 117210240 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
Kernelized RAIDframe activated
ugen0 at uhub2 port 1
ugen0: AuthenTec Fingerprint Sensor, rev 1.10/6.21, addr 2
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
ubt0 at uhub2 port 2
ubt0: vendor 0x0c24 product 0x000f, rev 2.00/19.15, addr 3
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
tap0: Ethernet address f2:0b:a4:1e:b5:07
i915drm0: interrupting at ioapic0 pin 16
silicon:/Public: inaccurate wcc data (ctime) detected, disabling wcc (ctime 1307193098.000000000 1307193098.471659077, mtime 1307193098.501659005 1307193098.471659077)
wpi0: could not lock memory
wpi0: could not lock memory
wpi0: could not lock memory
--
Ryo ONODERA // ryo_on@yk.rim.or.jp
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB FD1B F404 27FA C7D1 15F3
State-Changed-From-To: open->closed
State-Changed-By: chs@NetBSD.org
State-Changed-When: Wed, 10 Oct 2012 15:26:17 +0000
State-Changed-Why:
ryo reports that the specific problem of this PR (the PCI bus not being detected)
is fixed now.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.