ALPS DualPoint touchpad not recognized on ThinkPad E550

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

ALPS DualPoint touchpad not recognized on ThinkPad E550

regis.etourmy
>Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
>Category: system kernel amd64
>Environment:
        System      : OpenBSD 6.2
        Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
                         [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:

Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  

Here are the details seen by an Ubuntu 1710:

I: Bus=0011 Vendor=0002 Product=0008 Version=0700
N: Name="AlpsPS/2 ALPS DualPoint Stick"
P: Phys=isa0060/serio1/input1
S: Sysfs=/devices/platform/i8042/serio1/input/input6
U: Uniq=
H: Handlers=mouse0 event4
B: PROP=21
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

I: Bus=0011 Vendor=0002 Product=0008 Version=0700
N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input4
U: Uniq=
H: Handlers=mouse1 event5
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=260800000000003

As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.


>How-To-Repeat:
       
>Fix:
       


dmesg:
OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
    [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 8486764544 (8093MB)
avail mem = 8222527488 (7841MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
bios0: LENOVO 20DFCTO1WW
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpiec0 at acpi0
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: TSC frequency 2195282520 Hz
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
cpu0: apic clock running at 99MHz
cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
cpu1: 256KB 64b/line 8-way L2 cache
cpu1: smt 1, core 0, package 0
cpu2 at mainbus0: apid 2 (application processor)
cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
cpu2: 256KB 64b/line 8-way L2 cache
cpu2: smt 0, core 1, package 0
cpu3 at mainbus0: apid 3 (application processor)
cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
cpu3: 256KB 64b/line 8-way L2 cache
cpu3: smt 1, core 1, package 0
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (PEG_)
acpiprt2 at acpi0: bus 2 (EXP1)
acpiprt3 at acpi0: bus 4 (EXP3)
acpiprt4 at acpi0: bus 5 (EXP6)
acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
acpipwrres1 at acpi0: AMD3, resource for PEG_
acpipwrres2 at acpi0: AMD2, resource for PEG_
acpitz0 at acpi0: critical temperature is 127 degC
acpibtn0 at acpi0: LID_
"LEN0071" at acpi0 not configured
"LEN200C" at acpi0 not configured
acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
acpiac0 at acpi0: AC unit online
acpithinkpad0 at acpi0
"SMO1200" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"PNP0C14" at acpi0 not configured
"INT340F" at acpi0 not configured
acpivideo0 at acpi0: VID_
acpivout at acpivideo0 not configured
acpivideo1 at acpi0: VID_
cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
drm0 at inteldrm0
inteldrm0: msi
inteldrm0: 1920x1080, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
usb0 at xhci0: USB revision 3.0
uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
"Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
azalia1: codecs: Conexant/0x510f
audio0 at azalia1
ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
pci1 at ppb0 bus 2
ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
pci2 at ppb1 bus 4
iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
pci3 at ppb2 bus 5
rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
sdmmc0 at rtsx0: 4-bit
ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
usb1 at ehci0: USB revision 2.0
uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
ahci0: port 0: 6.0Gb/s
ahci0: port 1: 1.5Gb/s
scsibus1 at ahci0: 32 targets
sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
iic0 at ichiic0
spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot #0)
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX/EPT
efifb at mainbus0 not configured
uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
video0 at uvideo0
uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42

usbdevs:
Controller /dev/usb0:
addr 1: super speed, self powered, config 1, xHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 disabled
 port 2 disabled
 port 3 disabled
 port 4 disabled
 port 5 disabled
 port 6 disabled
 port 7 disabled
 port 8 addr 2: high speed, power 500 mA, config 1, Integrated Camera(0x2c70), J8IECN3YB(0x1bcf), rev 0.07
 port 9 disabled
 port 10 disabled
 port 11 disabled
 port 12 disabled
 port 13 disabled
 port 14 disabled
 port 15 disabled
Controller /dev/usb1:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), Intel(0x8086), rev 1.00
 port 1 addr 2: high speed, self powered, config 1, Rate Matching Hub(0x8001), Intel(0x8087), rev 0.03
  port 1 powered
  port 2 powered
  port 3 powered
  port 4 powered
  port 5 powered
  port 6 powered
  port 7 powered
  port 8 powered
 port 2 powered
 port 3 powered

pcidump:
Domain /dev/pci0:
 0:0:0: Intel Core 5G Host
        0x0000: Vendor ID: 8086 Product ID: 1604
        0x0004: Command: 0006 Status: 2090
        0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: 09
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x00e0: Capability 0x09: Vendor Specific
        0x0000: 16048086 20900006 06000009 00000000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 000000e0 00000000 00000000
        0x0040: fed19001 00000000 fed10001 00000000
        0x0050: 000001c1 00000031 cff00007 cd000001
        0x0060: f8000005 00000000 fed18001 00000000
        0x0070: ff000000 00000001 ff000c00 0000007f
        0x0080: 00000011 00111100 0000001a 00000000
        0x0090: ff000001 00000001 2ef00001 00000002
        0x00a0: 00000001 00000002 2f000001 00000002
        0x00b0: ce000001 cd800001 cd000001 d0000001
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 010c0009 72046199 145d00d4 00000000
        0x00f0: 00000000 00040fc8 00000000 00000000
 0:2:0: Intel HD Graphics 5500
        0x0000: Vendor ID: 8086 Product ID: 1616
        0x0004: Command: 0006 Status: 0090
        0x0008: Class: 03 Subclass: 00 Interface: 00 Revision: 09
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f0000000/0x01000000
        0x0018: BAR mem prefetchable 64bit addr: 0x00000000e0000000/0x10000000
        0x0020: BAR io addr: 0x00003000/0x0040
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0090: Capability 0x05: Message Signalled Interrupts (MSI)
        0x00d0: Capability 0x01: Power Management
                State: D0
        0x00a4: Capability 0x13: PCI Advanced Features
        0x0000: 16168086 00900006 03000009 00000000
        0x0010: f0000004 00000000 e000000c 00000000
        0x0020: 00003001 00000000 00000000 502017aa
        0x0030: 00000000 00000090 00000000 000001ff
        0x0040: 010c0009 72046199 145d00d4 00000000
        0x0050: 000001c1 00000031 00000000 ce000001
        0x0060: 00010000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 0001d005 fee00000 00000091 00000000
        0x00a0: 00000000 03060013 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 0022a401 00000000 00000000 00000000
        0x00e0: 00000000 00000001 00008000 00000000
        0x00f0: 00000000 00000000 00090000 ccf65018
 0:3:0: Intel Core 5G HD Audio
        0x0000: Vendor ID: 8086 Product ID: 160c
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: 04 Subclass: 03 Interface: 00 Revision: 09
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f1230000/0x00004000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0060: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0070: Capability 0x10: PCI Express
        0x0100: Enhanced Capability 0x00: Unknown
        0x0000: 160c8086 00100006 04030009 00000010
        0x0010: f1230004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000050 00000000 000001ff
        0x0040: 00000000 72046199 145d00d4 00000031
        0x0050: 00026001 00000000 00000000 00000000
        0x0060: 00007005 fee00000 000000b0 00000000
        0x0070: 00910010 10000fc0 00000800 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:20:0: Intel 9 Series xHCI
        0x0000: Vendor ID: 8086 Product ID: 9cb1
        0x0004: Command: 0006 Status: 0290
        0x0008: Class: 0c Subclass: 03 Interface: 30 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f1220000/0x00010000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0070: Capability 0x01: Power Management
                State: D0
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 9cb18086 02900006 0c033003 00000000
        0x0010: f1220004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000070 00000000 000001ff
        0x0040: 803601fd 800fc689 00000000 00000000
        0x0050: 0fce2e5f 00000000 00000000 00000000
        0x0060: 00002030 00000000 00000000 00000000
        0x0070: c1c28001 00000008 00000000 00000000
        0x0080: 00870005 fee00000 00000000 00000060
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00040140 00001800 0002208f 00000000
        0x00b0: 00000002 000000c1 00000034 00000000
        0x00c0: 00000002 00000001 00000000 00000000
        0x00d0: 000007ff 000004ff 0000000f 0000000f
        0x00e0: 00000800 00000060 00000000 0008d8d8
        0x00f0: 00000000 00000000 08030fb1 00000000
 0:22:0: Intel 9 Series MEI
        0x0000: Vendor ID: 8086 Product ID: 9cba
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: 07 Subclass: 80 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f1239000/0x00000020
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x008c: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 9cba8086 00100006 07800003 00800000
        0x0010: f1239004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000050 00000000 000001ff
        0x0040: 1e000255 80010010 6600a306 10001ff0
        0x0050: c8038c01 00000008 00000000 00000000
        0x0060: 00000200 00004005 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00800005
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 c0000002
        0x00c0: ba66a815 3583456f 49a34efd e7dabec4
        0x00d0: ebf282ef 74bb9a38 27f3bbea 37f80ec0
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:25:0: Intel I218-V
        0x0000: Vendor ID: 8086 Product ID: 15a3
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 32bit addr: 0xf1200000/0x00020000
        0x0014: BAR mem 32bit addr: 0xf123e000/0x00001000
        0x0018: BAR io addr: 0x00003080/0x0020
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x00c8: Capability 0x01: Power Management
                State: D0
        0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
        0x00e0: Capability 0x13: PCI Advanced Features
        0x0000: 15a38086 00100007 02000003 00000000
        0x0010: f1200000 f123e000 00003081 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 000000c8 00000000 000001ff
        0x0040: 00000000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00001003 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 c822d001 07002000
        0x00d0: 0081e005 fee00000 00000000 00000072
        0x00e0: 03060013 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 0:27:0: Intel 9 Series HD Audio
        0x0000: Vendor ID: 8086 Product ID: 9ca0
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: 04 Subclass: 03 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 20 Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f1234000/0x00004000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0060: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 9ca08086 00100006 04030003 00002010
        0x0010: f1234004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000050 00000000 000001ff
        0x0040: 7f040103 00000000 00000000 00008000
        0x0050: c8436001 00000000 00000000 00000000
        0x0060: 00810005 fee00000 00000000 000000b0
        0x0070: 00910010 10000000 00100000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 01020400 01006000 82850c00 02330010
        0x00d0: 02850c00 02330010 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 08030fb1 00000000
 0:28:0: Intel 9 Series PCIE
        0x0000: Vendor ID: 8086 Product ID: 9c90
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: e3
        0x000c: BIST: 00 Header Type: 81 Latency Timer: 00 Cache Line Size: 10
        0x0010: 00000000
        0x0014: 00000000
        0x0018: Primary Bus: 0 Secondary Bus: 2 Subordinate Bus: 2
                Secondary Latency Timer: 00
        0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 2000
        0x0020: Memory Base: fff0 Memory Limit: 0000
        0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
        0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000 I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Bridge Control: 0010
        0x0040: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s Link Width: x0 / x1
        0x0100: Enhanced Capability 0x00: Unknown
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0090: Capability 0x0d: PCI-PCI
        0x00a0: Capability 0x01: Power Management
                State: D0
        0x0000: 9c908086 00100007 060400e3 00810010
        0x0010: 00000000 00000000 00020200 200000f0
        0x0020: 0000fff0 0001fff1 ffffffff 00000000
        0x0030: 00000000 00000040 00000000 001001ff
        0x0040: 00428010 00008000 00100000 01314c12
        0x0050: 10010003 00040060 00400000 00000000
        0x0060: 00000000 00080817 00000400 00000000
        0x0070: 00010002 00000000 00000000 00000000
        0x0080: 00009005 00000000 00000000 00000000
        0x0090: 0000a00d 502017aa 00000000 00000000
        0x00a0: c8030001 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 01000000 00000800 09110002 00000000
        0x00e0: 00303c00 00000000 0000000a 00000000
        0x00f0: 00000050 0000f580 08030fb1 40492805
 0:28:2: Intel 9 Series PCIE
        0x0000: Vendor ID: 8086 Product ID: 9c94
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: e3
        0x000c: BIST: 00 Header Type: 81 Latency Timer: 00 Cache Line Size: 10
        0x0010: 00000000
        0x0014: 00000000
        0x0018: Primary Bus: 0 Secondary Bus: 4 Subordinate Bus: 4
                Secondary Latency Timer: 00
        0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 0000
        0x0020: Memory Base: f110 Memory Limit: f110
        0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
        0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000 I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 03 Line: ff Bridge Control: 0010
        0x0040: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s Link Width: x1 / x1
        0x0100: Enhanced Capability 0x00: Unknown
        0x0200: Enhanced Capability 0x1e: L1 PM
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0090: Capability 0x0d: PCI-PCI
        0x00a0: Capability 0x01: Power Management
                State: D0
        0x0000: 9c948086 00100007 060400e3 00810010
        0x0010: 00000000 00000000 00040400 000000f0
        0x0020: f110f110 0001fff1 ffffffff 00000000
        0x0030: 00000000 00000040 00000000 001003ff
        0x0040: 01428010 00008000 00100000 03323c12
        0x0050: 70110042 0014b200 00400028 00000000
        0x0060: 00000000 00000817 00000400 00000000
        0x0070: 00010002 00000000 00000000 00000000
        0x0080: 00019005 fee00000 00000061 00000000
        0x0090: 0000a00d 502017aa 00000000 00000000
        0x00a0: c8030001 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 01000000 00001842 8b118008 00000000
        0x00e0: 00400302 00000000 0000001b 00000000
        0x00f0: 00000050 0c000040 08030fb1 00000004
 0:28:5: Intel 9 Series PCIE
        0x0000: Vendor ID: 8086 Product ID: 9c9a
        0x0004: Command: 0007 Status: 0010
        0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: e3
        0x000c: BIST: 00 Header Type: 81 Latency Timer: 00 Cache Line Size: 10
        0x0010: 00000000
        0x0014: 00000000
        0x0018: Primary Bus: 0 Secondary Bus: 5 Subordinate Bus: 5
                Secondary Latency Timer: 00
        0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 0000
        0x0020: Memory Base: f100 Memory Limit: f100
        0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
        0x0028: Prefetch Memory Base Upper 32 Bits: ffffffff
        0x002c: Prefetch Memory Limit Upper 32 Bits: 00000000
        0x0030: I/O Base Upper 16 Bits: 0000 I/O Limit Upper 16 Bits: 0000
        0x0038: Expansion ROM Base Address: 00000000
        0x003c: Interrupt Pin: 02 Line: ff Bridge Control: 0010
        0x0040: Capability 0x10: PCI Express
                Link Speed: 2.5 / 5.0 GT/s Link Width: x1 / x1
        0x0100: Enhanced Capability 0x00: Unknown
        0x0200: Enhanced Capability 0x1e: L1 PM
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0090: Capability 0x0d: PCI-PCI
        0x00a0: Capability 0x01: Power Management
                State: D0
        0x0000: 9c9a8086 00100007 060400e3 00810010
        0x0010: 00000000 00000000 00050500 000000f0
        0x0020: f100f100 0001fff1 ffffffff 00000000
        0x0030: 00000000 00000040 00000000 001002ff
        0x0040: 01428010 00008000 00100000 06323c12
        0x0050: 70110043 002cb200 00400028 00000000
        0x0060: 00000000 00000817 00000400 00000000
        0x0070: 00010002 00000000 00000000 00000000
        0x0080: 00019005 fee00000 00000062 00000000
        0x0090: 0000a00d 502017aa 00000000 00000000
        0x00a0: c8030001 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 01000000 00001842 8b118008 00000000
        0x00e0: 00403f02 00000000 0000000b 00000000
        0x00f0: 00000050 00000040 08030fb1 00000004
 0:29:0: Intel 9 Series USB
        0x0000: Vendor ID: 8086 Product ID: 9ca6
        0x0004: Command: 0006 Status: 0290
        0x0008: Class: 0c Subclass: 03 Interface: 20 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 32bit addr: 0xf123d000/0x00000400
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0058: Capability 0x0a: Debug Port
        0x0098: Capability 0x13: PCI Advanced Features
        0x0000: 9ca68086 02900006 0c032003 00000000
        0x0010: f123d000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000050 00000000 000001ff
        0x0040: 00000000 16120b67 00000000 00000000
        0x0050: c9c35801 00000008 20a0980a 00000000
        0x0060: 06472020 00000060 00000001 c0080000
        0x0070: 3fdf0000 0034c102 0000014f 0000408c
        0x0080: 00800000 110c0811 24000c00 00020400
        0x0090: 00000000 00000000 03060013 00000100
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00ffaa00 ffff0000 00000027
        0x00e0: 00000000 ffffffff ffffffff cbd68004
        0x00f0: 00000000 00808588 08030fb1 20121708
 0:31:0: Intel 9 Series LPC
        0x0000: Vendor ID: 8086 Product ID: 9cc3
        0x0004: Command: 0007 Status: 0210
        0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR empty (00000000)
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 00 Line: 00 Min Gnt: 00 Max Lat: 00
        0x00e0: Capability 0x09: Vendor Specific
        0x0000: 9cc38086 02100007 06010003 00800000
        0x0010: 00000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 000000e0 00000000 00000000
        0x0040: 00001801 00000080 00000801 00000010
        0x0050: 000000f8 00000000 00000000 00000000
        0x0060: 80808080 000000d0 80808080 0000f0f8
        0x0070: f078f078 f078f078 f078f078 f078f078
        0x0080: 3f0f0010 00000000 00040701 00040069
        0x0090: 000c06a1 00000f00 ff000001 00000000
        0x00a0: 60a016f4 00061c39 00004600 00010000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00112233 00004567 0000ffce 0000002a
        0x00e0: 100c0009 00000000 140ea801 00000000
        0x00f0: fed1c001 00000000 08030fb1 00000000
 0:31:2: Intel 9 Series AHCI
        0x0000: Vendor ID: 8086 Product ID: 9c83
        0x0004: Command: 0007 Status: 02b0
        0x0008: Class: 01 Subclass: 06 Interface: 01 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR io addr: 0x000030a8/0x0008
        0x0014: BAR io addr: 0x000030b4/0x0004
        0x0018: BAR io addr: 0x000030a0/0x0008
        0x001c: BAR io addr: 0x000030b0/0x0004
        0x0020: BAR io addr: 0x00003060/0x0020
        0x0024: BAR mem 32bit addr: 0xf123c000/0x00000800
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 02 Line: ff Min Gnt: 00 Max Lat: 00
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0070: Capability 0x01: Power Management
                State: D0
        0x00a8: Capability 0x12: SATA
        0x0000: 9c838086 02b00007 01060103 00000000
        0x0010: 000030a9 000030b5 000030a1 000030b1
        0x0020: 00003061 f123c000 00000000 502017aa
        0x0030: 00000000 00000080 00000000 000002ff
        0x0040: 80008000 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 4003a801 00000008 00000000 00000000
        0x0080: 00017005 fee00000 00000065 00000000
        0x0090: 83030c60 0c000183 20dc0220 80000420
        0x00a0: 000000a4 00000000 00100012 00000048
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 08030fb1 00000000
 0:31:3: Intel 9 Series SMBus
        0x0000: Vendor ID: 8086 Product ID: 9ca2
        0x0004: Command: 0003 Status: 0280
        0x0008: Class: 0c Subclass: 05 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f1238000/0x00000100
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR io addr: 0x0000efa0/0x0020
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 03 Line: ff Min Gnt: 00 Max Lat: 00
        0x0000: 9ca28086 02800003 0c050003 00000000
        0x0010: f1238004 00000000 00000000 00000000
        0x0020: 0000efa1 00000000 00000000 502017aa
        0x0030: 00000000 00000000 00000000 000003ff
        0x0040: 00000001 00000000 00000000 00000000
        0x0050: 00000000 00000000 00000000 00000000
        0x0060: 00040403 08080000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000004 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 08030fb1 00000000
 0:31:6: Intel 9 Series Thermal
        0x0000: Vendor ID: 8086 Product ID: 9ca4
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: 11 Subclass: 80 Interface: 00 Revision: 03
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
        0x0010: BAR mem 64bit addr: 0x00000000f123b000/0x00001000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 03 Line: ff Min Gnt: 00 Max Lat: 00
        0x0050: Capability 0x01: Power Management
                State: D0
        0x0080: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0000: 9ca48086 00100006 11800003 00000000
        0x0010: f123b004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000050 00000000 000003ff
        0x0040: 00000004 00000000 00000000 00000000
        0x0050: 00238001 00000008 00000000 00000000
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00000000 00000000 00000000 00000000
        0x0080: 00000005 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 08030fb1 00000000
 4:0:0: Intel Dual Band Wireless AC 3160
        0x0000: Vendor ID: 8086 Product ID: 08b4
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: 02 Subclass: 80 Interface: 00 Revision: 93
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 10
        0x0010: BAR mem 64bit addr: 0x00000000f1100000/0x00002000
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 8086 Product ID: 8270
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x00c8: Capability 0x01: Power Management
                State: D0
        0x00d0: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0040: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
        0x014c: Enhanced Capability 0x18: Latency Tolerance Reporting
        0x0154: Enhanced Capability 0x0b: Vendor-Specific
        0x0000: 08b48086 00100006 02800093 00000010
        0x0010: f1100004 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 82708086
        0x0030: 00000000 000000c8 00000000 000001ff
        0x0040: 00020010 10008ec0 00100c10 0006ec11
        0x0050: 10110142 00000000 00000000 00000000
        0x0060: 00000000 00080812 00000405 00000000
        0x0070: 00010001 00000000 00000000 00000000
        0x0080: 00000000 00000000 00000000 00000000
        0x0090: 00000000 00000000 00000000 00000000
        0x00a0: 00000000 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 c823d001 0d000000
        0x00d0: 00814005 fee00000 00000000 00000073
        0x00e0: 00000000 00000000 00000000 00000000
        0x00f0: 00000000 00000000 00000000 00000000
 5:0:0: Realtek RTS5227 Card Reader
        0x0000: Vendor ID: 10ec Product ID: 5227
        0x0004: Command: 0006 Status: 0010
        0x0008: Class: ff Subclass: 00 Interface: 00 Revision: 01
        0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 10
        0x0010: BAR mem 32bit addr: 0xf1000000/0x00001000
        0x0014: BAR empty (00000000)
        0x0018: BAR empty (00000000)
        0x001c: BAR empty (00000000)
        0x0020: BAR empty (00000000)
        0x0024: BAR empty (00000000)
        0x0028: Cardbus CIS: 00000000
        0x002c: Subsystem Vendor ID: 17aa Product ID: 5020
        0x0030: Expansion ROM Base Address: 00000000
        0x0038: 00000000
        0x003c: Interrupt Pin: 01 Line: ff Min Gnt: 00 Max Lat: 00
        0x0040: Capability 0x01: Power Management
                State: D0
        0x0050: Capability 0x05: Message Signalled Interrupts (MSI)
        0x0070: Capability 0x10: PCI Express
                Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
        0x0100: Enhanced Capability 0x01: Advanced Error Reporting
        0x0140: Enhanced Capability 0x03: Device Serial Number
        0x0150: Enhanced Capability 0x18: Latency Tolerance Reporting
        0x0158: Enhanced Capability 0x1e: L1 PM
        0x0000: 522710ec 00100006 ff000001 00000010
        0x0010: f1000000 00000000 00000000 00000000
        0x0020: 00000000 00000000 00000000 502017aa
        0x0030: 00000000 00000040 00000000 000001ff
        0x0040: f7c35001 00000000 00000000 00000000
        0x0050: 00817005 fee00000 00000000 00000063
        0x0060: 00000000 00000000 00000000 00000000
        0x0070: 00020010 05908fc0 00102010 00477c11
        0x0080: 10110143 00000000 00000000 00000000
        0x0090: 00000000 000c0810 00000400 00000000
        0x00a0: 00010001 00000000 00000000 00000000
        0x00b0: 00000000 00000000 00000000 00000000
        0x00c0: 00000000 00000000 00000000 00000000
        0x00d0: 00000000 00000000 00000000 00000000
        0x00e0: 00000000 00000000 3e3bff0f 00000000
        0x00f0: 00000000 00000000 00000000 00000000

acpidump:
begin-base64 644 APIC.7
QVBJQ5gAAAABg0xFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAADg/gEAAAAACAEAAQAAAAAIAgEB
AAAAAAgDAgEAAAAACAQDAQAAAAAIBQAAAAAAAAgGAAAAAAAACAcAAAAAAAAICAAAAAAAAQwCAAAA
wP4AAAAAAgoAAAIAAAAAAAIKAAkJAAAADQAEBgAFAAEEBgEFAAE=
====
begin-base64 644 ASF!.4
QVNGIaUAAAAgiExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAAAQAP//KiAAAEpmAAAAAAEALAAA
AAMMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAYAAQEAAAAiAADAYgAAgKI
AAEDiAAEAwAXAAD4AAAAE/AAAAAAAAAAAAAAAACEABYAABBcaIjC0tygoqSmyAAAAAAA
====
begin-base64 644 BATB.23
QkFUQkYAAAABSExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAA6GOV0uHPQU2OVNpDIv7eXDYAABDr
zAAAAAAU4P/MAAAAAA==
====
begin-base64 644 BGRT.26
QkdSVDgAAAABKkxFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAQABABgAmsUAAAAAQAIAAF8BAAA=
====
begin-base64 644 DMAR.27
RE1BUrAAAAAB60xFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAJgMAAAAAAAAAAAAAAAAYAAAAAAAA
ANn+AAAAAAEIAAAAAAIAAAAgAAEAAAAAENn+AAAAAAMIAAAC8B8ABAgAAADwDwABACgAAAAAAADA
scwAAAAA/y+zzAAAAAABCAAAAAAdAAEIAAAAABQAAQAgAAAAAAAAAIDNAAAAAP///88AAAAAAQgA
AAAAAgA=
====
begin-base64 644 DSDT.2
RFNEVAsTAQABnExFTk9WT1RQLUo1ICAgkBIAAElOVEwRBxIgEE8GXF9QUl9bgwtDUFUwARAYAAAG
W4MLQ1BVMQIQGAAABluDC0NQVTIDEBgAAAZbgwtDUFUzBBAYAAAGW4MLQ1BVNAUQGAAABluDC0NQ
VTUGEBgAAAZbgwtDUFU2BxAYAAAGW4MLQ1BVNwgQGAAABhBAHlwAFEsdUE5URgGgMJCTaAqAklxP
U1BYoCN7XC5fUFJfQ0ZHRAoBAKATXENQUFiGXC5fU0JfUENDRAqCoUIaoEEYe1wuX1BSX0NGR0QL
AAIAoC2RkHtQREMwCggAkZNoCoCTaAqCkHtQREMwChAAk2gKgYZcLl9QUl9DUFUwaKAtkZB7UERD
MQoIAJGTaAqAk2gKgpB7UERDMQoQAJNoCoGGXC5fUFJfQ1BVMWigLZGQe1BEQzIKCACRk2gKgJNo
CoKQe1BEQzIKEACTaAqBhlwuX1BSX0NQVTJooC2RkHtQREMzCggAkZNoCoCTaAqCkHtQREMzChAA
k2gKgYZcLl9QUl9DUFUzaKAtkZB7UERDNAoIAJGTaAqAk2gKgpB7UERDNAoQAJNoCoGGXC5fUFJf
Q1BVNGigLZGQe1BEQzUKCACRk2gKgJNoCoKQe1BEQzUKEACTaAqBhlwuX1BSX0NQVTVooC2RkHtQ
REM2CggAkZNoCoCTaAqCkHtQREM2ChAAk2gKgYZcLl9QUl9DUFU2aKAtkZB7UERDNwoIAJGTaAqA
k2gKgpB7UERDNwoQAJNoCoGGXC5fUFJfQ1BVN2ihHaAbkZNoCoCRk2gKgZNoCoKGXC5fUFJfQ1BV
MGhbgE1OVlMADBjQ98wLABBbgUlFTU5WUwMAgIAGR0FQQSBHQVBMIERDS0kgRENLUyBWQ0RMAVZD
REMBVkNEVAFWQ0REAQABVkNTUwFWQ0RCAVZDSU4BVlZQTwhCUlROCEJSTFYIQ0RGTAhDREFICFBN
T0QCUERJUgFQRE1BAQAETEZEQwEAB0MyTkEBQzNOQQFDNE5BAUM2TkEBQzdOQQEAAwAIAAIAAU5I
UFMBTlBNRQEAA1VPUFQIQlRJRCBEUFAwAURQUDEBRFBQMgFEUFAzAURQUDQBRFBQNQEAAgAIVENS
VBBUUFNWEFRUQzEQVFRDMhBUVFNQEFNSQUgIU1JIRQhTUkUxCFNSRTIIU1JFMwhTUkU0CFNSRTUI
U1JFNghTUlUxCFNSVTIIU1JVMwhTUlU3CFNSVTQIU1JVNQhTUlU4CFNSUEIIU1JMUAhTUlNBCFNS
U00IQ1dBQwFDV0FTAUNXVUUBQ1dVUwEABENXQVAQQ1dBVBBEQkdDAQAHRlMxTBBGUzFNEEZTMUgQ
RlMyTBBGUzJNEEZTMkgQRlMzTBBGUzNNEEZTM0gQVEFUQwEABlRBVEwBVEFUVwhUTkZUBFROVFQE
VERGQQRURFRBBFRERkQEVERURARUQ0ZBBFRDVEEEVENGRARUQ1REBFRTRlQEVFNUVARUSVQwCFRD
UjAQVFBTMBBUSVQxCFRDUjEQVFBTMRBUSVQyCFRDUjIQVFBTMhBUSUYwCFRJRjEIVElGMggAOEJU
SEkBAAdIRElSAUhERUgBSERTUAFIRFBQAUhEVUIBSERNQwFORkNGAQABVFBNRQhCSURFBElERVQE
AAFEVFNFAQAGRFRTMAhEVFMxCERUMDABRFQwMQFEVDAyAURUMDMBAARMSURCAUM0V1IBQzRBQwFP
RERYAUNNUFIBSUxORgFQTFVYAQABAEgFAAQAAUlETU0BAAIAAwABAAFMSURTAQACAAgABAAEVENH
MAFUQ0cxAQAGU1dHUAhJUE1TCElQTUJIB0lQTVIYSVBNTxhJUE1BCFZJR0QBVkRTQwFWTVNIAQAB
VkRTUAEAAwAYQVNGVAhQTDFMCFBMMU0IQ0hLQyBDSEtFIEFUUkIgAAhQUENSCFRQQ1IFAAMASAdD
VFBSCFBQQ0EIVFBDQQUAA0JGV0JIEk9TUFgBT1NDNAFDUFBYAQAFU1BFTgFTQ1JNAQABRVRBVQFJ
SEJDAUFQTUQBQVBNRgEAAUZUUFMISElTVAhMUFNUCExXU1QIABhNVEFVCABAEEhQRVQgUEtMSRBW
TENYEFZOSVQIVkJEMAhWQkRUQAhWQlBMEFZCUEgQVkJNTAhWQk1ICFZFRElAQFBEQ0kQSVNDRyBJ
U1NQAUlTV0sCSVNGUwMAAlNIQTFACkZGRFQBRkZDTAEABkxXQ1ABTFdFTgFJT0NQAUlPRU4BSU9T
VAEAA1VTQlIBAAcACAAQQlQyVAEAB1RQUFAIVFBQQwhDVFBDCEZOV0sIAAhYSENDCFuBSApNTlZT
AQCAgAVXSVRNCFdTRUwIV0xTMAhXTFMxCFdMUzIIV0xTMwhXTFM0CFdMUzUIV0xTNghXTFM3CFdM
UzgIV0xTOQhXTFNBCFdMU0IIV0xTQwhXTFNECFdFTkMIV0tCRAhXUFRZCFdQQVNIQFdQTldIQFdT
UE0IV1NQUwhXU01OCFdTTVgIV1NFTghXU0tCCFdBU0IIV0FTSRBXQVNECFdBU1MgW4EQTU5WUwEA
gAAFREJHU0BAW4BPRU1OAAwYr/bMCxQAW4EWT0VNThBDUFVGCERUM0QIT1JWMUAJW4BHTlZTAAwY
nPbMC28DW4FLhEdOVlMQT1NZUxBTTUlGCFBSTTAIUFJNMQgAQAVQV1JTCABABwA4UkVWTghJRkZT
CAAIQVBJQwhUQ05UCFBDUDAIUENQMQhQUENNCFBQTUYgQzY3TAgAQAlUTDJGIE1PUkQIVENHUAhQ
UFJQIFBQUlEITFBQUghHVEYwOEdURjI4SURFTQhHVEYxOEJJRF8QUExJRAhFQ1RHCFNEUE8IU0tJ
RAgAIE9TQ0MITkVYUAhTQlYxCFNCVjIIADBEU0VOCEVDT04IAAhDVFlQCEwwMUMIVkZOMAhWRk4x
CFZGTjIIVkZOMwhWRk40CFZGTjUIVkZONghWRk43CFZGTjgIVkZOOQhJU0NUCFNMRFIgV0FLUghB
VE1DCFBUTUMIQVRSQQhQVFJBCFBOSE0gVEJBQiBUQkFIIFJUSVAIVFNPRAhBVFBDCFBUUEMIUEZM
VghCUkVWCFBEVFMIUEtHQQhQQU1UCEFDMEYIQUMxRghEVFMzCERUUzQIACBMVFIxCExUUjIITFRS
MwhMVFI0CExUUjUITFRSNghMVFI3CExUUjgIT0JGMQhPQkYyCE9CRjMIT0JGNAhPQkY1CE9CRjYI
T0JGNwhPQkY4CFhIQ0kIWFRVQiBYVFVTIFhNUEIgRERSRghSVEQzCFBFUDAIUEVQMwhEUFRGCFNB
REUIU0FDUghTQUhUCFBDSEQIUENIQwhQQ0hICAAYRUNFVQhUR0ZHEE1FTUQITUVNQwhNRU1ICEZO
RDEIRk5EMghBTUJECEFNQVQIQU1QVAhBTUNUCEFNSFQIU0tERQhTS0FUCFNLUFQIU0tDVAhTS0hU
CEVGREUIRUZBVAhFRlBUCEVGQ1QIRUZIVAhWUkRFCFZSQVQIVlJQVAhWUkNUCFZSSFQIRFBBUAhE
UFBQCERQQ1AIRENNUAhUUlRWCExQT0UITFBPUAhMUE9TCExQT1cITFBFUghQUFNaIERJU0UIQkdN
QUAEQkdNUwhCR0lBEElDTkYIRFNQMCBEU1AxIE5GQ0UIQ09EUwhTTkhFCFMwSUQIQ1REQghES1NN
CFNJTzEIU0lPMghTUEJBEFVQWEQQAEhsVUxDSwgAOFBXUkUIUFdSUAhYSFBSCFNEUzAIU0RTMRBT
RFMyCFNEUzMIU0RTNAhTRFM1CAAIUklDMAhQRVBZCERWUzAIRFZTMQhEVlMyCERWUzMIR0JTWAhJ
VUJFCElVQ0UISVVERQhFQ05PCEFVREQQRFNQRBBJQzBEEElDMUQQSUMxUxBWUlJEEFBTQ1AIUldB
RwhJMjBEEEkyMUQQABBSQ0cwCEVDREIIUDJNRQhTU0gwEFNTTDAQU1NEMBBGTUgwEEZNTDAQRk1E
MBBGUEgwEEZQTDAQRlBEMBBTU0gxEFNTTDEQU1NEMRBGTUgxEEZNTDEQRk1EMRBGUEgxEEZQTDEQ
RlBEMRBNMEMwEE0xQzAQTTJDMBBNMEMxEE0xQzEQTTJDMRBNMEMyEE0xQzIQTTBDMxBNMUMzEE0w
QzQQTTFDNBBNMEM1EE0xQzUQVEJTRghHSVJRIERNVFAIRE1URAhETVNICExBTlAIAAhTSFNCCFBM
Q1MIUExWTBBHTjFFCEcxQVQIRzFQVAhHMUNUCEcxSFQIR04yRQhHMkFUCEcyUFQIRzJDVAhHMkhU
CFdXU0QIQ1ZTRAhTU0RECElOTEQISUZBVAhJRlBUCElGQ1QISUZIVAhBTkNTCFNIVFAIQkNWNAhX
VFZYCFdJVFgIQVBGVQhTT0hQCE5PSFAIVEJTRQhXS0ZOCFBFUEMQVlJTRBBQQjFFCEdOSUQITVBM
VBBHUjEzCENIR0UIAEAFU0FDMwhQQ0gzCE1FTTMIQU1DMwhTS0MzCEVGQzMIVlJDMwhHMUMzCEcy
QzMISUZDMwgAGFNQU1QIR04zRQhHM0FUCEczUFQIRzNDVAhHM0hUCEdONEUIRzRBVAhHNFBUCEc0
Q1QIRzRIVAhHTjVFCEc1QVQIRzVQVAhHNUNUCEc1SFQIR042RQhHNkFUCEc2UFQIRzZDVAhHNkhU
CEVDTFAIAAhHM0MzCEc0QzMIRzVDMwhHNkMzCFMxREUIUzFBVAhTMVBUCFMxQ1QIUzFIVAhTMkRF
CFMyQVQIUzJQVAhTMkNUCFMySFQIUzNERQhTM0FUCFMzUFQIUzNDVAhTM0hUCFM0REUIUzRBVAhT
NFBUCFM0Q1QIUzRIVAhTNURFCFM1QVQIUzVQVAhTNUNUCFM1SFQIUzZERQhTNkFUCFM2UFQIUzZD
VAhTNkhUCFM3REUIUzdBVAhTN1BUCFM3Q1QIUzdIVAgAMFMxUzMIUzJTMwhTM1MzCFM0UzMIUzVT
MwhTNlMzCFM3UzMIREFDVAhNUEwxEE1QTDIQU0FUUxBQQ1RTEFNLVFMQUFNNRQhQRFQxCFBMTTEQ
UFRXMRBQRFQyCFBMTTIQUFRXMhBERFQxCEREUDEIRExJMRBEUEwxEERUVzEQRE1JMRBETUExEERN
VDEQRERUMghERFAyCERMSTIQRFBMMhBEVFcyEERNSTIQRE1BMhBETVQyEAAQVEJUUwhFQ0dQCElW
REYIVFBNUAhXSUZECFdGQVQIV0ZQVAhXRkNUCFdGQzMIV0ZIVAhXQU5ECFdXQVQIV1dQVAhXV0NU
CFdXQzMIV1dIVAhXR0lECFdHQVQIV0dQVAhXR0NUCFdHQzMIV0dIVAhTVEdFCFdETTEIQ0lEMRBX
RE0yCENJRDIQV0lGRQhET00xCExJTTEQVElNMRBET00yCExJTTIQVElNMhBET00zCExJTTMQVElN
MxBUUkQwCFRSTDAIVFJEMQhUUkwxCAhQTlZCDJi99swIUE5WTAvkAFuAUE5WQQBQTlZCUE5WTFuB
ThxQTlZBEFJDUlYgUENIUxBQQ0hHEFJQQTAgUlBBMSBSUEEyIFJQQTMgUlBBNCBSUEE1IFJQQTYg
UlBBNyBTUk1CIEFEQjAgQURCMSBBREkwIEdQTU4gR1BNWCBQTUwxEFBNTDIQUE1MMxBQTUw0EFBN
TDUQUE1MNhBQTUw3EFBNTDgQUE5MMRBQTkwyEFBOTDMQUE5MNBBQTkw1EFBOTDYQUE5MNxBQTkw4
EFUwQzAgVTFDMCBBREZNIEFEQlQIWEhQQwhYUlBDCFhTUEMIWFNQQQhTTUQwCFNNRDEIU01EMghT
TUQzCFNNRDQIU01ENQhTTUQ2CFNNRDcIU0lSMAhTSVIxCFNJUjIIU0lSMwhTSVI0CFNJUjUIU0lS
NghTSVI3CFNCMDAgU0IwMSBTQjAyIFNCMDMgU0IwNCBTQjA1IFNCMDYgU0IwNyBTQjEwIFNCMTEg
U0IxMiBTQjEzIFNCMTQgU0IxNSBTQjE2IFNCMTcgU01HUAhHQkVQCFBNU0kIUE1DUAhQQ0xQCFBM
MVAQUEwxQSBQTDFCCFBFUEwQUFJQTBBQQ0lUCFBMVFAQUExURCBQRUQyEFBSREMQUEVEMRBQQ0hQ
EFhXTUIgW4BQUlQwAQqACgRbgQtQUlQwE0Q4MFAgEE0KXAAIV0xGRwoAW4BHUFJfAQsACAsABFuB
SwZHUFJfAwBAoAAfUkZPRgEAIAADR0lWOQEAGkdMVjkBAEEaAB9HTzE2AQAgAANJVk9EAQAaR0kx
NwEAQUoAHkdJMzYBAEE+AB9GTkxEAQAgAB9GMUxEAQAgAB9GNExEAQBAZgAfQlRPTgFbgFBNSU8B
CwAYCp9bgRpQTUlPAQBAQAARR1MxNwEATgYAEUdFMTcBEI3qDVxfU0JfFEk2X0lOSQCgQxZbElxf
T1NJYKA0XF9PU0kNV2luZG93cyAyMDAxAHAKAVxXTlRGcAoBXFdYUEZwCgBcV1NQVnAL0QdPU1lT
oChcX09TSQ1XaW5kb3dzIDIwMDEgU1AxAHAKAVxXU1BWcAvRB09TWVOgKFxfT1NJDVdpbmRvd3Mg
MjAwMSBTUDIAcAoCXFdTUFZwC9IHT1NZU6AkXF9PU0kNV2luZG93cyAyMDA2AHAKAVxXVklTcAvW
B09TWVOgJFxfT1NJDVdpbmRvd3MgMjAwOQBwCgFcV0lON3AL2QdPU1lToCRcX09TSQ1XaW5kb3dz
IDIwMTIAcAoBXFdJTjhwC9wHT1NZU6AkXF9PU0kNV2luZG93cyAyMDEzAHAKAVxXSU44cAvdB09T
WVOgHVxfT1NJDUxpbnV4AHAKAVxMTlVYcAvoA09TWVOgH1xfT1NJDUZyZWVCU0QAcAoBXExOVVhw
C+gDT1NZU6EtoCuTXFNDTVBcX09TXw1NaWNyb3NvZnQgV2luZG93cyBOVAAAcAoBXFdOVEagEpKV
XF9SRVYKAnAKAVxIOERScAoBXE9TSUZwXC8GX1NCX1BDSTBMUENfRUNfX0FDX19fUFNSXFBXUlNc
LwVfU0JfUENJMExQQ19NT1VfTUhJRKAmXExOVVhcLwVfU0JfUENJMExQQ19FQ19fU0FVTQoCXFVD
TVMKHHBcU1JBSFwvA19TQl9QQ0kwUklEX6AeVklHRHBcU1JIRVwvBF9TQl9QQ0kwVklEX1JJRF+h
GnBcU1JIRVwvBF9TQl9QQ0kwUEVHX1JJRF9wXFNSRTFcLwRfU0JfUENJMEVYUDFSSURfcFxTUkUy
XC8EX1NCX1BDSTBFWFAyUklEX3BcU1JFM1wvBF9TQl9QQ0kwRVhQM1JJRF9wXFNSRTRcLwRfU0Jf
UENJMEVYUDZSSURfcFxTUlU3XC8EX1NCX1BDSTBFSEMxUklEX3BcU1JMUFwvBF9TQl9QQ0kwTFBD
X1JJRF9wXFNSU0FcLwRfU0JfUENJMFNBVDFSSURfcFxTUlNNXC8EX1NCX1BDSTBTTUJVUklEX6A3
k1xGTldLCgGgIFxIOERScAoAXC8FX1NCX1BDSTBMUENfRUNfX0hXRk6hDFxNQkVDCjIK7woAXFVD
TVMKHQhPU0NJCgAIT1NDTwoAFE4UX09TQwyKawoAU1RTMIprCgRDQVAwoEcOk2gREwoQbrARCCdK
+USNYDy7wi57SKBDC5NpAaAve0NBUDAKBACgJZJWTVNIoB6TUlREMwoAe0NBUDAKO0NBUDB9U1RT
MAoQU1RTMKBNB3tDQVAwCiAAoEoFWxJcLwNfU0JfUENDRFBFTkIAoCmTXC8DX1NCX1BDQ0RQRU5C
CgB7Q0FQMAofQ0FQMH1TVFMwChBTVFMwoBuTXC8DX1NCX1BDQ0RQRU5CCgFwCgFcQ1BQWKEXe0NB
UDAKH0NBUDB9U1RTMAoQU1RTMKEae1NUUzAMAP///1NUUzB9U1RTMAoKU1RTMKEae1NUUzAMAP//
/1NUUzB9U1RTMAoGU1RTMKAxXF9PU0kNV2luZG93cyAyMDEzAH1DQVAwCgRDQVAwcFNUUzBPU0NJ
cENBUDBPU0NPpGtbgksRTE5LQQhfSElEDEHQDA8IX1VJRAoBFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJBpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkEKgFwvBF9TQl9QQ0kwTFBDX1BJUkEIQlVGQREJCgYjAAAYeQCLQlVGQQoBSVJBMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSQQqPYKAOVlBJUmB5CgFgSVJBMaEIcAoASVJBMaRCVUZBFEYE
X1NSUwGLaAoBSVJBMoJJUkEyYHtcLwRfU0JfUENJMExQQ19QSVJBCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkFbgksRTE5LQghfSElEDEHQDA8IX1VJRAoCFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJCpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkIKgFwvBF9TQl9QQ0kwTFBDX1BJUkIIQlVGQhEJCgYjAAAYeQCLQlVGQgoBSVJCMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSQgqPYKAOVlBJUmB5CgFgSVJCMaEIcAoASVJCMaRCVUZCFEYE
X1NSUwGLaAoBSVJCMoJJUkIyYHtcLwRfU0JfUENJMExQQ19QSVJCCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkJbgksRTE5LQwhfSElEDEHQDA8IX1VJRAoDFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJDpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkMKgFwvBF9TQl9QQ0kwTFBDX1BJUkMIQlVGQxEJCgYjAAAYeQCLQlVGQwoBSVJDMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSQwqPYKAOVlBJUmB5CgFgSVJDMaEIcAoASVJDMaRCVUZDFEYE
X1NSUwGLaAoBSVJDMoJJUkMyYHtcLwRfU0JfUENJMExQQ19QSVJDCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkNbgksRTE5LRAhfSElEDEHQDA8IX1VJRAoEFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJEpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkQKgFwvBF9TQl9QQ0kwTFBDX1BJUkQIQlVGRBEJCgYjAAAYeQCLQlVGRAoBSVJEMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSRAqPYKAOVlBJUmB5CgFgSVJEMaEIcAoASVJEMaRCVUZEFEYE
X1NSUwGLaAoBSVJEMoJJUkQyYHtcLwRfU0JfUENJMExQQ19QSVJECnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkRbgksRTE5LRQhfSElEDEHQDA8IX1VJRAoFFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJFpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkUKgFwvBF9TQl9QQ0kwTFBDX1BJUkUIQlVGRREJCgYjAAAYeQCLQlVGRQoBSVJFMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSRQqPYKAOVlBJUmB5CgFgSVJFMaEIcAoASVJFMaRCVUZFFEYE
X1NSUwGLaAoBSVJFMoJJUkUyYHtcLwRfU0JfUENJMExQQ19QSVJFCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkVbgksRTE5LRghfSElEDEHQDA8IX1VJRAoGFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJGpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkYKgFwvBF9TQl9QQ0kwTFBDX1BJUkYIQlVGRhEJCgYjAAAYeQCLQlVGRgoBSVJGMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSRgqPYKAOVlBJUmB5CgFgSVJGMaEIcAoASVJGMaRCVUZGFEYE
X1NSUwGLaAoBSVJGMoJJUkYyYHtcLwRfU0JfUENJMExQQ19QSVJGCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkZbgksRTE5LRwhfSElEDEHQDA8IX1VJRAoHFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJHpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkcKgFwvBF9TQl9QQ0kwTFBDX1BJUkcIQlVGRxEJCgYjAAAYeQCLQlVGRwoBSVJHMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSRwqPYKAOVlBJUmB5CgFgSVJHMaEIcAoASVJHMaRCVUZHFEYE
X1NSUwGLaAoBSVJHMoJJUkcyYHtcLwRfU0JfUENJMExQQ19QSVJHCnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkdbgksRTE5LSAhfSElEDEHQDA8IX1VJRAoIFChfU1RBAKAcklZQSVJcLwRfU0Jf
UENJMExQQ19QSVJIpAoJoQSkCgsIX1BSUxEJCgYj+A4YeQAUL19ESVMAfVwvBF9TQl9QQ0kwTFBD
X1BJUkgKgFwvBF9TQl9QQ0kwTFBDX1BJUkgIQlVGSBEJCgYjAAAYeQCLQlVGSAoBSVJIMRQ6X0NS
UwB7XC8EX1NCX1BDSTBMUENfUElSSAqPYKAOVlBJUmB5CgFgSVJIMaEIcAoASVJIMaRCVUZIFEYE
X1NSUwGLaAoBSVJIMoJJUkgyYHtcLwRfU0JfUENJMExQQ19QSVJICnBhfWF2YGFwYVwvBF9TQl9Q
Q0kwTFBDX1BJUkgUOVZQSVIBcAoBYKAKe2gKgABwCgBgoSF7aAoPYaAJlWEKA3AKAGChEKAOkZNh
CgiTYQoNcAoAYKRgW4JLSk1FTV8IX0hJRAxB0AwBCE1FTVMRQg0KzoYJAAEAAAAAAAAKAIYJAAAA
AAwAAAAAAIYJAAAAQAwAAAAAAIYJAAAAgAwAAAAAAIYJAAAAwAwAAAAAAIYJAAAAAA0AAAAAAIYJ
AAAAQA0AAAAAAIYJAAAAgA0AAAAAAIYJAAAAwA0AAAAAAIYJAAAAAA4AAAAAAIYJAAAAQA4AAAAA
AIYJAAAAgA4AAAAAAIYJAAAAwA4AAAAAAIYJAAAAAA8AAAABAIYJAAEAABAAAADuAYYJAAAAAMD+
AAAUAIYJAAAAwNT+AEArAXkAik1FTVMKFE1DMEyKTUVNUwogTUM0TIpNRU1TCixNQzhMik1FTVMK
OE1DQ0yKTUVNUwpETUQwTIpNRU1TClBNRDRMik1FTVMKXE1EOEyKTUVNUwpoTURDTIpNRU1TCnRN
RTBMik1FTVMKgE1FNEyKTUVNUwqMTUU4TIpNRU1TCphNRUNMjU1FTVMKeE1DMFeNTUVNUwrYTUM0
V41NRU1TCzgBTUM4V41NRU1TC5gBTUNDV41NRU1TC/gBTUQwV41NRU1TC1gCTUQ0V41NRU1TC7gC
TUQ4V41NRU1TCxgDTURDV41NRU1TC3gDTUUwV41NRU1TC9gDTUU0V41NRU1TCzgETUU4V41NRU1T
C5gETUVDV4pNRU1TCqxNRUIxik1FTVMKsE1FTDGKTUVNUwq8TUVMMopNRU1TCshNRUwzFEQoX0NS
UwB7XC8DX1NCX1BDSTBQQU0xCgNgoBhgcAsAQE1DMEygDXtgCgIAcAoBTUMwV3tcLwNfU0JfUENJ
MFBBTTEKMGCgGGBwCwBATUM0TKANe2AKIABwCgFNQzRXe1wvA19TQl9QQ0kwUEFNMgoDYKAYYHAL
AEBNQzhMoA17YAoCAHAKAU1DOFd7XC8DX1NCX1BDSTBQQU0yCjBgoBhgcAsAQE1DQ0ygDXtgCiAA
cAoBTUNDV3tcLwNfU0JfUENJMFBBTTMKA2CgGGBwCwBATUQwTKANe2AKAgBwCgFNRDBXe1wvA19T
Ql9QQ0kwUEFNMwowYKAYYHALAEBNRDRMoA17YAogAHAKAU1ENFd7XC8DX1NCX1BDSTBQQU00CgNg
oBhgcAsAQE1EOEygDXtgCgIAcAoBTUQ4V3tcLwNfU0JfUENJMFBBTTQKMGCgGGBwCwBATURDTKAN
e2AKIABwCgFNRENXe1wvA19TQl9QQ0kwUEFNNQoDYKAYYHALAEBNRTBMoA17YAoCAHAKAU1FMFd7
XC8DX1NCX1BDSTBQQU01CjBgoBhgcAsAQE1FNEygDXtgCiAAcAoBTUU0V3tcLwNfU0JfUENJMFBB
TTYKA2CgGGBwCwBATUU4TKANe2AKAgBwCgFNRThXe1wvA19TQl9QQ0kwUEFNNgowYKAYYHALAEBN
RUNMoA17YAogAHAKAU1FQ1d0XE1FTVhNRUIxTUVMMaApklsSXC8EX1NCX1BDSTBMUENfVFBNXwBw
DAAAQAFNRUwycAoATUVMM6EvoC2Sk1wvBV9TQl9QQ0kwTFBDX1RQTV9fU1RBCg9wDAAAQAFNRUwy
cAoATUVMM6RNRU1TW4JIEExJRF8IX0hJRAxB0AwNFEYFX0xJRACgSQSQk1xJTE5GCgCTXFBMVVgK
AKAeXEg4RFKkXC8FX1NCX1BDSTBMUENfRUNfX0hQTEShFqAPe1xSQkVDCkYKBACkCgGhBKQKAKEE
pAoBFB9fUFJXAKAOXExXQ1CkEgYCCg0KBKEJpBIGAgoNCgMUQAhfUFNXAaA/XEg4RFKgHGhwCgFc
LwVfU0JfUENJMExQQ19FQ19fSFdMT6EbcAoAXC8FX1NCX1BDSTBMUENfRUNfX0hXTE+hHKANaFxN
QkVDCjIK/woEoQxcTUJFQwoyCvsKAKAbXExXQ1CgCmhwCgFcTFdFTqEJcAoAXExXRU4QTg5cAAhV
UEMwEgoECv8KAAoACgAIUExEMBETChCBAAAAAAAAAJkRgAADAAAACFVQQzESCgQK/woACgAKAAhQ
TEQxERMKEIEAAAAAAAAAkRIAAQMAAAAIVVBDMhIKBAr/CgAKAAoACFBMRDIREwoQgQAAAAAAAACQ
EoABAwAAAAhVUEMzEgoECv8K/woACgAIUExEMxETChCBAAAAAAAAAJMcAAIDAAAACFVQQ0kSCgQK
AAr/CgAKAAhQTERJERMKEIEAAAAAAAAAMBwAAAAAAAAIUExEQxEXChSCAAAAAAAAACQBAAAAAAAA
3QCVAFuCg64HUENJMAhfQkJOCgAIX0FEUgoACFJJRF8KAAhfUzNECgIITFJSVBJNHxcSFQQM//8B
AAoAXC5fU0JfTE5LQQoAEhUEDP//AgAKAFwuX1NCX0xOS0EKABIVBAz//wMACgBcLl9TQl9MTktB
CgASFQQM//8UAAoAXC5fU0JfTE5LQQoAEhUEDP//FgAKAFwuX1NCX0xOS0EKABIVBAz//xYACgFc
Ll9TQl9MTktCCgASFQQM//8WAAoCXC5fU0JfTE5LQwoAEhUEDP//FgAKA1wuX1NCX0xOS0QKABIV
BAz//xkACgBcLl9TQl9MTktFCgASFQQM//8aAAoAXC5fU0JfTE5LQQoAEhUEDP//GwAKAFwuX1NC
X0xOS0cKABIVBAz//xwACgBcLl9TQl9MTktBCgASFQQM//8cAAoBXC5fU0JfTE5LQgoAEhUEDP//
HAAKAlwuX1NCX0xOS0MKABIVBAz//xwACgNcLl9TQl9MTktECgASFQQM//8dAAoAXC5fU0JfTE5L
SAoAEhUEDP//HQAKAVwuX1NCX0xOS0QKABIVBAz//x0ACgJcLl9TQl9MTktBCgASFQQM//8dAAoD
XC5fU0JfTE5LQwoAEhUEDP//HwAKAFwuX1NCX0xOS0EKABIVBAz//x8ACgFcLl9TQl9MTktECgAS
FQQM//8fAAoCXC5fU0JfTE5LQwoAEhUEDP//HwAKA1wuX1NCX0xOS0EKAAhBUlJUEkUUFxINBAz/
/wEACgAKAAoQEg0EDP//AgAKAAoAChASDQQM//8DAAoACgAKEBINBAz//xQACgAKAAoQEg0EDP//
FgAKAAoAChASDQQM//8WAAoBCgAKERINBAz//xYACgIKAAoSEg0EDP//FgAKAwoAChMSDQQM//8Z
AAoACgAKFBINBAz//xoACgAKAAoQEg0EDP//GwAKAAoAChYSDQQM//8cAAoACgAKEBINBAz//xwA
CgEKAAoREg0EDP//HAAKAgoAChISDQQM//8cAAoDCgAKExINBAz//x0ACgAKAAoXEg0EDP//HQAK
AQoAChMSDQQM//8dAAoCCgAKEBINBAz//x0ACgMKAAoSEg0EDP//HwAKAAoAChASDQQM//8fAAoB
CgAKExINBAz//x8ACgIKAAoSEg0EDP//HwAKAwoAChAUGV9QUlQAoAtcR1BJQ6RBUlJUoQakTFJS
VAhfSElEDEHQCggIX0NJRAxB0AoDW4BNSENTAgpACsBbgTZNSENTAwBAIFBBTTAIUEFNMQhQQU0y
CFBBTTMIUEFNNAhQQU01CFBBTTYIAEgaABRUTFVEDAhfQ1JTEUUcC8ABiA0AAgwAAAAAAP8AAAAA
AUcB+Az4DAEIiA0AAQwDAAAAAPcMAAD4DIgNAAEMAwAAAA3//wAAAPOHFwAADAMAAAAAAAAKAP//
CwAAAAAAAAACAIcXAAAMAwAAAAAAAAwA/z8MAAAAAAAAQAAAhxcAAAwDAAAAAABADAD/fwwAAAAA
AABAAACHFwAADAMAAAAAAIAMAP+/DAAAAAAAAEAAAIcXAAAMAwAAAAAAwAwA//8MAAAAAAAAQAAA
hxcAAAwDAAAAAAAADQD/Pw0AAAAAAABAAACHFwAADAMAAAAAAEANAP9/DQAAAAAAAEAAAIcXAAAM
AwAAAAAAgA0A/78NAAAAAAAAQAAAhxcAAAwDAAAAAADADQD//w0AAAAAAABAAACHFwAADAMAAAAA
AAAOAP8/DgAAAAAAAEAAAIcXAAAMAwAAAAAAQA4A/38OAAAAAAAAQAAAhxcAAAwDAAAAAACADgD/
vw4AAAAAAABAAACHFwAADAMAAAAAAMAOAP//DgAAAAAAAEAAAIcXAAAMAwAAAAAAABAA//+//gAA
AAAAALD+hxcAAAwDAAAAAAAA1P7/v9T+AAAAAADAAAB5AIpfQ1JTCmhDMExOil9DUlMKgkM0TE6K
X0NSUwqcQzhMTopfQ1JTCrZDQ0xOil9DUlMK0EQwTE6KX0NSUwrqRDRMTopfQ1JTCwQBRDhMTopf
Q1JTCx4BRENMTopfQ1JTCzgBRTBMTopfQ1JTC1IBRTRMTopfQ1JTC2wBRThMTopfQ1JTC4YBRUNM
TopfQ1JTC5QBWFhNTopfQ1JTC5gBWFhNWIpfQ1JTC6ABWFhMTopfQ1JTC64BRjRNTopfQ1JTC7IB
RjRNWIpfQ1JTC7oBRjRMTotfQ1JTCgpCME1Yi19DUlMKDkIwTE4UThJfSU5JCHAKP0IwTVhwcgo/
CgEAQjBMTqARklxPU0lGXC5fU0JfX0lOSXlUTFVEChRgcGBcTUVNWHBgWFhNTnJ0WFhNWFhYTU4A
CgFYWExOoBCTXFRQTVAKAHAKAEY0TE6gEHtQQU0xCgMAcAoAQzBMTqAQe1BBTTEKMABwCgBDNExO
oBB7UEFNMgoDAHAKAEM4TE6gEHtQQU0yCjAAcAoAQ0NMTqAQe1BBTTMKAwBwCgBEMExOoBB7UEFN
MwowAHAKAEQ0TE6gEHtQQU00CgMAcAoARDhMTqAQe1BBTTQKMABwCgBEQ0xOoBB7UEFNNQoDAHAK
AEUwTE6gEHtQQU01CjAAcAoARTRMTqAQe1BBTTYKAwBwCgBFOExOoBB7UEFNNgowAHAKAEVDTE4I
U1VQUAoACENUUkwKABRCIl9PU0MEimsKAENEVzGKawoEQ0RXMoprCghDRFczoCxcLwRfU0JfUENJ
MFhIQ0lDVUlEaKRcLwRfU0JfUENJMFhIQ0lQT1NDaWproEYck2gREwoQW03bM/cfHECWV3RBwD3X
ZnBDRFcyU1VQUHBDRFczQ1RSTHtDVFJMCg1DVFJMoE4VkntDRFcxCgEAoBl7Q1RSTAoBAKAHklxW
SUdEcAoBXE5IUFOgSBN7Q1RSTAoEAKAHklxWSUdEoEEEXC8EX1NCX1BDSTBFWFAxUE1FWHAKAFwv
BF9TQl9QQ0kwRVhQMVBNRVhwCgFcLwRfU0JfUENJMEVYUDFQTVNYoEEEXC8EX1NCX1BDSTBFWFAy
UE1FWHAKAFwvBF9TQl9QQ0kwRVhQMlBNRVhwCgFcLwRfU0JfUENJMEVYUDJQTVNYoEEEXC8EX1NC
X1BDSTBFWFAzUE1FWHAKAFwvBF9TQl9QQ0kwRVhQM1BNRVhwCgFcLwRfU0JfUENJMEVYUDNQTVNY
oEEEXC8EX1NCX1BDSTBFWFA2UE1FWHAKAFwvBF9TQl9QQ0kwRVhQNlBNRVhwCgFcLwRfU0JfUENJ
MEVYUDZQTVNYcAoAXC8EX1NCX1BDSTBMUENfRVhQRXAKAVxOUE1FoBGSk2kKAX1DRFcxCgpDRFcx
oBaSk0NEVzNDVFJMfUNEVzEKEENEVzFwQ1RSTENEVzOhDH1DRFcxCgZDRFcxpGtbAU1ER1MHCFZE
RUUKAQhWRERBEQMKAo1WRERBCgBWVVBDjVZEREEKAVZRREyNVkREQQoCVlFEQ41WRERBCgNWUUQw
jVZEREEKBFZRRDGNVkREQQoFVlFEMo1WRERBCgZWU0RMjVZEREEKB1ZTREONVkREQQoIVlNEMI1W
RERBCglWU0QxjVZEREEKClZTRDKNVkREQQoLVlNEM41WRERBCgxWU0Q0jVZEREEKDVZTRDWNVkRE
QQoOTVNXVFuCTL5WSURfCF9BRFIMAAACAAhSSURfCgBbgFZQQ0cCCgALAAFbgRZWUENHAwBAFlZT
SUQgAEBSVlBXUggITUlETAsABAhNSURDCwABCE1JRDALAAMITUlEMQsBAwhNSUQyCwIDCE1JRDML
AwMITUlENAsEAwhNSUQ1CwUDCF9TM0QKAxQhVlJTSQCgEZKVT1NZUwvdB3AKAVZNU0ihCHAKAFZN
U0gUHl9JTkkAVlJTSXBcLwNfU0JfTElEX19MSURDTElEFAdfUFMwAKMUB19QUzEAoxQHX1BTMgCj
FAdfUFMzAKMUDFZTV1QAR0hEUwoAFDZWTE9DAaAvk2hcLwNfU0JfTElEX19MSURcVlNMRGigFpNW
UFdSCgBwaENMSURHTk9UCgIKABRMB19ET1MBe2gKA2igOpNoCgJwChRgojBgdmBbI01ER1P//6AZ
kwoATVNXVHAKAU1TV1RwCgBgcGhWREVFWydNREdTWyIKyKE0WyNNREdT//+gD5NWREVFCgJwCgBN
U1dUoAyUaAoCcAoBVkRFRaEHcGhWREVFWydNREdTFExXX0RPRABwCgBORElEoA6Sk0RJREwKAHVO
RElEoA6Sk0RETDIKAHVORElEoA6Sk0RETDMKAHVORElEoA6Sk0RETDQKAHVORElEoA6Sk0RETDUK
AHVORElEoA6Sk0RETDYKAHVORElEoA6Sk0RETDcKAHVORElEoA6Sk0RETDgKAHVORElEoDOTTkRJ
RAoBCFRNUDESBwEM/////3B9DAAAAYB7Cw8PRElETAAAiFRNUDEKAACkVE1QMaBCBZNORElECgII
VE1QMhIMAgz/////DP////9wfQwAAAGAewsPD0RJREwAAIhUTVAyCgAAcH0MAAABgHsLDw9EREwy
AACIVE1QMgoBAKRUTVAyoEAHk05ESUQKAwhUTVAzEhEDDP////8M/////wz/////cH0MAAABgHsL
Dw9ESURMAACIVE1QMwoAAHB9DAAAAYB7Cw8PRERMMgAAiFRNUDMKAQBwfQwAAAGAewsPD0RETDMA
AIhUTVAzCgIApFRNUDOgTgiTTkRJRAoECFRNUDQSFgQM/////wz/////DP////8M/////3B9DAAA
AYB7Cw8PRElETAAAiFRNUDQKAABwfQwAAAGAewsPD0RETDIAAIhUTVA0CgEAcH0MAAABgHsLDw9E
REwzAACIVE1QNAoCAHB9DAAAAYB7Cw8PRERMNAAAiFRNUDQKAwCkVE1QNKBMCpNORElECgUIVE1Q
NRIbBQz/////DP////8M/////wz/////DP////9wfQwAAAGAewsPD0RJREwAAIhUTVA1CgAAcH0M
AAABgHsLDw9EREwyAACIVE1QNQoBAHB9DAAAAYB7Cw8PRERMMwAAiFRNUDUKAgBwfQwAAAGAewsP
D0RETDQAAIhUTVA1CgMAcH0MAAABgHsLDw9EREw1AACIVE1QNQoEAKRUTVA1oEoMk05ESUQKBghU
TVA2EiAGDP////8M/////wz/////DP////8M/////wz/////cH0MAAABgHsLDw9ESURMAACIVE1Q
NgoAAHB9DAAAAYB7Cw8PRERMMgAAiFRNUDYKAQBwfQwAAAGAewsPD0RETDMAAIhUTVA2CgIAcH0M
AAABgHsLDw9EREw0AACIVE1QNgoDAHB9DAAAAYB7Cw8PRERMNQAAiFRNUDYKBABwfQwAAAGAewsP
D0RETDYAAIhUTVA2CgUApFRNUDagSA6TTkRJRAoHCFRNUDcSJQcM/////wz/////DP////8M////
/wz/////DP////8M/////3B9DAAAAYB7Cw8PRElETAAAiFRNUDcKAABwfQwAAAGAewsPD0RETDIA
AIhUTVA3CgEAcH0MAAABgHsLDw9EREwzAACIVE1QNwoCAHB9DAAAAYB7Cw8PRERMNAAAiFRNUDcK
AwBwfQwAAAGAewsPD0RETDUAAIhUTVA3CgQAcH0MAAABgHsLDw9EREw2AACIVE1QNwoFAHB9DAAA
AYB7Cw8PRERMNwAAiFRNUDcKBgCkVE1QN6BGEJRORElECgcIVE1QOBIqCAz/////DP////8M////
/wz/////DP////8M/////wz/////DP////9wfQwAAAGAewsPD0RJREwAAIhUTVA4CgAAcH0MAAAB
gHsLDw9EREwyAACIVE1QOAoBAHB9DAAAAYB7Cw8PRERMMwAAiFRNUDgKAgBwfQwAAAGAewsPD0RE
TDQAAIhUTVA4CgMAcH0MAAABgHsLDw9EREw1AACIVE1QOAoEAHB9DAAAAYB7Cw8PRERMNgAAiFRN
UDgKBQBwfQwAAAGAewsPD0RETDcAAIhUTVA4CgYAcH0MAAABgHsLDw9EREw4AACIVE1QOAoHAKRU
TVA4pBIFAQsABBQUVkRTVwGgDZNWUFdSCgBHRENLaBRLHlZDQUQBcAoAYKAQk3tESURMCw8PAGhw
Cg1goUgIoBCTe0RETDILDw8AaHAKDWChRAegEJN7RERMMwsPDwBocAoNYKFABqAQk3tEREw0Cw8P
AGhwCg1goUwEoBCTe0RETDULDw8AaHAKDWChOKAQk3tEREw2Cw8PAGhwCg1goSWgEJN7RERMNwsP
DwBocAoNYKESoBCTe0RETDgLDw8AaHAKDWCgEZN7Q1BETAsPDwBofQoQYGChTwigEZN7Q1BMMgsP
DwBofQoQYGChSgegEZN7Q1BMMwsPDwBofQoQYGChRQagEZN7Q1BMNAsPDwBofQoQYGChQAWgEZN7
Q1BMNQsPDwBofQoQYGChO6ARk3tDUEw2Cw8PAGh9ChBgYKEnoBGTe0NQTDcLDw8AaH0KEGBgoROg
EZN7Q1BMOAsPDwBofQoQYGCgEZN7Q0FETAsPDwBofQoCYGChTwigEZN7Q0FMMgsPDwBofQoCYGCh
SgegEZN7Q0FMMwsPDwBofQoCYGChRQagEZN7Q0FMNAsPDwBofQoCYGChQAWgEZN7Q0FMNQsPDwBo
fQoCYGChO6ARk3tDQUw2Cw8PAGh9CgJgYKEnoBGTe0NBTDcLDw8AaH0KAmBgoROgEZN7Q0FMOAsP
DwBofQoCYGCkYBRMCU5ERFMBoA+Te05BREwLDw8AaKQKAaFBCKAPk3tOREwyCw8PAGikCgGhTgag
D5N7TkRMMwsPDwBopAoBoUsFoA+Te05ETDQLDw8AaKQKAaFIBKAPk3tOREw1Cw8PAGikCgGhNaAP
k3tOREw2Cw8PAGikCgGhI6APk3tOREw3Cw8PAGikCgGhEaAPk3tOREw4Cw8PAGikCgGkCgBbgkQG
TENEMBQKX0FEUgCkCwAEFA9fRENTAKRWQ0FETUlETBQPX0RHUwCkTkREU01JREwUDl9EU1MBe2gK
AVZTREwUI19EREMBoAuTaAoBpFxWRURJoQ2gC5NoCgKkXFZFREmkCgBbgj9DUlQwFApfQURSAKQL
AAEUD19EQ1MApFZDQURNSURDFA9fREdTAKRORERTTUlEQxQOX0RTUwF7aAoBVlNEQ1uCP0RWSTAU
Cl9BRFIApAsAAxQPX0RDUwCkVkNBRE1JRDAUD19ER1MApE5ERFNNSUQwFA5fRFNTAXtoCgFWU0Qw
W4I/RFZJMRQKX0FEUgCkCwEDFA9fRENTAKRWQ0FETUlEMRQPX0RHUwCkTkREU01JRDEUDl9EU1MB
e2gKAVZTRDFbgj9EVkkyFApfQURSAKQLAgMUD19EQ1MApFZDQURNSUQyFA9fREdTAKRORERTTUlE
MhQOX0RTUwF7aAoBVlNEMluCP0RWSTMUCl9BRFIApAsDAxQPX0RDUwCkVkNBRE1JRDMUD19ER1MA
pE5ERFNNSUQzFA5fRFNTAXtoCgFWU0QzW4I/RFZJNBQKX0FEUgCkCwQDFA9fRENTAKRWQ0FETUlE
NBQPX0RHUwCkTkREU01JRDQUDl9EU1MBe2gKAVZTRDRbgj9EVkk1FApfQURSAKQLBQMUD19EQ1MA
pFZDQURNSUQ1FA9fREdTAKRORERTTUlENRQOX0RTUwF7aAoBVlNENVuCgRwDTFBDXwhfQURSDAAA
HwAIX1MzRAoDCFJJRF8KAFuCSx9TSU9fCF9ISUQMQdAMAghfVUlECgAIU0NSUxFPEgsqAUcBEAAQ
AAEQRwGQAJAAARBHASQAJAABAkcBKAAoAAECRwEsACwAAQJHATAAMAABAkcBNAA0AAECRwE4ADgA
AQJHATwAPAABAkcBpACkAAECRwGoAKgAAQJHAawArAABAkcBsACwAAEGRwG4ALgAAQJHAbwAvAAB
AkcBUABQAAEERwFyAHIAAQZHAQAYABgBoEcBAAgACAGARwGACIAIAYBHAQAJAAkBgEcBgAmACQGA
RwEACgAKAYBHAYAKgAoBgEcBAAsACwGARwGAC4ALAYBHAWIAYgABgEcBQBZAFgEghgkAAQAAAPgA
AAAEhgkAAQDA0f4AQAAAhgkAAQAA0f4AQAAAhgkAAQCA0f4AEAAAhgkAAQCQ0f4AEAAAhgkAAQBQ
1P4AcAAAeQAUTgpfQ1JTAKAdklsSXC8EX1NCX1BDSTBMUENfVFBNXwCkU0NSU6FICKAgk1wvBV9T
Ql9QQ0kwTFBDX1RQTV9fU1RBCg+kU0NSU6FEBnSHU0NSUwoCYAhCVUYwEQJgcmCHXC8FX1NCX1BD
STBMUENfVFBNX0JVRjFgCEJVRjERAmBwU0NSU0JVRjBzQlVGMFwvBV9TQl9QQ0kwTFBDX1RQTV9C
VUYxQlVGMaRCVUYxW4BMUENTAgoACwABW4FGC0xQQ1MAAEAwUElSQQhQSVJCCFBJUkMIUElSRAhT
RVJRCAAYUElSRQhQSVJGCFBJUkcIUElSSAgAQApYVTFBAwABWFUyQQMAAVhQQV8CAAJYRkFfAQAD
WFUxRQFYVTJFAVhQRV8BWEZFXwEADFhHMUUBAAFYRzFBDgAQWEcyRQEAAVhHMkEOAEALAAJDTEtS
AQAHRVhQRQEABQBABQAIAAhYVVNCAQBPBEdSMDACAApHUjA2AluATFBJTwELAAgLAARbgUsJTFBJ
TwMAQIAAHkRPSTABACEAHkRPSTEBACEAHkRPSTIBACEAHkRPSTMBAEEOAB9GVzNEAQBADgAeTkZD
SQEAQRIAA1hIUEQBAEwHAB5EU1BTAQBBDgAfR0xJUwEAQGYAHlBJRDABACEAHlBJRDEBACEAHlBJ
RDIBACEAHlBJRDMBAEEyAB4AIgAfTkZDUAEAQAoAH0NNM0QBCE5GQ0QKAVuAUE1JTwELABgKgFuB
JlBNSU8AAEAVAAZYSFBFAQBJCwABU1dHRQEAThAACVNDSVMBAAZbgjNQSUNfCF9ISUQLQdAIX0NS
UxEgCh1HASAAIAABAkcBoACgAAECRwHQBNAEAQIiBAB5AFuCJVRJTVIIX0hJRAxB0AEACF9DUlMR
EAoNRwFAAEAAAQQiAQB5AFuCSAZIUEVUCF9ISUQMQdABAxQfX1NUQQCgEJBcV05URpJcV1hQRqQK
AKEEpAoPpAoACEJVRjAREQoOhgkAAAAA0P4ABAAAeQAUIF9DUlMIikJVRjAKBEhQVDBwXEhQRVRI
UFQwpEJVRjBbgjVETUFDCF9ISUQMQdACAAhfQ1JTESAKHUcBAAAAAAEQRwGAAIAAARBHAcAAwAAB
ICoQBXkAW4IiU1BLUghfSElEDEHQCAAIX0NSUxENCgpHAWEAYQABAXkAW4IlRlBVXwhfSElEDEHQ
DAQIX0NSUxEQCg1HAfAA8AABASIAIHkAW4IlUlRDXwhfSElEDEHQCwAIX0NSUxEQCg1HAXAAcAAB
AiIAAXkAW4JIBEtCRF8UGV9ISUQAoAxcV0lOOKQMMK4AcaQMQdADAwhfQ0lEDEHQAwMIX0NSUxEY
ChVHAWAAYAABAUcBZABkAAEBIgIAeQBbgksUTU9VXwhfSElEDDCuIAcIX0NJRAxB0A8TCF9DUlMR
CAoFIgAQeQAUQhJNSElECAhfVF8xAAhfVF8wAKAeXC8EX1NCX1BDSTBMUENfUEFERHAMMK4gB19I
SUShTw6gTwdcLwRfU0JfUENJMExQQ19ORkNEokkGAXBcLwVfU0JfUENJMExQQ19FQ19fQ1BJRF9U
XzCgEpNfVF8wCgFwDDCuIAxfSElEoTWgEpNfVF8wCgJwDDCuIAdfSElEoSCgEpNfVF8wCgRwDDCu
IAxfSElEoQtwDDCuIAdfSElEpaFMBqJJBgFwXC8FX1NCX1BDSTBMUENfRUNfX0NQSURfVF8xoBKT
X1RfMQoBcAwwriAMX0hJRKE1oBKTX1RfMQoCcAwwriAHX0hJRKEgoBKTX1RfMQoEcAwwriAMX0hJ
RKELcAwwriAHX0hJRKVbgElNR0EADAADAP8LAAFbgUIFSU1HQQEAQHoAA0lWUFcBRFZQVwFCTFBM
AQACVFA0UgFQQURSAUJQQUQBAAEAAVBBREQBAAJFUFdHAQABQ1NPTgFEU0NJAURTQ1MBRExBTgFb
goGpAkVDX18IX0hJRAxB0AwJCF9VSUQKAAhfR1BFCiUUE19SRUcCoAyTaAoDcGlcSDhEUluARUNP
UgMKAAsAAVuBRy1FQ09SAUhEQk0BAAFIS0xLAUhGTkUBAAEAAUhMRE0BAAFCQkxTAUJUQ00BAAEA
AQABSEJQUgFCVFBDAQABSERVRQEABFNOTEsBAAIABUhBVU0CAAlIU1BBAQAHSFNVTghIU1JQCAAg
SExDTAgABENBTE0BAANIRk5TAgAGAAZOVUxTAQABSEFNMAhIQU0xCEhBTTIISEFNMwhIQU00CEhB
TTUISEFNNghIQU03CEhBTTgISEFNOQhIQU1BCEhBTUIISEFNQwhIQU1ECEhBTUUISEFNRggAGEhB
TlQIABAAAkhBTkECAAQACAABU0tFTQEABgAISEFUUghIVDBICEhUMEwISFQxSAhIVDFMCEhGU1AI
AAZITVVUAQABAAJIVVdCAQAFSFdQTQFIV0xCAUhXTE8BSFdESwFIV0ZOAUhXQlQBSFdSSQFIV0JV
AUhXTFUBAAcAA1BJQlMBAANIUExPAQAISFdBQxBIQjBTB0hCMEEBSEIxUwdIQjFBAUhDTVUBAAJP
VlJRAURDQkQBRENXTAFEQ1dXAUhCMUkBAAFLQkxUAUJUUFcBRk5LQwFIVUJTAUJEUFcBQkREVAFI
VUJCAQBABQABQlRXSwFIUExEAQABSFBBQwFCVFNUAQACSFBCVQEAAUhCSUQBAANIQkNTAUhQTkYB
AAFHU1RTAQACSExCVQFET0NEAUhDQkwBAAFTTFVMAQAXSFRNSAhIVE1MCEhXQUsQSE1QUggAB0hN
RE4BAEATVE1QMAgAOAAISElJRAgACEhGTkkISFNQRBAAEFRTTDAHVFNSMAFUU0wxB1RTUjEBVFNM
MgdUU1IyAVRTTDMHVFNSMwEACEhEQUEDSERBQgNIREFDAlJDQkQBUkNXTAFSQ1dXAQAFAEgQSERF
TiBIREVQIEhERU0ISERFUwgAQAdBVE1YCEhXQVQIABBQV01ICFBXTUwIAEgPAARIREREARQ8X0lO
SQCgDVxIOERScAoASFNQQaEMXE1CRUMKBQr+CgBcLwZfU0JfUENJMExQQ19FQ19fSEtFWVdHSU4I
X0NSUxEVChJHAWIAYgABAUcBZgBmAAEBeQAUIUxFRF8CfWhpYKAMXEg4RFJwYEhMQ0yhCVxXQkVD
CgxgCEJBT04KAAhXQk9OCgAURhhCRUVQAaAMk2gKBXAKAFdCT05wV0JPTmKgTwRCQU9OoCSTaAoA
cAoAQkFPTqANV0JPTnAKA2BwCghhoQlwCgBgcAoAYaEjcAr/YHAK/2GgDJNoChFwCgBXQk9OoAyT
aAoQcAoBV0JPTqFHBHBoYHAK/2GgE5NoCg9waGBwCghhcAoBQkFPTqAUk2gKEXAKAGBwCgBhcAoA
V0JPTqAUk2gKEHAKA2BwCghhcAoBV0JPTqAyk2gKA3AKAFdCT06gJWJwCgdgoB6Rk1xTUFNfCgOT
XFNQU18KBHAKAGJwCv9gcAr/YaAUk2gKB6AOYnAKAGJwCv9gcAr/YaA7XEg4RFKgGpBikldCT05w
CgBIU1JQcAoASFNVTlsiCmSgDJKTYQr/cGFIU1JQoAySk2AK/3BgSFNVTqE+oB6QYpJXQk9OXFdC
RUMKBwoAXFdCRUMKBgoAWyIKZKAOkpNhCv9cV0JFQwoHYaAOkpNgCv9cV0JFQwoGYKAFk2gKA6AK
k2gKB1siC/QBFEYERVZOVAGgIVxIOERSoA1ofUhBTTUKBEhBTTWhDHtIQU01CvtIQU01oRygDWhc
TUJFQwoVCv8KBKEMXE1CRUMKFQr7CgAIVVNQUwoAW4RNCVBVQlMDAAAUK19TVEEAoAxcSDhEUnBI
VUJTYKEMe1xSQkVDCjsKEGCgBWCkCgGhBKQKABQzX09OXwBwCmRgog2QVVNQU2BbIgoBdmCgDVxI
OERScAoBSFVCU6EMXE1CRUMKOwr/ChAUM19PRkYAcAoBVVNQU6ANXEg4RFJwCgBIVUJToQxcTUJF
Qwo7Cu8KAFsiChRwCgBVU1BTFCtDSEtTAHAL6ANgohNITVBSWyIKAXZgoAeSYKQLgICgB0hNRE6k
AKQLgYAUSxJMUE1EAHAKAGBwCgBhcAoAYqBACFxIOERSoEgHSFBBQ6AMSFBMT3BcTFBTVGChRAag
QQaVSFdBVAotoB9IQjBBoBmRe0hCMFMKEACVe0hCMFMKBwAKAnAKAWGhBXAKAWGgH0hCMUGgGZF7
SEIxUwoQAJV7SEIxUwoHAAoCcAoBYqEFcAoBYqALkGFicFxMUFNUYKFECaBBCXtcUkJFQwpGChAA
oBN7XFJCRUMKNAqAAHBcTFBTVGChTwagTAaVXFJCRUMKyQotcFxSQkVDCjhjoBp7YwqAAKATkXtj
ChAAlXtjCgcACgJwCgFhoQVwCgFicFxSQkVDCjljoBp7YwqAAKATkXtjChAAlXtjCgcACgJwCgFh
oQVwCgFioAuQYWJwXExQU1RgpGAURgRDTFBNAKA+e1wuX1BSX0NGR0QKAQCgE5FcT1NQWFxDUFBY
XFBOVEYKgKEacExQTURgoAlgXFNURVAKBKEIXFNURVAKBVsBTUNQVQcUSwRfUTEwAHAKEEQ4MFCg
PFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLSwoBXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtR
CwEQFA5fUTExAHAKEUQ4MFCjFEsEX1ExMgBwChJEODBQoDxcLwZfU0JfUENJMExQQ19FQ19fSEtF
WU1IS0sKAlwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsCEBRLBF9RMTMAcAoTRDgwUKA6XC8G
X1NCX1BDSTBMUENfRUNfX0hLRVlESEtDXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCwQQoQEU
SwRfUTY0AHAKZEQ4MFCgPFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLSwoQXC8GX1NCX1BDSTBM
UENfRUNfX0hLRVlNSEtRCwUQFEsEX1E2NQBwCmVEODBQoDxcLwZfU0JfUENJMExQQ19FQ19fSEtF
WU1IS0sKIFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsGEBRCCl9RMTYAcAoWRDgwUKA8XC8G
X1NCX1BDSTBMUENfRUNfX0hLRVlNSEtLCkBcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELBxCh
RgWgIZNcVkhZQgoDCgAKA4ZcLwNfU0JfUENJMFZJRF8KgKQAoBhWSUdEXC8EX1NCX1BDSTBWSURf
VlNXVKEYXC8FX1NCX1BDSTBQRUdfVklEX1ZTV1QUSQVfUTE3AHAKF0Q4MFCgPFwvBl9TQl9QQ0kw
TFBDX0VDX19IS0VZTUhLSwqAXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCwgQoQ2gC5JcV05U
RlZFWFAUTQRfUTE4AHAKGEQ4MFCgPVwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLSwsAAVwvBl9T
Ql9QQ0kwTFBDX0VDX19IS0VZTUhLUQsJEKMUTARfUTFBAHAKGkQ4MFCgPVwvBl9TQl9QQ0kwTFBD
X0VDX19IS0VZTUhLSwsABFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsLEBQrX1ExQgBwChtE
ODBQXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCwwQFEwEX1E2MgBwCmJEODBQoD1cLwZfU0Jf
UENJMExQQ19FQ19fSEtFWU1IS0sLABBcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELDRAUTARf
UTYwAHAKYEQ4MFCgPVwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLSwsAIFwvBl9TQl9QQ0kwTFBD
X0VDX19IS0VZTUhLUQsOEBRMBF9RNjEAcAphRDgwUKA9XC8GX1NCX1BDSTBMUENfRUNfX0hLRVlN
SEtLCwBAXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCw8QFEEGX1ExRgBwCh9EODBQoEsEXC8G
X1NCX1BDSTBMUENfRUNfX0hLRVlNSEtLDAAAAgCgKHtQS0xJCwAMAFwvBl9TQl9QQ0kwTFBDX0VD
X19IS0VZTUhLUQsSEFxVQ01TCg4UTgRfUTFDAHAKHEQ4MFCgP1wvBl9TQl9QQ0kwTFBDX0VDX19I
S0VZTUhLSwwAAAABXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCxkQFE4EX1ExRABwCh1EODBQ
oD9cLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS0sMAAAAAlwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZ
TUhLUQsaEBROBF9RNjYAcApmRDgwUKA/XC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtLDAAAABBc
LwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELHRAUTgRfUTY3AHAKZ0Q4MFCgP1wvBl9TQl9QQ0kw
TFBDX0VDX19IS0VZTUhLSwwAAAAgXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCx4QFE4EX1E2
OABwCmhEODBQoD9cLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS0sMAAAAQFwvBl9TQl9QQ0kwTFBD
X0VDX19IS0VZTUhLUQsfEBROBF9RNjkAcAppRDgwUKA/XC8GX1NCX1BDSTBMUENfRUNfX0hLRVlN
SEtLDAAAAIBcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELIBAUSw1fUTI2AHAKJkQ4MFCgKFZJ
R0SgC1xXVklTXFZCVERcLwVfU0JfUENJMExQQ19FQ19fQlJOU6EIXFVDTVMKElsiC/QBhkFDX18K
gIZcLl9UWl9USE0wCoCgDlxXWFBGWyNNQ1BV//9wCgFQV1JToCN7XC5fUFJfQ0ZHRAoBAKATkVxP
U1BYXENQUFhcUE5URgqAoApcV1hQRlsiCmSgDVxPU0M0XFBOVEYKgaAMXFdYUEZbJ01DUFVcLwZf
U0JfUENJMExQQ19FQ19fSEtFWU1IS1ELQGBBVE1DFEQPX1EyNwBwCidEODBQoChWSUdEoAtcV1ZJ
U1xWQlREXC8FX1NCX1BDSTBMUENfRUNfX0JSTlOhCFxVQ01TChKgGFwvBV9TQl9QQ0kwUEVHX1ZJ
RF9JU09QWyIL9AGGQUNfXwqAhlwuX1RaX1RITTAKgKAOXFdYUEZbI01DUFX//3AKAFBXUlOgI3tc
Ll9QUl9DRkdECgEAoBORXE9TUFhcQ1BQWFxQTlRGCoCgClxXWFBGWyIKZKANXE9TQzRcUE5URgqB
oAxcV1hQRlsnTUNQVVwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQtAYEFUTUMUTA9fUTJBAHAK
KkQ4MFCgTQ6TCgFcLwNfU0JfTElEX19MSURcVkNNUwoBXC8DX1NCX0xJRF9fTElEoEIMk1xJTE5G
CgCgNlxJT1NUoC+SXElTT0MKAHAKAFxJT1NUXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRC9Bg
XC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCwJQoEIGk1xQTFVYCgCgL1ZJR0RcLwRfU0JfUENJ
MFZJRF9HTElTCgFcLwRfU0JfUENJMFZJRF9WTE9DCgGhGlwvBV9TQl9QQ0kwUEVHX1ZJRF9WTE9D
CgGGXC5fU0JfTElEXwqAFEUPX1EyQgBwCitEODBQoEYOkwoAXC8DX1NCX0xJRF9fTElEXFVDTVMK
DVxWQ01TCgFcLwNfU0JfTElEX19MSUSgRAuTXElMTkYKAKA9kFxJT0VOklxJT1NUoC+SXElTT0MK
AXAKAVxJT1NUXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRC9BgXC8GX1NCX1BDSTBMUENfRUNf
X0hLRVlNSEtRCwFQoE0Ek1xQTFVYCgCgGlZJR0RcLwRfU0JfUENJMFZJRF9HTElTCgChGlwvBV9T
Ql9QQ0kwUEVHX1ZJRF9WTE9DCgCGXC5fU0JfTElEXwqAFAZfUTNEABRGBV9RNDgAcApIRDgwUKBH
BHtcLl9QUl9DRkdECgEAoBORXE9TUFhcQ1BQWFxQTlRGCoChCFxTVEVQCgRwCgFcLwVfU0JfUENJ
MExQQ19FQ19fQ0FMTRQ6X1E0OQBwCklEODBQoCx7XC5fUFJfQ0ZHRAoBAKATkVxPU1BYXENQUFhc
UE5URgqAoQhcU1RFUAoFFBBfUTdGAFsyAQAAAYALnx8UK19RNEUAcApORDgwUFwvBl9TQl9QQ0kw
TFBDX0VDX19IS0VZTUhLUQsRYBQrX1E0RgBwCk9EODBQXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlN
SEtRCxJgFCtfUTQ2AHAKRkQ4MFBcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELEmAUHl9RMjIA
cAoiRDgwUENMUE2gDEhCMEGGQkFUMAqAFBhfUTRBAHAKSkQ4MFBDTFBNhkJBVDAKgRQYX1E0QgBw
CktEODBQQ0xQTYZCQVQwCoAUGF9RMjQAcAokRDgwUENMUE2GQkFUMAqAFA1CQVRXAaAGXEJUMlRb
gTFFQ09SAQBAUFNCUkMQU0JGQxBTQkFFEFNCUlMQU0JBQxBTQlZPEFNCQUYQU0JCUxBbgRhFQ09S
AQBAUFNCQk0QU0JNRBBTQkNDEFuBJ0VDT1IBAEBQU0JEQxBTQkRWEFNCT00QU0JTSRBTQkRUEFNC
U04QW4EORUNPUgEAQFBTQkNIIFuBD0VDT1IBAEBQU0JNTkAIW4EPRUNPUgEAQFBTQkROQAhbAUJB
VE0HFEgWR0JJRgNbI0JBVE3//6BIEmp9aAoBSElJRHBTQkJNZ3pnCg9nf2cKAYhpCgAAcGhISUlE
oApnd1NCRkMKCmGhB3BTQkZDYXBhiGkKAgB9aAoCSElJRKAKZ3dTQkRDCgpgoQdwU0JEQ2BwYIhp
CgEAeGEKFGKIaQoFAKAKZ3AKyIhpCgYAoSGgFVNCRFZ4DEANAwBTQkRWYohpCgYAoQlwCgCIaQoG
AHBTQkRWiGkKBABwU0JTTmAIU0VSThEJCgYgICAgIABwCgRiohVgeGAKCmFgcmEKMIhTRVJOYgB2
YnBTRVJOiGkKCgB9aAoGSElJRHBTQkROiGkKCQB9aAoESElJRAhCVFlQEQgKBQAAAAAAcFNCQ0hC
VFlQcEJUWVCIaQoLAH1oCgVISUlEcFNCTU6IaQoMAKEncAz/////iGkKAQBwCgCIaQoFAHAKAIhp
CgYAcAz/////iGkKAgBbJ0JBVE2kaRRKDUdCU1QEWyNCQVRN//+gCntpCiAAcAoCYKESoAp7aQpA
AHAKAWChBXAKAGCgBntpCgcAoQZ9YAoEYKAZk3tpCgcACgdwCgRgcAoAYXAKAGJwCgBjoUAGcGhI
SUlEcFNCVk9joApqd1NCUkMKCmKhB3BTQlJDYnBTQkFDYaAckpVhCwCAoA57YAoBAHQMAAABAGFh
oQVwCgBhoQ2gC5J7YAoCAHAKAGGgDWp3Y2FheGEL6ANnYXBgiGsKAABwYYhrCgEAcGKIawoCAHBj
iGsKAwBbJ0JBVE2ka1uCRxVCQVQwCF9ISUQMQdAMCghfVUlECgAIX1BDTBIHAVxfU0JfCEIwU1QK
AAhCVDBJEiMNCgAM/////wz/////CgELMCoKAAoACgEKAQ0ADQANAA0ACEJUMFASAgQURARfU1RB
AKAPXEg4RFJwSEIwQUIwU1ShHqATe1xSQkVDCjgKgABwCgFCMFNUoQhwCgBCMFNUoAhCMFNUpAof
oQSkCg8URwRfQklGAHAKAGdwCgpmoiuQkmdmoB9IQjBBoBOTe0hCMFMKBwAKB1siC+gDdmahBXAK
AWehBXAKAGakR0JJRgoAQlQwSWcUI19CU1QAf4OIQlQwSQoAAAoBYKRHQlNUCgBIQjBTYEJUMFAU
SQRfQlRQAXtIQU00Cu9IQU00oDZocGhhoBGSg4hCVDBJCgAAeGEKCmBhe2EK/0hUMEx7emEKCAAK
/0hUMEh9SEFNNAoQSEFNNFuCTQVBQ19fCF9ISUQNQUNQSTAwMDMACF9VSUQKAAhfUENMEgcBXF9T
Ql8UKV9QU1IAoAtcSDhEUqRIUEFDoRagD3tcUkJFQwpGChAApAoBoQSkCgAUCV9TVEEApAoPW4JK
f0hLRVkIX0hJRAwwrgBoFAlfU1RBAKQKDxQKTUhLVgCkCwABCERIS0MKAAhESEtCCgFbAVhESEsH
CERIS0gKAAhESEtXCgAIREhLUwoACERIS0QKAAhESEtOCwgICERIS1QKAAhESFdXCgAUDE1IS0EA
pAz7////FAtNSEtOAKRESEtOFBhNSEtLAaANREhLQ6R7REhLTmgAoQOkABRABU1IS00CWyNYREhL
//+gBpRoCiCjoTN5AXZoYKApe2AM+////wCgDGl9YERIS05ESEtOoRJ7REhLTn9gDP////8AREhL
TqECo1snWERISxQMTUhLQwFwaERIS0MUSQhNSEtQAFsjWERIS///oBFESFdXcERIV1dhcABESFdX
oU8FoBFESEtXcERIS1dhcABESEtXoUoEoBFESEtEcERIS0RhcABESEtEoTWgEURIS1NwREhLU2Fw
AERIS1OhIaARREhLVHBESEtUYXAAREhLVKENcERIS0hhcABESEtIWydYREhLpGEUPk1IS0UBcGhE
SEtCWyNYREhL//9wAERIS0hwAERIS1dwAERIS1NwAERIS0RwAERIS1RwAERIV1dbJ1hESEsUSApN
SEtRAaBACkRIS0KgQAlESEtDWyNYREhL//+gBpVoCwAQoU0GoAyVaAsAIHBoREhLSKFNBaAMlWgL
ADBwaERIS1ehTQSgDJVoCwBAcGhESEtToT2gDJVoCwBQcGhESEtEoS6gDJVoCwBgcGhESEtIoR+g
DJVoCwBwcGhESEtUoRCgDJVoCwCAcGhESFdXoQFbJ1hESEuGSEtFWQqAoQigBpNoCwQQFEkFTUhL
QgGgJpNoCgBcLwVfU0JfUENJMExQQ19FQ19fQkVFUAoRcAoAXExJREKhKqAmk2gKAVwvBV9TQl9Q
Q0kwTFBDX0VDX19CRUVQChBwCgFcTElEQqEBFEcETUhLRACgP5NcUExVWAoAoBpWSUdEXC8EX1NC
X1BDSTBWSURfVkxPQwoAoRpcLwVfU0JfUENJMFBFR19WSURfVkxPQwoAFD5NSFFDAaAxXFdOVEag
C5NoCgCkXENXQUOhHqALk2gKAaRcQ1dBUKEQoAuTaAoCpFxDV0FUoQKjoQKjpAoAFDVNSEdDAKAo
XFdOVEZbI1hESEv//6ALQ0tDNAoAcAoDYKEFcAoEYFsnWERIS6RgoQKjpAoAFEwGTUhTQwGgQQaQ
XENXQUNcV05URlsjWERIS///oEUEXE9TQzSgHJNoCgOgFpJcQ1dBU1xQTlRGCoFwCgFcQ1dBU6Eg
oBuTaAoEoBVcQ1dBU1xQTlRGCoFwCgBcQ1dBU6ECo1snWERIS6ECoxRFBENLQzQBcAoAYKATXEM0
V1KgDJJcQzRBQ31gCgFgoAtcQzROQX1gCgJgoBGQXENXQUNcQ1dBU31gCgRge2CAaABgpGAUDE1I
UUUApFxDNFdSFBlNSEdFAKAPkFxDNFdSXEM0QUOkCgSkCgMURAZNSFNFAaBMBVxDNFdScFxDNEFD
YKAlk2gKA3AKAFxDNEFDoBd/YFxDNEFDAKANXE9TQzRcUE5URgqBoSegJZNoCgRwCgFcQzRBQ6AX
f2BcQzRBQwCgDVxPU0M0XFBOVEYKgRQNVUFXTwGkXFVBV1NoFBNNTENHAXBcS0JMUwoACgBgpGAU
SghNTENTAXBcS0JMUwoBaGCgRgeSe2AMAAAAgACgJ3toDAAAAQAAXC8GX1NCX1BDSTBMUENfRUNf
X0hLRVlNSEtRCwFgoUIEoD9cLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS0sMAAACAFwvBl9TQl9Q
Q0kwTFBDX0VDX19IS0VZTUhLUQsSEKRgFBJEU1NHAX0LAARcUERDSWCkYBQSRFNTUwF9XFBEQ0lo
XFBEQ0kUEFNCU0cBpFxTWUJDCgAKABQPU0JTUwGkXFNZQkMKAWgUFVBCTEcBcFxCUkxWYH1gCwAP
YaRhFEEGUEJMUwFwaFxCUkxWoB1cVklHRFwvBV9TQl9QQ0kwTFBDX0VDX19CUk5ToQtcVkJSQ1xC
UkxWoCWSXE5CQ0ZcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELUGCkCgAUE1BNU0cBcFxQUlNN
CgAKAGCkYBQRUE1TUwFcUFJTTQoBaKQKABQ8SVNTRwFwXElTU1BgoBpcSVNTUH1gDAAAAAFgfWB5
XElTRlMKGQBgfWAKgGB9YHtcSVNDRwowAGCkCgAUEElTU1MBcGhcSVNDR6QKABQQRkZTRwGkXElG
UlMKAAoAFBFGRlNTAVxJRlJTCgFopAoAFCtHTUtTAHB/CgFcLwVfU0JfUENJMExQQ19FQ19fSEtM
SwBgfWALAAJgpGAURAZTTUtTAaAge2gKAQBwCgBcLwVfU0JfUENJMExQQ19FQ19fSEtMS6EbcAoB
XC8FX1NCX1BDSTBMUENfRUNfX0hLTEtGTlNDCgNcLwVfU0JfUENJMExQQ19FQ19fSEtMS6QKABQv
SU5TRwFwXElPRU5gfWB5XElPU1QKBwBgfWB5XElPQ1AKCABgfWAMAAAAEGCkYBRBB0lOU1MBoC57
aAwAAAAQAKAhXElPQ1BwentoCoAACgcAYKAPklxFWlJDYHBgXElPU1SkCgCgFJBcSU9DUHtoCgEA
cAoBXElPRU6hInAKAFxJT0VOoBhcSU9TVKARklxJU09DCgBwCgBcSU9TVKQKABBGHVwvBV9TQl9Q
Q0kwTFBDX0VDX19IS0VZCElORFYKABQJTUhRSQCkCgAURRRNSEdJAQhSRVRCEQMKEIxSRVRCCgBN
SEdTeQoBaGCgTxF7SU5EVmAAoCSTaAoAWxNSRVRCCggKeEJSQlVwXElQTUJCUkJVcAoQTUhHU6FA
D6Akk2gKAVsTUkVUQgoIChhSUkJVcFxJUE1SUlJCVXAKBE1IR1OhSAygSwWTaAoIWxNSRVRCChAK
GE9EQlWMUkVUQgoBTUhHWnBcSVBNT09EQlWgKpCTXl5CU1RTCgCTXl5CREVWCgN9CgFNSEdaTUhH
Wn0KAk1IR1pNSEdacAoFTUhHU6FJBqAvk2gKCVsTUkVUQgoQCghBVUJVcFxJUE1BQVVCVXAKAYhS
RVRCCgEAcAoDTUhHU6E2oDSTaAoCcFxWRFlOCgAKAGF7YQoPiFJFVEIKAgB6YQoEYXthCg+IUkVU
QgoBAHAKA01IR1OkUkVUQhRFBk1IU0kCeQoBaGCgSAV7SU5EVmAAoD6TaAoIoDhpoA5cSDhEUnBe
XkhQQlVhoQx7XFJCRUMKRwoBYaAZkmFwXl5CR0lECgBeXkJERVZeXk5CSU5hoQ+gDZNoCgJcVkRZ
TgoBaRBHBlwvBF9TQl9QQ0kwTFBDX0VDX18UQQVfUTZBAKAGSERNQ6OhQgSgP1wvBl9TQl9QQ0kw
TFBDX0VDX19IS0VZTUhLSwwAAAAEXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCxsQEEMGXC8F
X1NCX1BDSTBMUENfRUNfX0hLRVkUG01NVEcAcAsBAWCgDUhETUN9YAwAAAEAYKRgFC1NTVRTAaAG
SERNQ6OhH6AMk2gKAnAKAEY0TEShEKAFk2gKA6EIcAoBRjRMRBBFBlwvBV9TQl9QQ0kwTFBDX0VD
X19IS0VZFAlQV01DAKQKARRBBFBXTUcAcFwvBV9TQl9QQ0kwTFBDX0VDX19QV01IYHlgCghgfWBc
LwVfU0JfUENJMExQQ19FQ19fUFdNTGCkYBBPDVwvBF9TQl9QQ0kwTFBDX0VDX18UQwVfUTQ1AKAn
RE9DRFsiCmRcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELEEChI1siCmRcLwZfU0JfUENJMExQ
Q19FQ19fSEtFWU1IS1ELEUAURQdES0lEAHBcLwRfU0JfUENJMExQQ19ET0kwYHBcLwRfU0JfUENJ
MExQQ19ET0kxYXBcLwRfU0JfUENJMExQQ19ET0kyYnBcLwRfU0JfUENJMExQQ19ET0kzY31geWEK
AQBgfWB5YgoCAGB9YHljCgMAYKRgEEsFXC8FX1NCX1BDSTBMUENfRUNfX0hLRVkUQQRHREtTAHAK
AGCgM5NHTFY5CgB9YAoBYHBcLwVfU0JfUENJMExQQ19FQ19fREtJRGF5YQoIYX1gDAAACABgpGAQ
QQ1cLwRfU0JfUENJMExQQ19FQ19fFCRfUTNGAFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsA
YBRGCV9RNzQAcAp0RDgwUKApk0hLTEsKAHAKAVwvBV9TQl9QQ0kwTFBDX0VDX19IS0xLcAoBRk5M
RKEicAoAXC8FX1NCX1BDSTBMUENfRUNfX0hLTEtwCgBGTkxERk5TQwoDXC8FX1NCX1BDSTBMUENf
RUNfX0hLTEtcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELYGAQRwdcLwVfU0JfUENJMExQQ19F
Q19fSEtFWRRNBU5VTUcAcAoDYKBEBFwvBF9TQl9QQ0kwTFBDX1BJRDBbIgoUoB5cLwVfU0JfUENJ
MExQQ19FQ19fTlVMU31gCwABYKEJe2CACwABAGCkYKEMWyIKFHtgCgBgpGBbgEVDTU0ADAAAAP8L
ABBbgUUNRUNNTRAAgL4BAAFBU0JGAQBGh0NQSUQIAEAKQUFUTAFBQUNMAUFBU1QBQUFSVwFBQUVO
AUFBRVcBADJPU1RUCE9TU1QIVEhMVAhUQ05MCE1PREUBAAJJTklUAUZBTjEBRkFOMgFGQU5UAVNL
Tk0BU0RUTQhGU1NOBEZBTlUEUENWTAQAAlNXVE8BVFRIUgFUVEhNAVRIVEwBAAJOUFNUBENUTVAI
Q1RNTAhTS1RBCFNLVEIIU0tUQwgACE5UTVAIADBDUFVKA0NQTk0DR0FUWQIACBQNX1E3QgBcUE5U
RgqAFA1fUTc4AHAKeEFQTUMUSgtfUTkwAKBHCVwvBF9TQl9QQ0kwTFBDX0RTUFOgQQiTXC8FX1NC
X1BDSTBMUENfRUNfX0FTQkYBoEUGkpNcLwVfU0JfUENJMFBFR19WSURfQkFEUgz/////W4BBTVNB
AFwvBV9TQl9QQ0kwUEVHX1ZJRF9CQURSDAAAAQBbgQ9BTVNBAACA+ClBU0JUCKAQkpNBU0JUCoNw
CoNBU0JUoRpwAFwvBV9TQl9QQ0kwTFBDX0VDX19BU0JGFEEEX1E5MQBwXC8FX1NCX1BDSTBMUENf
RUNfX0NQVUpgcFxVQ0NUYGFwYVwvBV9TQl9QQ0kwTFBDX0VDX19DVE1QFE8TQ01GQwwIX1RfMwAI
X1RfMgAIX1RfMQAIX1RfMABwEQMKgmCLYAoAUlRTVFsTYAoQCwAEUlREVKJFEAFwmWgAX1RfMKBD
CJNfVF8wChCiSQcBcJlpAF9UXzGgP5NfVF8xCgGiNgFwmWoAX1RfMqAYk19UXzIKAXAKAVJUU1Rw
CgBSVERUpGChEXAKAFJUU1RwCgBSVERUpGCloSygGJNfVF8xCgJwCgFSVFNUcAoRUlREVKRgoRFw
CgBSVFNUcAoAUlREVKRgpaFEB6A/k19UXzAKI6I2AXCZaQBfVF8zoBiTX1RfMwoQcAoBUlRTVHAK
BlJURFSkYKERcAoAUlRTVHAKAFJURFSkYKWhMXBcQ0JCTWhpYaAVk2EK/3AKAFJUU1RwCgBSVERU
pGChEHAKAVJUU1RwYVJURFSkYKUQQgVcLwRfU0JfUENJMExQQ19FQ19fCEJUQkYRBQsAAQBbgE1N
RUMADAAOAP8LAAFbgQxNTUVDEFRXQlRAgBQUQlRJRgBwVFdCVEJUQkakQlRCRhA3XC8FX1NCX1BD
STBMUENfRUNfX0hLRVkUHlNCSUcBpFwvBV9TQl9QQ0kwTFBDX0VDX19CVElGW4BFQ1JNAAwAAAD/
CwAQW4E3RUNSTRAAgAACAEguRVJJQhBFUkJECABAJQAIABAABAAEUFRWTAQADAAIAAgACAAIAAgA
OAAIWwFGQU1YABQmRkFORwFbI0ZBTVj//3BoRVJJQlsiChRwRVJCRGBbJ0ZBTVikYBQiRkFOVwJb
I0ZBTVj//3BoRVJJQnBpRVJCRFsnRkFNWKRpFAlUVVZSAaQKAxQLVEhSTwFJVEhSaBQGQ0xDSwEU
ClBDTEsASVBDTBQrSVRIUgGgCpNoCgCkU1dUT6EZoAWTaAoBoRGgCpNoCgKkUENWTKEEpAr/FA1J
UENMAFxQTlRGCoBbgkanUEVHXwhfQURSDAQAHAAIX1MzRAoDCFJJRF8KAAhMQVJUEioCEhMEC///
CgBcLl9TQl9MTktBCgASEwQL//8KAVwuX1NCX0xOS0IKAAhBQVJUEhoCEgsEC///CgAKAAoQEgsE
C///CgEKAAoRFBlfUFJUAKALXEdQSUOkQUFSVKEGpExBUlRbAU1ER1MHCFZERUUKAQhWRERBEQMK
BI1WRERBCgBWVVBDjVZEREEKAVZRREyNVkREQQoCVlFEQ41WRERBCgNWUUQwjVZEREEKBFZRRDGN
VkREQQoFVlFEMo1WRERBCgZWUUQzjVZEREEKB1ZRRDSNVkREQQoIVlFENY1WRERBCglWU0RMjVZE
REEKClZTREONVkREQQoLVlNEMI1WRERBCgxWU0QxjVZEREEKDVZTRDKNVkREQQoOVlNEM41WRERB
Cg9WU0Q0jVZEREEKEFZTRDWNVkREQQoRTVNXVI1WRERBChJWV1NUCERHT1MKABQGX0RTVwNbhEcc
QU1EMwAAAAhfU1RBARRKEF9PTl8IoEwPXC8FX1NCX1BDSTBQRUdfVklEX0lTT1CgQg6TCgFER09T
XFZIWUIKAAoBWyIKfVxWSFlCCgIKAVsiCgFcVkhZQgoICgFcVkhZQgoICgOiRwSTXExDSEsKAQoA
cAogYKIXYKARk1xMQ0hLCgEKAFshCmR2YKECpaAek2AAcAoBXC8EX1NCX1BDSTBQRUdfUlRMS1sh
CmSgDlZNU0hcVkhZQgoNCgBwCshhohRhWyIKAaALXFZIWUIKDAoApXZhXFZIWUIKBAoAcABER09T
oC1cLwRfU0JfUENJMExQQ19EU1BTcAFcLwVfU0JfUENJMExQQ19FQ19fQVNCRnABX1NUQRRMCl9P
RkYIoE4JXC8FX1NCX1BDSTBQRUdfVklEX0lTT1CgRAiTCgBER09ToC1cLwRfU0JfUENJMExQQ19E
U1BTcABcLwVfU0JfUENJMExQQ19FQ19fQVNCRlxWSFlCCgQKAVxWSFlCCggKAHAKCmBwCjJhohFh
WyJgoAlcTENISwoApXZhXFZIWUIKCAoCXFZIWUIKAgoAXFZIWUIKAAoAcAFER09TcABfU1RBW4Qo
QU1EMgAAAAhfU1RBARQMX09OXwhwAV9TVEEUDF9PRkYIcABfU1RBCF9QUjASBgFBTUQzCF9QUjIS
BgFBTUQyCF9QUjMSBgFBTUQzFAlfUzBXAKQKBFuCR2tWSURfCF9BRFIKABQVSVNPUACkkFZEU1CQ
VklHRFZEU0NbgFZQQ0cCCgALAAFbgSZWUENHAwBADEJBRFIgAEAIVlNJRCAAQAhWSURTIABAFlZQ
V1IIW4BHUFBCAgq0ChRbgS5HUFBCAVBCQ0kIUEJOUAhQQkxTCFBCQ0MIUEJDUiBQQkRJIFBCRE8g
UEJNUiAUEFZSU0kAcAyqFyFQVklEUxQPX0lOSQBcVkhZQgoECgFbgEFUUlAAXEFUUkIMAAABAFuB
FEFUUlAQSURYMIAAQElEWDGAAEAUBl9ST00KFAZHRVRCCxQGVlNXVAAUBlZMT0MBFEcHX0RPUwGg
OpNoCgJwChRgojBgdmBbI01ER1P//6AZkwoATVNXVHAKAU1TV1RwCgBgcGhWREVFWydNREdTWyIK
yKE0WyNNREdT//+gD5NWREVFCgJwCgBNU1dUoAyUaAoCcAoBVkRFRaEHcGhWREVFWydNREdTFCJf
RE9EAKQSGggLAAELFAELEQELFQELEgELFgELEwELEAEUTxJBU1dUAqAUkwoBVkRFRXsKAWlhXFZT
RFNoYaFCEXAKFGCiRA9gdmBbI01ER1P//6BMDZMKAE1TV1RwCgBgoA17CgFpAHAKAVZVUEOhCHAK
AFZVUEOgDXsKAWgAcAoBVlFETKEIcAoAVlFETKANewoCaABwCgFWUURDoQhwCgBWUURDoA17CgRo
AHAKAVZRRDChCHAKAFZRRDCgDXsKCGgAcAoBVlFEMaEIcAoAVlFEMaANewoQaABwCgFWUUQyoQhw
CgBWUUQyoA17CiBoAHAKAVZRRDOhCHAKAFZRRDOgDXsKQGgAcAoBVlFENKEIcAoAVlFENKANewqA
aABwCgFWUUQ1oQhwCgBWUUQ1WydNREdTWyIKyKANewoCaQCGVklEXwqBoQiGVklEXwqAFDVWRFNX
AaAuk1ZQV1IKAKALaHBcVkVWVAoDYKEKcFxWRVZUCgRgewoPYGGgCWFBU1dUYQoAW4JLBkxDRDAU
Cl9BRFIApAsQARQcX0RDUwBcVlVQUwoAoAlcVkNETKQKH6EEpAodFAtfREdTAKRWUURMFDBfRFNT
AXtoCgFWU0RMoCF7aAwAAACAAKAPe2gMAAAAQABEU1dUCgKhB0RTV1QKAVuCQwhDUlQwFApfQURS
AKQLAAEUNF9EQ1MAXFZVUFMKAaAVXFZDU1OgCVxWQ0RDpAofoQSkCh2hEKAJXFZDREOkCg+hBKQK
DRQLX0RHUwCkVlFEQxQwX0RTUwF7aAoBVlNEQ6Ahe2gMAAAAgACgD3toDAAAAEAARFNXVAoCoQdE
U1dUCgFbgksGRFZJMBQKX0FEUgCkCxEBFBxfRENTAFxWVVBTCgCgCVxWQ0REpAofoQSkCh0UC19E
R1MApFZRRDEUMF9EU1MBe2gKAVZTRDGgIXtoDAAAAIAAoA97aAwAAABAAERTV1QKAqEHRFNXVAoB
W4JLBkRQMF8UCl9BRFIApAsUARQcX0RDUwBcVlVQUwoAoAlcVkNEVKQKH6EEpAodFAtfREdTAKRW
UUQwFDBfRFNTAXtoCgFWU0QwoCF7aAwAAACAAKAPe2gMAAAAQABEU1dUCgKhB0RTV1QKAVuCSwZE
VkkxFApfQURSAKQLEgEUHF9EQ1MAXFZVUFMKAKAJXFZDRESkCh+hBKQKHRQLX0RHUwCkVlFEMxQw
X0RTUwF7aAoBVlNEM6Ahe2gMAAAAgACgD3toDAAAAEAARFNXVAoCoQdEU1dUCgFbgksGRFAxXxQK
X0FEUgCkCxUBFBxfRENTAFxWVVBTCgCgCVxWQ0RUpAofoQSkCh0UC19ER1MApFZRRDIUMF9EU1MB
e2gKAVZTRDKgIXtoDAAAAIAAoA97aAwAAABAAERTV1QKAqEHRFNXVAoBW4JLBkRWSTIUCl9BRFIA
pAsTARQcX0RDUwBcVlVQUwoAoAlcVkNERKQKH6EEpAodFAtfREdTAKRWUUQ1FDBfRFNTAXtoCgFW
U0Q1oCF7aAwAAACAAKAPe2gMAAAAQABEU1dUCgKhB0RTV1QKAVuCSwZEUDJfFApfQURSAKQLFgEU
HF9EQ1MAXFZVUFMKAKAJXFZDRFSkCh+hBKQKHRQLX0RHUwCkVlFENBQwX0RTUwF7aAoBVlNENKAh
e2gMAAAAgACgD3toDAAAAEAARFNXVAoCoQdEU1dUCgEUP0RTV1QBoAlWU0RMcAoBYKEFcAoAYKAK
VlNEQ30KAmBgoApWU0QwfQoIYGCgD2CgDFZVUENcVlNEU2BooQKjW4BQRUdDAgoACwABW4EQUEVH
QwAAQCgABVJUTEsBW4IPQjBEMwhfQURSDAAAAwBbgilJR0JFCF9BRFIMAAAZAAhfUzNECgMIUklE
XwoACF9QUlcSBgIKbQoECExUUkUKAAhPQkZGCgAITE1TTAoACExOU0wKAFuCRDdFWFAxCF9BRFIM
AAAcAAhSSURfCgAUKl9JTkkAcExUUjFMVFJFcFBNTDFMTVNMcFBOTDFMTlNMcE9CRjFPQkZGCExQ
UlQSQwUEEhMEC///CgBcLl9TQl9MTktBCgASEwQL//8KAVwuX1NCX0xOS0IKABITBAv//woCXC5f
U0JfTE5LQwoAEhMEC///CgNcLl9TQl9MTktECgAIQVBSVBIyBBILBAv//woACgAKEBILBAv//woB
CgAKERILBAv//woCCgAKEhILBAv//woDCgAKExQZX1BSVACgC1xHUElDpEFQUlShBqRMUFJUW4BQ
WENTAgoAC4ADW4FGB1BYQ1MAVkRJRCAAQCZMMFNFAQADTERJUwEAAwAIAA1MQVNYAQAyQUJQWAEA
AlBEQ1gBAAJQRFNYAQABACgAEFBTUFgBAE8gRDNIVAIAThkAHkhQRVgBUE1FWAEAMAACTDIzRQFM
MjNSAQCMIAEAA0xFRE0BW4EVUFhDU0AAQG4AHkhQU1gBUE1TWAEUGl9TVEEAoA6TVkRJRAz/////
pAoAoQSkCg8ITFRSVhIKBAoACgAKAAoACE9QVFMKABRAGV9EU00MCF9UXzEACF9UXzAAokYXAXCZ
aABfVF8woEkWk19UXzAREwoQ0DfJ5VM1ek2RF+pNGcNDTaJNFAFwmWoAX1RfMaBCBJNfVF8xCgCg
M5NpCgJwCgFPUFRToBBMVFJFfU9QVFMKQE9QVFOgEE9CRkZ9T1BUUwoQT1BUU6RPUFRToQSkCgCh
TQ+gQQSTX1RfMQoEoDeTaQoCoBpPQkZGpBETChAAAAAAAAAAAAAAAAgAAAAAoRakERMKEAAAAAAA
AAAAAAAAAAAAAAChSAugRQuTX1RfMQoGoEsKk2kKAqBPCUxUUkWgRQSRk0xNU0wKAJNMTlNMCgCg
GJNQQ0hTCgFwC0YITE1TTHALRghMTlNMoRqgGJNQQ0hTCgJwCwMQTE1TTHALAxBMTlNMcHt6TE1T
TAoKAAoHAIhMVFJWCgAAcHtMTVNMC/8DAIhMVFJWCgEAcHt6TE5TTAoKAAoHAIhMVFJWCgIAcHtM
TlNMC/8DAIhMVFJWCgMApExUUlahBKQKAKWlpBEECgEAFChIUE1FCKAhUE1TWHAKyGCiF2BwCgFQ
TVNYoAdQTVNYdmChBXAKAGBbgkQ3RVhQMghfQURSDAEAHAAIUklEXwoAFCpfSU5JAHBMVFIyTFRS
RXBQTUwyTE1TTHBQTkwyTE5TTHBPQkYyT0JGRghMUFJUEkMFBBITBAv//woAXC5fU0JfTE5LQgoA
EhMEC///CgFcLl9TQl9MTktDCgASEwQL//8KAlwuX1NCX0xOS0QKABITBAv//woDXC5fU0JfTE5L
QQoACEFQUlQSMgQSCwQL//8KAAoAChESCwQL//8KAQoAChISCwQL//8KAgoAChMSCwQL//8KAwoA
ChAUGV9QUlQAoAtcR1BJQ6RBUFJUoQakTFBSVFuAUFhDUwIKAAuAA1uBRgdQWENTAFZESUQgAEAm
TDBTRQEAA0xESVMBAAMACAANTEFTWAEAMkFCUFgBAAJQRENYAQACUERTWAEAAQAoABBQU1BYAQBP
IEQzSFQCAE4ZAB5IUEVYAVBNRVgBADAAAkwyM0UBTDIzUgEAjCABAANMRURNAVuBFVBYQ1NAAEBu
AB5IUFNYAVBNU1gBFBpfU1RBAKAOk1ZESUQM/////6QKAKEEpAoPCExUUlYSCgQKAAoACgAKAAhP
UFRTCgAUQBlfRFNNDAhfVF8xAAhfVF8wAKJGFwFwmWgAX1RfMKBJFpNfVF8wERMKENA3yeVTNXpN
kRfqTRnDQ02iTRQBcJlqAF9UXzGgQgSTX1RfMQoAoDOTaQoCcAoBT1BUU6AQTFRSRX1PUFRTCkBP
UFRToBBPQkZGfU9QVFMKEE9QVFOkT1BUU6EEpAoAoU0PoEEEk19UXzEKBKA3k2kKAqAaT0JGRqQR
EwoQAAAAAAAAAAAAAAAIAAAAAKEWpBETChAAAAAAAAAAAAAAAAAAAAAAoUgLoEULk19UXzEKBqBL
CpNpCgKgTwlMVFJFoEUEkZNMTVNMCgCTTE5TTAoAoBiTUENIUwoBcAtGCExNU0xwC0YITE5TTKEa
oBiTUENIUwoCcAsDEExNU0xwCwMQTE5TTHB7ekxNU0wKCgAKBwCITFRSVgoAAHB7TE1TTAv/AwCI
TFRSVgoBAHB7ekxOU0wKCgAKBwCITFRSVgoCAHB7TE5TTAv/AwCITFRSVgoDAKRMVFJWoQSkCgCl
paQRBAoBABQoSFBNRQigIVBNU1hwCshgohdgcAoBUE1TWKAHUE1TWHZgoQVwCgBgW4JAOEVYUDMI
X0FEUgwCABwACFJJRF8KABQqX0lOSQBwTFRSM0xUUkVwUE1MM0xNU0xwUE5MM0xOU0xwT0JGM09C
RkYIX1BSVxIGAgppCgQITFBSVBJDBQQSEwQL//8KAFwuX1NCX0xOS0MKABITBAv//woBXC5fU0Jf
TE5LRAoAEhMEC///CgJcLl9TQl9MTktBCgASEwQL//8KA1wuX1NCX0xOS0IKAAhBUFJUEjIEEgsE
C///CgAKAAoSEgsEC///CgEKAAoTEgsEC///CgIKAAoQEgsEC///CgMKAAoRFBlfUFJUAKALXEdQ
SUOkQVBSVKEGpExQUlRbgFBYQ1MCCgALgANbgUYHUFhDUwBWRElEIABAJkwwU0UBAANMRElTAQAD
AAgADUxBU1gBADJBQlBYAQACUERDWAEAAlBEU1gBAAEAKAAQUFNQWAEATyBEM0hUAgBOGQAeSFBF
WAFQTUVYAQAwAAJMMjNFAUwyM1IBAIwgAQADTEVETQFbgRVQWENTQABAbgAeSFBTWAFQTVNYARQa
X1NUQQCgDpNWRElEDP////+kCgChBKQKDwhMVFJWEgoECgAKAAoACgAIT1BUUwoAFEAZX0RTTQwI
X1RfMQAIX1RfMACiRhcBcJloAF9UXzCgSRaTX1RfMBETChDQN8nlUzV6TZEX6k0Zw0NNok0UAXCZ
agBfVF8xoEIEk19UXzEKAKAzk2kKAnAKAU9QVFOgEExUUkV9T1BUUwpAT1BUU6AQT0JGRn1PUFRT
ChBPUFRTpE9QVFOhBKQKAKFND6BBBJNfVF8xCgSgN5NpCgKgGk9CRkakERMKEAAAAAAAAAAAAAAA
CAAAAAChFqQREwoQAAAAAAAAAAAAAAAAAAAAAKFIC6BFC5NfVF8xCgagSwqTaQoCoE8JTFRSRaBF
BJGTTE1TTAoAk0xOU0wKAKAYk1BDSFMKAXALRghMTVNMcAtGCExOU0yhGqAYk1BDSFMKAnALAxBM
TVNMcAsDEExOU0xwe3pMTVNMCgoACgcAiExUUlYKAABwe0xNU0wL/wMAiExUUlYKAQBwe3pMTlNM
CgoACgcAiExUUlYKAgBwe0xOU0wL/wMAiExUUlYKAwCkTFRSVqEEpAoApaWkEQQKAQAUKEhQTUUI
oCFQTVNYcArIYKIXYHAKAVBNU1igB1BNU1h2YKEFcAoAYFuCRDdFWFA2CF9BRFIMBQAcAAhSSURf
CgAUKl9JTkkAcExUUjZMVFJFcFBNTDZMTVNMcFBOTDZMTlNMcE9CRjZPQkZGCExQUlQSQwUEEhME
C///CgBcLl9TQl9MTktBCgASEwQL//8KAVwuX1NCX0xOS0IKABITBAv//woCXC5fU0JfTE5LQwoA
EhMEC///CgNcLl9TQl9MTktECgAIQVBSVBIyBBILBAv//woACgAKEBILBAv//woBCgAKERILBAv/
/woCCgAKEhILBAv//woDCgAKExQZX1BSVACgC1xHUElDpEFQUlShBqRMUFJUW4BQWENTAgoAC4AD
W4FGB1BYQ1MAVkRJRCAAQCZMMFNFAQADTERJUwEAAwAIAA1MQVNYAQAyQUJQWAEAAlBEQ1gBAAJQ
RFNYAQABACgAEFBTUFgBAE8gRDNIVAIAThkAHkhQRVgBUE1FWAEAMAACTDIzRQFMMjNSAQCMIAEA
A0xFRE0BW4EVUFhDU0AAQG4AHkhQU1gBUE1TWAEUGl9TVEEAoA6TVkRJRAz/////pAoAoQSkCg8I
TFRSVhIKBAoACgAKAAoACE9QVFMKABRAGV9EU00MCF9UXzEACF9UXzAAokYXAXCZaABfVF8woEkW
k19UXzAREwoQ0DfJ5VM1ek2RF+pNGcNDTaJNFAFwmWoAX1RfMaBCBJNfVF8xCgCgM5NpCgJwCgFP
UFRToBBMVFJFfU9QVFMKQE9QVFOgEE9CRkZ9T1BUUwoQT1BUU6RPUFRToQSkCgChTQ+gQQSTX1Rf
MQoEoDeTaQoCoBpPQkZGpBETChAAAAAAAAAAAAAAAAgAAAAAoRakERMKEAAAAAAAAAAAAAAAAAAA
AAChSAugRQuTX1RfMQoGoEsKk2kKAqBPCUxUUkWgRQSRk0xNU0wKAJNMTlNMCgCgGJNQQ0hTCgFw
C0YITE1TTHALRghMTlNMoRqgGJNQQ0hTCgJwCwMQTE1TTHALAxBMTlNMcHt6TE1TTAoKAAoHAIhM
VFJWCgAAcHtMTVNMC/8DAIhMVFJWCgEAcHt6TE5TTAoKAAoHAIhMVFJWCgIAcHtMTlNMC/8DAIhM
VFJWCgMApExUUlahBKQKAKWlpBEECgEAFChIUE1FCKAhUE1TWHAKyGCiF2BwCgFQTVNYoAdQTVNY
dmChBXAKAGBbgh1TQVQxCF9BRFIMAgAfAAhfUzNECgMIUklEXwoAW4IdU0FUMghfQURSDAUAHwAI
X1MzRAoDCFJJRF8KAFuCRwtTTUJVCF9BRFIMAwAfAAhfUzNECgMIUklEXwoAW4JHCU5GQ18IX0hJ
RAwIbS8qCF9DSUQMCG0vKghfVUlECgAUKV9TVEEAoB2RXC8EX1NCX1BDSTBMUENfTkZDRFxORkNG
pAoAoQSkCg8UE0dQRU4AcAoAXC5fR1BFR1BGRxQ3U05GQwGgGGhwCgBcLwRfU0JfUENJMExQQ19O
RkNQoRdwCgBcLwRfU0JfUENJMExQQ19ORkNQW4KHHwFYSENJCF9BRFIMAAAUAAhfUzNECgMIUklE
XwoACExQVEgKAQhMUFRMCgIIV1BUTAoDFEwEUENIVgCgFZCTUENIRwoBk1BDSFMKAaRMUFRIoBWQ
k1BDSEcKAZNQQ0hTCgKkTFBUTKAVkJNQQ0hHCgKTUENIUwoCpFdQVEykCgBbgFhIQ0ICCgALAAFb
gU8GWEhDQgBEVklEEABAHwALU1dBSQEAFAAMU0FJUAIAEgBAFkQwRDMCAAZQTUVFAQAGUE1FUwEA
QBkADU1XMTMBTVcxNAEAEQAgAA1NQjEzAU1CMTQBABEAQA5QUjJfIFBSMk0gUFIzXyBQUjNNIFuA
WEhDUAByDAAAAPgMAAAKAAALAAFbgRVYSENQEAAgUERCTRAAQAVNQkExIAhYUlNUAAhfUFIwEhkB
XC8FX1NCX1BDSTBMUENfRUNfX1BVQlMIX1BSMRIZAVwvBV9TQl9QQ0kwTFBDX0VDX19QVUJTCF9Q
UjISGQFcLwVfU0JfUENJMExQQ19FQ19fUFVCUwhfUFJXEh0DCm0KA1wvBV9TQl9QQ0kwTFBDX0VD
X19QVUJTFCRDVUlECaAak2gREwoQqRKVfAUXtEyvfVBqJCOrcaQKAaQKABROC1BPU0MLimoKAENE
VzGKagoIQ0RXM6Axk1xYSENJCgB9Q0RXMQoCQ0RXMXAKAFwvBF9TQl9QQ0kwTFBDX1hVU0JwCgBY
UlNUoEEFkntDRFcxCgEAoA17Q0RXMwoBAEVTRUyhNaAaCgCgCZRoCgFTWEhDoQx9Q0RXMQoKQ0RX
MaEYoAmUaAoCU1hIQ6EMfUNEVzEKCkNEVzGkaqAgkJJ7Q0RXMQoBAJGTXFhIQ0kKApNcWEhDSQoD
U1hIQ6RqFEQFRVNFTAigTASRk1xYSENJCgKTXFhIQ0kKA3tQUjNfDMD///9QUjNfe1BSMl8MAID/
/1BSMl9wCgBcLwRfU0JfUENJMExQQ19YVVNCcAoAWFJTVBQVREVIQwBwCgFcWEhDQ1xESUVICgEU
FUVFSEMAcAoAXFhIQ0NcRElFSAoAFEQHU1hIQwBwCgFcLwRfU0JfUENJMExQQ19YVVNCcAoBWFJT
VHAKAGB7UFIzXwzA////YH1gUFIzTVBSM19wCgBge1BSMl8MAID//2B9YFBSMk1QUjJfcAoBXC8E
X1NCX1BDSTBMUENfWFVTQnAKAVxVU0JSFBtfSU5JAKAOXFdJTjhERUhDU1hIQ6EFRUVIQxQJX1Mw
VwCkCgMUTjBfUFMwCKAMk15EVklEC///pABwXk1CQTFicF5QREJNYXteUERCTYAKBgBeUERCTXBe
RDBEM2NwCgBeRDBEM3BcWFdNQl5NQkExfWEKAl5QREJNW4BNQ0ExAFxYV01CCwCQW4EsTUNBMRMA
gHBAAA9BWDE1AQBAOQAfQ0xLMgEAQAoAAkNMSzABAAtDTEsxAaAok1BDSFZMUFRMcAoAXk1CMTNw
CgBeTUIxNHAKAENMSzBwCgBDTEsxoA+TUENIRwoBcAoBQ0xLMqBLH5GQk1BDSFMKApNQQ0hHCgGQ
k1BDSFAKQJNQQ0hHCgJwXFhXTUJjcmMLEAVjW4BQU0NBAGMKQFuBI1BTQ0ETUFNDMSAAQAZQU0My
IABABlBTQzMgAEAGUFNDNCCiPJGRk3tQU0MxC/gDAAvgApN7UFNDMgv4AwAL4AKRk3tQU0MzC/gD
AAvgApN7UFNDNAv4AwAL4AJbIQoKcAoAZHtQU0MxgAoCAGCgHZN7YAz5AwIAAAugAn1gDAAAAIBQ
U0MxfWQKAWR7UFNDMoAKAgBgoB2Te2AM+QMCAAALoAJ9YAwAAACAUFNDMn1kCgJke1BTQzOACgIA
YKAdk3tgDPkDAgAAC6ACfWAMAAAAgFBTQzN9ZAoEZHtQU0M0gAoCAGCgHZN7YAz5AwIAAAugAn1g
DAAAAIBQU0M0fWQKCGSgRQtkcAoAZ6I9k5CQkFBTQzEMAAAIAJBQU0MyDAAACACQkFBTQzMMAAAI
AJBQU0M0DAAACAAKAFsiCgp1Z6AHk2cLLAGloBt7ZAoBAHtQU0MxgAoCAGB9YAwAAP4AUFNDMaAb
e2QKAgB7UFNDMoAKAgBgfWAMAAD+AFBTQzKgG3tkCgQAe1BTQzOACgIAYH1gDAAA/gBQU0MzoBt7
ZAoIAHtQU0M0gAoCAGB9YAwAAP4AUFNDNHAKAUFYMTWgKpGTUENIRwoBkJNQQ0hWV1BUTJNQQ0hQ
CkFwCgBeU1dBSXAKAF5TQUlQe15QREJNgAoCAF5QREJNcGJeTUJBMXBhXlBEQk0URxRfUFMzCHBe
UERCTWFwXk1CQTFie15QREJNgAoGAF5QREJNcAoAXkQwRDNwXFhXTUJeTUJBMX1hCgJeUERCTXAK
AV5QTUVTcAoBXlBNRUVwXFhXTUJgW4BNQ0ExAFxYV01CCwCQW4EuTUNBMRMAgHBAAA9BWDE1AQBA
OQAfQ0xLMgEAQAoAAkNMSzABAAtDTEsxAQARoCiTUENIVkxQVExwCgFeTUIxM3AKAV5NQjE0cAoB
Q0xLMHAKAUNMSzGgD5NQQ0hHCgFwCgBDTEsyoCeRkJNQQ0hTCgKTUENIRwoBkJNQQ0hQCkCTUENI
RwoCcAoAQVgxNaAqkZNQQ0hHCgGQk1BDSFZXUFRMk1BDSFAKQXAKAV5TV0FJcAoBXlNBSVB7XlBE
Qk2ACgIAXlBEQk1wCgNeRDBEM3BiXk1CQTFwYV5QREJNW4JNnlVSVEgIX0FEUgoAW4JJCEhTUDAI
X0FEUgoBFDtfVVBDCAhVUENQEgoECgAKAAoACgCdXFVQQzBVUENQoBWSe1BSMl8KAQBwCgCIVVBD
UAoAAKRVUENQFD9fUExECAhQTERQEQMKEHBcUExEMFBMRFCNUExEUApAVklTX6AVkntQUjJfCgEA
e1ZJU18KAFZJU1+kUExEUFuCSQhIU1AxCF9BRFIKAhQ7X1VQQwgIVVBDUBIKBAoACgAKAAoAnVxV
UEMxVVBDUKAVkntQUjJfCgIAcAoAiFVQQ1AKAACkVVBDUBQ/X1BMRAgIUExEUBEDChBwXFBMRDFQ
TERQjVBMRFAKQFZJU1+gFZJ7UFIyXwoCAHtWSVNfCgBWSVNfpFBMRFBbgkoISFNQMghfQURSCgMU
MF9VUEMICFVQQ1ASCgQKAAoACgAKAJ1cVVBDMlVQQ1CgCpJ7UFIyXwoEAKRVUENQFEsEX1BMRAgI
UExEUBEDChBwXFBMRDJQTERQjVBMRFAKQFZJU1+gFZJ7UFIyXwoEAHtWSVNfCgBWSVNffVZJU18K
AVZJU1+kUExEUFuCSQhIU1AzCF9BRFIKBBQ7X1VQQwgIVVBDUBIKBAoACgAKAAoAnVxVUEMzVVBD
UKAVkntQUjJfCggAcAoAiFVQQ1AKAACkVVBDUBQ/X1BMRAgIUExEUBEDChBwXFBMRDNQTERQjVBM
RFAKQFZJU1+gFZJ7UFIyXwoIAHtWSVNfCgBWSVNfpFBMRFBbgkkISFNQNAhfQURSCgUUO19VUEMI
CFVQQ1ASCgQKAAoACgAKAJ1cVVBDSVVQQ1CgFZJ7UFIyXwoQAHAKAIhVUENQCgAApFVQQ1AUP19Q
TEQICFBMRFARAwoQcFxQTERJUExEUI1QTERQCkBWSVNfoBWSe1BSMl8KEAB7VklTXwoAVklTX6RQ
TERQW4JJCEhTUDUIX0FEUgoGFDtfVVBDCAhVUENQEgoECgAKAAoACgCdXFVQQ0lVUENQoBWSe1BS
Ml8KIABwCgCIVVBDUAoAAKRVUENQFD9fUExECAhQTERQEQMKEHBcUExESVBMRFCNUExEUApAVklT
X6AVkntQUjJfCiAAe1ZJU18KAFZJU1+kUExEUFuCSQhIU1A2CF9BRFIKBxQ7X1VQQwgIVVBDUBIK
BAoACgAKAAoAnVxVUENJVVBDUKAVkntQUjJfCkAAcAoAiFVQQ1AKAACkVVBDUBQ/X1BMRAgIUExE
UBEDChBwXFBMRElQTERQjVBMRFAKQFZJU1+gFZJ7UFIyXwpAAHtWSVNfCgBWSVNfpFBMRFBbgkcM
SFNQNwhfQURSCggUO19VUEMICFVQQ1ASCgQKAAoACgAKAJ1cVVBDSVVQQ1CgFZJ7UFIyXwqAAHAK
AIhVUENQCgAApFVQQ1AUP19QTEQICFBMRFARAwoQcFxQTERJUExEUI1QTERQCkBWSVNfoBWSe1BS
Ml8KgAB7VklTXwoAVklTX6RQTERQW4I8V0NBTQhfQURSCggUFV9TVEEAoAlcV0lOOKQKD6EEpAoA
FAxfVVBDCKRcVVBDSRQMX1BMRAikXFBMRENbgk4KU1NQMBQVX0FEUgCgCVxDUFVGpAoMoQSkCgoU
RgRfVVBDCAhVUENQEgoECgAKAAoACgCdXFVQQzBVUENQoB+RkntQUjJfCgEAkntQUjNfCgEAcAoA
iFVQQ1AKAACkVVBDUBRKBF9QTEQICFBMRFARAwoQcFxQTEQwUExEUI1QTERQCkBWSVNfoB+RkntQ
UjJfCgEAkntQUjNfCgEAe1ZJU18KAFZJU1+kUExEUFuCTgpTU1AxFBVfQURSAKAJXENQVUakCg2h
BKQKCxRGBF9VUEMICFVQQ1ASCgQKAAoACgAKAJ1cVVBDMVVQQ1CgH5GSe1BSMl8KAgCSe1BSM18K
AgBwCgCIVVBDUAoAAKRVUENQFEoEX1BMRAgIUExEUBEDChBwXFBMRDFQTERQjVBMRFAKQFZJU1+g
H5GSe1BSMl8KAgCSe1BSM18KAgB7VklTXwoAVklTX6RQTERQW4JHM1NTUDIUFV9BRFIAoAlcQ1BV
RqQKDqEEpAoMFEYEX1VQQwgIVVBDUBIKBAoACgAKAAoAnVxVUEMyVVBDUKAfkZJ7UFIyXwoEAJJ7
UFIzXwoEAHAKAIhVUENQCgAApFVQQ1AUSgRfUExECAhQTERQEQMKEHBcUExEMlBMRFCNUExEUApA
VklTX6AfkZJ7UFIyXwoEAJJ7UFIzXwoEAHtWSVNfCgBWSVNfpFBMRFBbgjxEQ0FNCF9BRFIKEAhf
VVBDEgoECv8K/woACgAIX1BMRBIaAREXChSCAAAAAAAAACQBgAcAAAAAyACJAFuCPFJDQU0IX0FE
UgoOCF9VUEMSCgQK/wr/CgAKAAhfUExEEhoBERcKFIIAAAAAAAAAJAGABwAAAADIAKEAEEwgXF9T
Ql9bgkMgVkNBTQhfSElEDUlOVDMzQTMACElERlUKABRJDl9TVEEAe1xEVDNEChBkoEMNk2QKEHtc
LwRfU0JfUENJMFhIQ0lNQkExDAAA//9loE0IkpNlDAAA//9bgEhDT1IAe1wvBF9TQl9QQ0kwWEhD
SU1CQTEM8P///wALAAZbgQ9IQ09SEACAqAJQM0NTCHtcRFQzRAqAYKBEBJKTYAqAoDyQXENQVUZc
V0lOOHtQM0NTCgFhoBiQYZKTUDNDUwr/fVxEVDNECoFcRFQzRKEOe1xEVDNECghcRFQzRHtcRFQz
RAoBYntcRFQzRAoIY6ANkZNiCgGTYwoIpAoPoQSkCgChBKQKABRND19EU00MCF9UXzAAoEcOk2gR
EwoQ9w/P9WBdQkiCwPoaYdhz8qJODAFwmWoAX1RfMKAck19UXzAKAKANk5lpAAoApBEECgEHpBEE
CgEAoUQKoEMFk19UXzAKAaAnk4OIawoAAAoAcAoAXC8EX1NCX1BDSTBMUENfRlczRHAKAElERlWh
HnAKAVwvBF9TQl9QQ0kwTFBDX0ZXM0RwCgFJREZVpAoAoU0EoEUEk19UXzAKAqAgk4OIawoAAAoA
cAoAXC8EX1NCX1BDSTBMUENfQ00zRKEXcAoBXC8EX1NCX1BDSTBMUENfQ00zRKQKAKEEpAoApaEH
pBEECgEAW4JOClNTUDMUFV9BRFIAoAlcQ1BVRqQKD6EEpAoNFEYEX1VQQwgIVVBDUBIKBAoACgAK
AAoAnVxVUEMzVVBDUKAfkZJ7UFIyXwoIAJJ7UFIzXwoIAHAKAIhVUENQCgAApFVQQ1AUSgRfUExE
CAhQTERQEQMKEHBcUExEM1BMRFCNUExEUApAVklTX6AfkZJ7UFIyXwoIAJJ7UFIzXwoIAHtWSVNf
CgBWSVNfpFBMRFBbgkxrRUhDMQhfQURSDAAAHQAIX1MzRAoDCFJJRF8KAFuARUhDUwIKAAsAAVuB
FUVIQ1MDAEAxUFdLSQFQV1VDCAAHCF9QUjASGQFcLwVfU0JfUENJMExQQ19FQ19fUFVCUwhfUFIx
EhkBXC8FX1NCX1BDSTBMUENfRUNfX1BVQlMIX1BSMhIZAVwvBV9TQl9QQ0kwTFBDX0VDX19QVUJT
FBRfSU5JAHAKAVBXS0lwCiNQV1VDCF9QUlcSHQMKbQoDXC8FX1NCX1BDSTBMUENfRUNfX1BVQlNb
gkReVVJUSAhfQURSCgBbgkVdVVJNSAhfQURSCgEUDF9VUEMIpFxVUENJFAxfUExECKRcUExESVuC
TwtQUlQwCF9BRFIKARRGBV9VUEMICFVQQ1ASCgQKAAoACgAKAJ1cVVBDMFVQQ1CgCZNcWEhDSQoA
oSWgI3tcLwRfU0JfUENJMFhIQ0lQUjJfCgEAcAoAiFVQQ1AKAACkVVBDUBRKBV9QTEQICFBMRFAR
AwoQcFxQTEQwUExEUI1QTERQCkBWSVNfoAmTXFhIQ0kKAKEloCN7XC8EX1NCX1BDSTBYSENJUFIy
XwoBAHtWSVNfCgBWSVNfpFBMRFBbgk8LUFJUMQhfQURSCgIURgVfVVBDCAhVUENQEgoECgAKAAoA
CgCdXFVQQzFVUENQoAmTXFhIQ0kKAKEloCN7XC8EX1NCX1BDSTBYSENJUFIyXwoCAHAKAIhVUENQ
CgAApFVQQ1AUSgVfUExECAhQTERQEQMKEHBcUExEMVBMRFCNUExEUApAVklTX6AJk1xYSENJCgCh
JaAje1wvBF9TQl9QQ0kwWEhDSVBSMl8KAgB7VklTXwoAVklTX6RQTERQW4JPC1BSVDIIX0FEUgoD
FEsEX1VQQwgIVVBDUBIKBAoACgAKAAoAnVxVUEMyVVBDUKAJk1xYSENJCgChGqAYe1wvBF9TQl9Q
Q0kwWEhDSVBSMl8KBACkVVBDUBRFBl9QTEQICFBMRFARAwoQcFxQTEQyUExEUI1QTERQCkBWSVNf
oAmTXFhIQ0kKAKEloCN7XC8EX1NCX1BDSTBYSENJUFIyXwoEAHtWSVNfCgBWSVNffVZJU18KAVZJ
U1+kUExEUFuCTwtQUlQzCF9BRFIKBBRGBV9VUEMICFVQQ1ASCgQKAAoACgAKAJ1cVVBDM1VQQ1Cg
CZNcWEhDSQoAoSWgI3tcLwRfU0JfUENJMFhIQ0lQUjJfCggAcAoAiFVQQ1AKAACkVVBDUBRKBV9Q
TEQICFBMRFARAwoQcFxQTEQzUExEUI1QTERQCkBWSVNfoAmTXFhIQ0kKAKEloCN7XC8EX1NCX1BD
STBYSENJUFIyXwoIAHtWSVNfCgBWSVNfpFBMRFBbgk8LUFJUNAhfQURSCgUURgVfVVBDCAhVUENQ
EgoECgAKAAoACgCdXFVQQ0lVUENQoAmTXFhIQ0kKAKEloCN7XC8EX1NCX1BDSTBYSENJUFIyXwoQ
AHAKAIhVUENQCgAApFVQQ1AUSgVfUExECAhQTERQEQMKEHBcUExESVBMRFCNUExEUApAVklTX6AJ
k1xYSENJCgChJaAje1wvBF9TQl9QQ0kwWEhDSVBSMl8KEAB7VklTXwoAVklTX6RQTERQW4JPC1BS
VDUIX0FEUgoGFEYFX1VQQwgIVVBDUBIKBAoACgAKAAoAnVxVUENJVVBDUKAJk1xYSENJCgChJaAj
e1wvBF9TQl9QQ0kwWEhDSVBSMl8KIABwCgCIVVBDUAoAAKRVUENQFEoFX1BMRAgIUExEUBEDChBw
XFBMRElQTERQjVBMRFAKQFZJU1+gCZNcWEhDSQoAoSWgI3tcLwRfU0JfUENJMFhIQ0lQUjJfCiAA
e1ZJU18KAFZJU1+kUExEUFuCTwtQUlQ2CF9BRFIKBxRGBV9VUEMICFVQQ1ASCgQKAAoACgAKAJ1c
VVBDSVVQQ1CgCZNcWEhDSQoAoSWgI3tcLwRfU0JfUENJMFhIQ0lQUjJfCkAAcAoAiFVQQ1AKAACk
VVBDUBRKBV9QTEQICFBMRFARAwoQcFxQTERJUExEUI1QTERQCkBWSVNfoAmTXFhIQ0kKAKEloCN7
XC8EX1NCX1BDSTBYSENJUFIyXwpAAHtWSVNfCgBWSVNfpFBMRFBbgkUGUFJUNwhfQURSCggUDF9V
UEMIpFxVUENJFAxfUExECKRcUExESVuCPFdDQU0IX0FEUgoIFBVfU1RBAKAJXFdJTjikCg+hBKQK
ABQMX1VQQwikXFVQQ0kUDF9QTEQIpFxQTERDW4IdSERFRghfQURSDAAAGwAIX1MzRAoDCFJJRF8K
ABBCVlwvBF9TQl9QQ0kwTFBDX0VDX18IQkRFVgr/CEJTVFMKAAhCSEtFCgAUIl9RMkMAoBuTQlNU
UwoAcEJHSUQKAEJERVZOQlJFQkRFVhQZX1EyRABwQkdJRAoAQkRFVk5CSU5CREVWFEQIX1EzOABw
QkdJRAoAYKBPBZNgCg9CRElTXEJIRFAKAQoATkJFSkJERVZwYEJERVagPZNcQklERQoDcAoAXC8F
X1NCX1BDSTBTQVQxUFJJTUdUTUVwCgBcLwVfU0JfUENJMFNBVDFTQ05ER1RNRaEUoAVIUEJVoQxw
YEJERVZOQklOYBRKBE5CUkUBoEIElWgKDKAjk1xCSURFCgOGXC8FX1NCX1BDSTBTQVQxU0NORE1T
VFIKA6EXhlwvBF9TQl9QQ0kwU0FUMVBSVDEKAxRBBk5CRUoBoEwEk0JTVFMKAKBCBJVoCgygI5Nc
QklERQoDhlwvBV9TQl9QQ0kwU0FUMVNDTkRNU1RSCgGhF4ZcLwRfU0JfUENJMFNBVDFQUlQxCgFC
RUVQCgBwCgBCU1RTFE0FTkJJTgGgSASVaAoMQkVOXwoBoCOTXEJJREUKA4ZcLwVfU0JfUENJMFNB
VDFTQ05ETVNUUgoBoReGXC8EX1NCX1BDSTBTQVQxUFJUMQoBQkVFUAoAcAoAQlNUUxRDBUJFSjAB
oEIEaEJESVNcQkhEUAoBCgBwCgFCU1RToCpCSEtFcAoAQkhLRVwvBl9TQl9QQ0kwTFBDX0VDX19I
S0VZTUhLUQsDMKEIcAoAQlNUUxQdQkVKMwGgDWhCRElTcAoBQlNUU6EIcAoAQlNUUxQyQlBUUwFw
CgFIREJNoBeSk0JTVFMKAHAKD0JERVZwCgBCU1RTcAoAQkhLRUJVV0sKABRBCEJXQUsBQlVXSwoA
cEJHSUQKAGCgQgWTQlNUUwoAoBuSk2BCREVWTkJFSkJERVZwYEJERVZOQklOYKEsoCqRXExGREOS
k0JERVYKDaAakpNgCg+gE0hQQlWgBpKUaAoCoQZOQlJFYKAPlUJERVYKDFxVQklTCgChCFxVQklT
CgEUSQVCRElTAKBBBZJcLwRfU0JfUENJMExQQ19DU09OoBySXC8EX1NCX1BDSTBMUENfR0xJU1xV
QklTCgFwCgFcLwRfU0JfUENJMExQQ19DU09OcAoPXElERVQUTwRCUE9OAaBHBFwvBF9TQl9QQ0kw
TFBDX0NTT05wCgBcLwRfU0JfUENJMExQQ19DU09OoBtcLwRfU0JfUENJMExQQ19HTElTXFVCSVMK
ABQnQkVOXwGgIFwvBF9TQl9QQ0kwTFBDX0NTT05CUE9OaKAGaElSRFkUM0JTVEEBoBdcLwRfU0Jf
UENJMExQQ19DU09OpAoAQklOSaANk2gKAaSVQkRFVgoMpAoAFEQGQlVXSwGgP1xIOERSoBxocAoB
XC8FX1NCX1BDSTBMUENfRUNfX0hXQlWhG3AKAFwvBV9TQl9QQ0kwTFBDX0VDX19IV0JVoRygDWhc
TUJFQwoyCv8KgKEMXE1CRUMKMgp/CgAUGkJJTkkAoBOTQkRFVgr/cEJHSUQKAEJERVYUSghCR0lE
AaAGaHAK/2ChSQagElxIOERScEhQQlVhcEhCSURioRhwUkJFQwpHYntiCgFhe2IKBGJ6YgoCYqAG
YnAKD2ChLaAJSERVQnAKD2ChIaAZkZNcSURFVAoDk1xJREVUCgZwXElERVRgoQVwCgdgoAWTYAoP
oA+QXEhEVUKVYAoMcAoPYKRgFDJJUkRZAHAL9AFgcAo8YXAAYqIdYVsiYHBcQkNIS2OgBJJjpaAJ
k2MKAnABYqV2YaRiEEAFXC8EX1NCX1BDSTBMUENfRUNfXxQNX1E0MwBcVUNNUwoYFCxTQVVNAaAG
lGgKA6OhHqAMXEg4RFJwaEhBVU2hD1xNQkVDCgMKn3loCgUAEE4IXC8FX1NCX1BDSTBMUENfRUNf
X0hLRVkUNkdTTVMBcFxBVURDCgAKAGB7YAoBYKAMk2AKAHAKAUYxTEShCHAKAEYxTESkXEFVREMK
AAoAFClTU01TAaAMk2gKAHAKAUYxTEShCHAKAEYxTESkXEFVREMKAXtoCgEAFBNTSERBAaRcQVVE
QwoCe2gKAQAQRnlcLwRfU0JfUENJMExQQ19FQ19fCEJSVFcSJhIKZApkCgUKCgoUChkKHgojCigK
LQoyCjcKPApBCkYKUApaCmQIQlJUQhJCDwUSMBYKHgoDCgMKBgoJCgwKDwoTChcKHAohCigKMgpB
ClgKfQq5Cv8LkwMLkwMKAwoDEi4WChkKBAoECgYKCAoLCg8KFAobCiQKMQo/ClAKZgqCCqUKzQr/
CtwK3AoECgQSLhYKFAoECgQKCAoMChMKGQogCicKMAo5CkMKTgpcCnEKiwq0Cv8K3ArcCgQKBBIw
FgooCgMKAwoECgYKCAoKCgwKEQoYCiAKLAo7ClAKbAqSCsEK/wuTAwuTAwoDCgMSLhYKAAoECgQK
BwoJCgwKEAoVChwKJQoyCkAKUApkCoIKpQrNCv8K3ArcCgQKBAhCUlREEkszBBJNDGUKAwoECgUK
BgoHCggKCQoKCgsKDAoNCg4KDwoQChEKEgoTChQKFQoWChcKGAoZChoKHAodCh8KIQoiCiQKJgoo
CioKLAouCjAKMwo1CjcKOgo8Cj8KQQpECkYKSQpMCk8KUQpUClcKWgpdCmEKZApnCmoKbgpxCnUK
eAp8CoAKgwqHCosKjwqTCpcKmwqfCqMKqAqsCrAKtQq5Cr4KwwrHCswKzgrRCtMK1grYCtsK3Qrg
CuIK5QrnCuoK7ArvCvIK9Ar3CvoK/Ar/Ek0MZQoDCgQKBQoGCgcKCAoJCgoKCwoMCg0KDgoPChAK
EQoSChMKFAoVChYKFwoYChkKGgobChwKHQoeCh8KIAohCiIKIwolCiYKKAoqCiwKLgovCjEKMwo1
CjcKOgo8Cj4KQApCCkUKRwpKCkwKTgpRClQKVgpZClwKXgphCmQKZwpqCm0KcApzCnYKeQp9CoAK
gwqGCooKjQqRCpQKmAqcCp8KowqnCqsKrwq0CrgKvArBCsUKygrOCtMK2ArcCuEK5grrCvAK9Qr6
Cv8STQxlCgMKBAoFCgYKBwoICgkKCgoLCgwKDQoOCg8KEAoRChIKEwoUChUKFgoXChgKGQoaChwK
HQofCiEKIgokCiYKKAoqCiwKLgowCjMKNQo3CjoKPAo/CkEKRApGCkkKTApPClEKVApXCloKXQph
CmQKZwpqCm4KcQp1CngKfAqACoMKhwqLCo8KkwqXCpsKnwqjCqgKrAqwCrUKuQq+CsMKxwrMCs4K
0QrTCtYK2ArbCt0K4AriCuUK5wrqCuwK7wryCvQK9wr6CvwK/xJNDGUKAwoECgUKBgoHCggKCQoK
CgsKDAoNCg4KDwoQChEKEgoTChQKFQoWChcKGAoZChoKHAodCh8KIQoiCiQKJgooCioKLAouCjAK
Mwo1CjcKOgo8Cj8KQQpECkYKSQpMCk8KUQpUClcKWgpdCmEKZApnCmoKbgpxCnUKeAp8CoAKgwqH
CosKjwqTCpcKmwqfCqMKqAqsCrAKtQq5Cr4KwwrHCswKzgrRCtMK1grYCtsK3QrgCuIK5QrnCuoK
7ArvCvIK9Ar3CvoK/Ar/FEoOX1ExNACgPVwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLSwsAgFwv
Bl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsQEKA/XE5CQ0agHFxWSUdEhlwvBF9TQl9QQ0kwVklE
X0xDRDAKhqEbhlwvBV9TQl9QQ0kwUEVHX1ZJRF9MQ0QwCoahRAZwXEJSTFZgoA+Sk2AKD3VgcGBc
QlJMVqAkXFZJR0RcVUNNUwoWXC8FX1NCX1BDSTBMUENfRUNfX0JSTlOhB1xWQlJDYFwvBl9TQl9Q
Q0kwTFBDX0VDX19IS0VZTUhLUQtQYBRKDl9RMTUAoD9cLwZfU0JfUENJMExQQ19FQ19fSEtFWU1I
S0sMAAABAFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsREKA/XE5CQ0agHFxWSUdEhlwvBF9T
Ql9QQ0kwVklEX0xDRDAKh6EbhlwvBV9TQl9QQ0kwUEVHX1ZJRF9MQ0QwCoehQAZwXEJSTFZgoAtg
dmBwYFxCUkxWoCRcVklHRFxVQ01TChZcLwVfU0JfUENJMExQQ19FQ19fQlJOU6EHXFZCUkNgXC8G
X1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRC1BgpAAUTAtCUk5TAHJcQlJMVgoCYHBcQlJUTmOgSwlc
LwRfU0JfUENJMFZJRF9EUkRZoCOTCgBgcIOIg4hCUlRCYwAKFABhcIOIg4hCUlRCYwAKEgBioR9w
g4iDiEJSVEJjAAoVAGFwg4iDiEJSVEJjAAoTAGJ9YXliCgkAYlwvBF9TQl9QQ0kwVklEX0FJTlQK
A2Jwg4iDiEJSVEJjAGAAYlwvBF9TQl9QQ0kwVklEX0FJTlQKAWKhCFxVQ01TChIUKkJSQ0YBoAiV
aAoApAoAoAiUaApkpAoPcmgKA2B3YAoPYHhgCmRgYaRhFBpCUkNEAXCDiIOIQlJURFxCUlROAGgA
YKRgFEIEQkZSUQBwDAABAIBgcIOIg4hCUlRCXEJSVE4AChMAYX15YQoJAGBgcIOIg4hCUlRCXEJS
VE4AChUAYX1hYGCkYBBEBlwvBF9TQl9QQ0kwTFBDX0VDX18UTgRfUTE5AKA/XC8GX1NCX1BDSTBM
UENfRUNfX0hLRVlNSEtLDAAAgABcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS1ELGBBcVUNNUwoD
EEQGXC8EX1NCX1BDSTBMUENfRUNfXxROBF9RNjMAoD9cLwZfU0JfUENJMExQQ19FQ19fSEtFWU1I
S0sMAAAIAFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsUEFxVQ01TCgsQQgtcLwRfU0JfUENJ
MExQQ19FQ19fFApfUTcwAEZOU1QUCl9RNzIARk5TVBQKX1E3MwBGTlNUFEsHRk5TVACgElxIOERS
cEhGTlNgcEhGTkVhoRd7XFJCRUMKDgoDYHtcUkJFQwoACghhoEgEYaAMk2AKAFxVQ01TChGgDJNg
CgFcVUNNUwoPoAyTYAoCXFVDTVMKEFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsFYBA9XC8F
X1NCX1BDSTBMUENfRUNfX0hLRVkUEEdIU0wBpFxGTlNDCgAKABQTU0hTTAGkXEZOU0MKAXtoCgEA
EEpsXC8FX1NCX1BDSTBMUENfRUNfX0hLRVkIV0dGTAoAFAlXU0lGAKQKABRIC0dXTFMAoDJcLwVf
U0JfUENJMExQQ19FQ19fRENCRHAKAVwvBV9TQl9QQ0kwTFBDX0VDX19SQ0JEoDJcLwVfU0JfUENJ
MExQQ19FQ19fRENXTHAKAVwvBV9TQl9QQ0kwTFBDX0VDX19SQ1dMoDJcLwVfU0JfUENJMExQQ19F
Q19fRENXV3AKAVwvBV9TQl9QQ0kwTFBDX0VDX19SQ1dXpFwvBV9TQl9QQ0kwTFBDX0VDX19HU1RT
FEUNU1dMUwGgTwl7aAoBAKAhk1wvBV9TQl9QQ0kwTFBDX0VDX19SQ1dMCgFMUFdDCgGhB0xQV0MK
AKAhk1wvBV9TQl9QQ0kwTFBDX0VDX19SQ0JECgFCUFdDCgGhB0JQV0MKAKAhk1wvBV9TQl9QQ0kw
TFBDX0VDX19SQ1dXCgFXUFdDCgGhB1dQV0MKAHAKAVwvBV9TQl9QQ0kwTFBDX0VDX19HU1RToS1M
UFdDCgBCUFdDCgBXUFdDCgBwCgBcLwVfU0JfUENJMExQQ19FQ19fR1NUUxQ5R1dMTgBwCgBgoA97
V0dGTAsAAQB9YAoBYKAMe1dHRkwLAAgApGCgCkxQV1N9YAoCYH1gCgRgpGAUQAVTV0xOAaAme2gK
AgBMUFdDCgFwCgFcLwVfU0JfUENJMExQQ19FQ19fUkNXTKEhTFBXQwoAcAoAXC8FX1NCX1BDSTBM
UENfRUNfX1JDV0wUO0xQV1MAoB9cSDhEUnBcLwVfU0JfUENJMExQQ19FQ19fRENXTGChEnB6e1xS
QkVDCjoKIAAKBQBgpGAURQpMUFdDAaBIBZBokHtXR0ZMCwABAJJ7V0dGTAsACACgH1xIOERScAFc
LwVfU0JfUENJMExQQ19FQ19fRENXTKEMXE1CRUMKOgr/CiBwAVxSRk9GfVdHRkwLAAJXR0ZMoUQE
oB9cSDhEUnAAXC8FX1NCX1BDSTBMUENfRUNfX0RDV0yhDFxNQkVDCjoK3woAcABcUkZPRntXR0ZM
gAsAAgBXR0ZMFDdHV0FOAHAKAGCgDntXR0ZMCgEAfWAKAWCgC3tXR0ZMCggApGCgCldQV1N9YAoC
YH1gCgRgpGAUQAVTV0FOAaAme2gKAgBXUFdDCgFwCgFcLwVfU0JfUENJMExQQ19FQ19fUkNXV6Eh
V1BXQwoAcAoAXC8FX1NCX1BDSTBMUENfRUNfX1JDV1cUN0dCREMAcAoAYKAOe1dHRkwKEAB9YAoB
YKALe1dHRkwKgACkYKAKQlBXU31gCgJgfWAKBGCkYBRABVNCREMBoCZ7aAoCAEJQV0MKAXAKAVwv
BV9TQl9QQ0kwTFBDX0VDX19SQ0JEoSFCUFdDCgBwCgBcLwVfU0JfUENJMExQQ19FQ19fUkNCRBQ7
V1BXUwCgH1xIOERScFwvBV9TQl9QQ0kwTFBDX0VDX19EQ1dXYKEScHp7XFJCRUMKOgpAAAoGAGCk
YBRCCVdQV0MBoE4EkGiQe1dHRkwKAQCSe1dHRkwKCACgH1xIOERScAFcLwVfU0JfUENJMExQQ19F
Q19fRENXV6EMXE1CRUMKOgr/CkB9V0dGTAoCV0dGTKE7oB9cSDhEUnAAXC8FX1NCX1BDSTBMUENf
RUNfX0RDV1ehDFxNQkVDCjoKvwoAe1dHRkyACgIAV0dGTBQ7QlBXUwCgH1xIOERScFwvBV9TQl9Q
Q0kwTFBDX0VDX19EQ0JEYKEScHp7XFJCRUMKOgoQAAoEAGCkYBRBCkJQV0MBoEUFkGiQe1dHRkwK
EACSe1dHRkwKgACgH1xIOERScAFcLwVfU0JfUENJMExQQ19FQ19fRENCRKEMXE1CRUMKOgr/ChBw
AVxCVE9OfVdHRkwKIFdHRkyhQwSgH1xIOERScABcLwVfU0JfUENJMExQQ19FQ19fRENCRKEMXE1C
RUMKOgrvCgBwAFxCVE9Oe1dHRkyACiAAV0dGTBRDCFdHSU4AcAoAV0dGTHBcV0dTVgoBV0dGTKA0
XFdJTjigDpBXR0ZMChBCUFdDCgGgD5BXR0ZMCwABTFBXQwoBoA6QV0dGTAoBV1BXQwoBoBBXUFdT
fVdHRkwKAldHRkygEEJQV1N9V0dGTAogV0dGTKARTFBXU31XR0ZMCwACV0dGTBQoV0dQUwGgIZKV
aAoEoBqQe1dHRkwKEAB7V0dGTAsAAQBcQkxUSAoFFDdXR1dLAaAPe1dHRkwKIABCUFdDCgGgD3tX
R0ZMCgIAV1BXQwoBoBB7V0dGTAsAAgBMUFdDCgEQOVwvBF9TQl9QQ0kwTFBDX0VDX18UJF9RNDEA
XC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCwBwW4KHLAJXTUkxCF9ISUQMQdAMFAhfVUlECgEI
X1dERxFICwq0DiP1UXeWzUahz8CyPuNNt0EwUAVkmkeY9TMzTqcHjiUeu8OhQTEBBu9US2rtpTNN
lFWw2bSN9LNBMgEGtuvxdHqSfUyV32mOIegOtUEzAQb/BO9+KEN8RLW71EmSXVONQTQBBp4V24oy
HlxFvJMwin7ZgkZBNQEB/dlRJhyRaUu5TtDe1ZY710E2AQYaZWRzLxPnT62qQMbH7i47QTcBBiES
kAVm1dERsvAAoMkGKRBCQQEACFJFVE4SSgQFDVN1Y2Nlc3MADU5vdCBTdXBwb3J0ZWQADUludmFs
aWQgUGFyYW1ldGVyAA1BY2Nlc3MgRGVuaWVkAA1TeXN0ZW0gQnVzeQAISVRFTRJJhlcSDwIKDg1X
YWtlT25MQU4AEhoCCgANRXRoZXJuZXRMQU5PcHRpb25ST00AEhQCCgANVVNCQklPU1N1cHBvcnQA
EhECCgANQWx3YXlzT25VU0IAEhACCgENVHJhY2tQb2ludAASDgIKAQ1Ub3VjaFBhZAASDwIKAA1G
bktleUxvY2sAEhUCCgQNVGhpbmtQYWROdW1Mb2NrABIUAgoMDVBvd2VyT25OdW1Mb2NrABIXAgoF
DUJvb3REaXNwbGF5RGV2aWNlABIPAgoADVNwZWVkU3RlcAASIQIKCQ1BZGFwdGl2ZVRoZXJtYWxN
YW5hZ2VtZW50QUMAEiYCCgkNQWRhcHRpdmVUaGVybWFsTWFuYWdlbWVudEJhdHRlcnkAEhACCgYN
Q0RST01TcGVlZAASGAIKAQ1DUFVQb3dlck1hbmFnZW1lbnQAEhYCCgANUG93ZXJDb250cm9sQmVl
cAASFQIKAA1Mb3dCYXR0ZXJ5QWxhcm0AEhICCgANUGFzc3dvcmRCZWVwABISAgoADUtleWJvYXJk
QmVlcAASGAIKAA1FeHRlbmRlZE1lbW9yeVRlc3QAEhgCCgcNU0FUQUNvbnRyb2xsZXJNb2RlABIZ
AgoADUNvcmVNdWx0aVByb2Nlc3NpbmcAEh4CCgANVmlydHVhbGl6YXRpb25UZWNobm9sb2d5ABIV
AgoADUxvY2tCSU9TU2V0dGluZwASGwIKCw1NaW5pbXVtUGFzc3dvcmRMZW5ndGgAEiICCgANQklP
U1Bhc3N3b3JkQXRVbmF0dGVuZGVkQm9vdAASKQIKAA1GaW5nZXJwcmludFByZWRlc2t0b3BBdXRo
ZW50aWNhdGlvbgASHwIKCA1GaW5nZXJwcmludFJlYWRlclByaW9yaXR5ABIdAgoDDUZpbmdlcnBy
aW50U2VjdXJpdHlNb2RlABISAgoCDVNlY3VyaXR5Q2hpcAASGgIKAA1CSU9TVXBkYXRlQnlFbmRV
c2VycwASHQIKAA1EYXRhRXhlY3V0aW9uUHJldmVudGlvbgASFwIKAA1FdGhlcm5ldExBTkFjY2Vz
cwASFwIKAA1XaXJlbGVzc0xBTkFjY2VzcwASFwIKAA1XaXJlbGVzc1dBTkFjY2VzcwASFQIKAA1C
bHVldG9vdGhBY2Nlc3MAEhcCCgANV2lyZWxlc3NVU0JBY2Nlc3MAEhECCgANTW9kZW1BY2Nlc3MA
EhMCCgANVVNCUG9ydEFjY2VzcwASFAIKAA1JRUVFMTM5NEFjY2VzcwASFwIKAA1FeHByZXNzQ2Fy
ZEFjY2VzcwASGgIKAA1QQ0lFeHByZXNzU2xvdEFjY2VzcwASFAIKAA1VbHRyYWJheUFjY2VzcwAS
GgIKAA1NZW1vcnlDYXJkU2xvdEFjY2VzcwASGQIKAA1TbWFydENhcmRTbG90QWNjZXNzABIcAgoA
DUludGVncmF0ZWRDYW1lcmFBY2Nlc3MAEhYCCgANTWljcm9waG9uZUFjY2VzcwASDgIKCg1Cb290
TW9kZQASFwIKAA1TdGFydHVwT3B0aW9uS2V5cwASHQIKAA1Cb290RGV2aWNlTGlzdEYxMk9wdGlv
bgASDwIKZA1Cb290T3JkZXIAEhECCgANV2lNQVhBY2Nlc3MAEhQCCg0NR3JhcGhpY3NEZXZpY2UA
EhACCgANVFhURmVhdHVyZQASEAIKAA1WVGRGZWF0dXJlABIQAgoPDUFNVENvbnRyb2wAEicCCgAN
RmluZ2VycHJpbnRQYXNzd29yZEF1dGhlbnRpY2F0aW9uABIdAgoADUZpbmdlcnByaW50UmVhZGVy
QWNjZXNzABImAgoADU9zRGV0ZWN0aW9uRm9yU3dpdGNoYWJsZUdyYXBoaWNzABIgAgoPDUNvbXB1
dHJhY2VNb2R1bGVBY3RpdmF0aW9uABIfAgoBDVBDSUV4cHJlc3NQb3dlck1hbmFnZW1lbnQAEhkC
Cg8NQVRwTW9kdWxlQWN0aXZhdGlvbgASFQIKAA1lU0FUQVBvcnRBY2Nlc3MAEh0CCgANSGFyZHdh
cmVQYXNzd29yZE1hbmFnZXIAEh4CCgANSHlwZXJUaHJlYWRpbmdUZWNobm9sb2d5ABITAgoADUZu
Q3RybEtleVN3YXAAEhoCCgANQklPU1Bhc3N3b3JkQXRSZWJvb3QAEhICCgANT25CeUFjQXR0YWNo
ABIRAgpkDU5ldHdvcmtCb290ABITAgoADUJvb3RPcmRlckxvY2sAEg8CChANVVNCMzBNb2RlABIW
AgoRDUV4cHJlc3NDYXJkU3BlZWQAEhoCCgANUmFwaWRTdGFydFRlY2hub2xvZ3kAEhoCChINS2V5
Ym9hcmRJbGx1bWluYXRpb24AEhYCCgANSVB2NE5ldHdvcmtTdGFjawASFgIKAA1JUHY2TmV0d29y
a1N0YWNrABIZAgoTDVVlZmlQeGVCb290UHJpb3JpdHkAEiUCCgANUGh5c2ljYWxQcmVzZW5jZUZv
clRwbVByb3Zpc2lvbgASIQIKAA1QaHlzaWNhbFByZXNlbmNlRm9yVHBtQ2xlYXIAEh4CCgANU2Vj
dXJlUm9sbEJhY2tQcmV2ZW50aW9uABIQAgoADVNlY3VyZUJvb3QAEg8CCgANTmZjQWNjZXNzABIf
AgoADUJvdHRvbUNvdmVyVGFtcGVyRGV0ZWN0ZWQAEiACCgANUGFzc3dvcmRDb3VudEV4Y2VlZGVk
RXJyb3IAEiICCgANQklPU1Bhc3N3b3JkQXRCb290RGV2aWNlTGlzdAASGQIKFA1Ub3RhbEdyYXBo
aWNzTWVtb3J5ABIXAgoVDUJvb3RUaW1lRXh0ZW5zaW9uAAhWU0VMEk4oFhITAg1EaXNhYmxlAA1F
bmFibGUAEhYCDURpc2FibGUADUF1dG9tYXRpYwASJQQNQWN0aXZlAA1JbmFjdGl2ZQANRGlzYWJs
ZQANRW5hYmxlABIQAg1Ob3JtYWwADUhpZ2gAEh0CDUluZGVwZW5kZW50AA1TeW5jaHJvbml6ZWQA
EiIEDUxDRAANVkdBAA1EaWdpdGFsAA1Eb2NrRGlzcGxheQASGAMNSGlnaAANTm9ybWFsAA1TaWxl
bnQAEhcCDUNvbXBhdGliaWxpdHkADUFIQ0kAEhoCDUV4dGVybmFsAA1JbnRlcm5hbE9ubHkAEiEC
DU1heGltaXplUGVyZm9ybWFuY2UADUJhbGFuY2VkABIWAg1RdWljawANRGlhZ25vc3RpY3MAEikK
DURpc2FibGUADTQADTUADTYADTcADTgADTkADTEwAA0xMQANMTIAEhEDDUF1dG8ADU9uAA1PZmYA
Ei0DDUludGVncmF0ZWRHZngADURpc2NyZXRlR2Z4AA1Td2l0Y2hhYmxlR2Z4ABIpBA1EaXNhYmxl
AA1BQ09ubHkADUFDYW5kQmF0dGVyeQANRW5hYmxlABIcAw1EaXNhYmxlAA1FbmFibGUADURpc2Fi
bGUAEh4DDURpc2FibGUADUVuYWJsZQANQXV0b21hdGljABIaAg1HZW5lcmF0aW9uMQANQXV0b21h
dGljABInAw1UaGlua0xpZ2h0T25seQANQmFja2xpZ2h0T25seQANQm90aAASGAINSVB2NkZpcnN0
AA1JUHY0Rmlyc3QAEhACDTI1Nk1CAA01MTJNQgASJQsNRGlzYWJsZQANMQANMgANMwANAA01AA0A
DQANAA0ADTEwAAhWTFNUEkgHDw1IREQwAA1IREQxAA1IREQyAA1IREQzAA1IREQ0AA1QQ0lMQU4A
DUFUQVBJQ0QwAA1BVEFQSUNEMQANQVRBUElDRDIADVVTQkZERAANVVNCQ0QADVVTQkhERAANT3Ro
ZXJIREQADU90aGVyQ0QADU5PREVWAAhQRU5DEhMCDWFzY2lpAA1zY2FuY29kZQAIUEtCRBIOAw11
cwANZnIADWdyAAhQVFlQEjYIDXBhcAANcG9wAA11aGRwMQANbWhkcDEADXVoZHAyAA1taGRwMgAN
dWhkcDMADW1oZHAzAFsBTVdNSQcIUENGRxEDChgISUJVRhEECwABCElMRU4KAAhQU1RSEQMKgRRN
IldRQTABWyNNV01J//+gFpKTXFdNSVMKAGgKAFsnTVdNSaQNAHCDiElURU1cV0lUTQBgcIOIYAoA
AGFwg4hgCgEAYqAhlWEKZHNiDSwAZnCDiFZTRUxhAGNzZoOIY1xXU0VMAGehThtwh1ZMU1RjoB6S
lFxXTFMwY3NiDSwAZ3Nng4hWTFNUXFdMUzAAYqAekpRcV0xTMWNzYg06AGdzZ4OIVkxTVFxXTFMx
AGKgHpKUXFdMUzJjc2INOgBnc2eDiFZMU1RcV0xTMgBioB6SlFxXTFMzY3NiDToAZ3Nng4hWTFNU
XFdMUzMAYqAekpRcV0xTNGNzYg06AGdzZ4OIVkxTVFxXTFM0AGKgHpKUXFdMUzVjc2INOgBnc2eD
iFZMU1RcV0xTNQBioB6SlFxXTFM2Y3NiDToAZ3Nng4hWTFNUXFdMUzYAYqAekpRcV0xTN2NzYg06
AGdzZ4OIVkxTVFxXTFM3AGKgHpKUXFdMUzhjc2INOgBnc2eDiFZMU1RcV0xTOABioB6SlFxXTFM5
Y3NiDToAZ3Nng4hWTFNUXFdMUzkAYqAekpRcV0xTQWNzYg06AGdzZ4OIVkxTVFxXTFNBAGKgHpKU
XFdMU0Jjc2INOgBnc2eDiFZMU1RcV0xTQgBioB6SlFxXTFNDY3NiDToAZ3Nng4hWTFNUXFdMU0MA
YqAekpRcV0xTRGNzYg06AGdzZ4OIVkxTVFxXTFNEAGJwYmdbJ01XTUmkZxRHBVdNQTEDWyNNV01J
//+gCpOHagoAcAoCYKEtcENBUkdqYKAkk2AKAHBXU0VUSVRFTVZTRUxgoBCTYAoAcFxXTUlTCgEK
AGBbJ01XTUmkg4hSRVROYAAUQgVXTUEyA1sjTVdNSf//cENBUkdqYKAsk2AKAKAVkpNJTEVOCgBw
Q1BBU0lCVUYKAGCgEJNgCgBwXFdNSVMKAgoAYFsnTVdNSaSDiFJFVE5gABRCBVdNQTMDWyNNV01J
//9wQ0FSR2pgoCyTYAoAoBWSk0lMRU4KAHBDUEFTSUJVRgoAYKAQk2AKAHBcV01JUwoDCgBgWydN
V01JpIOIUkVUTmAAFEIFV01BNANbI01XTUn//3BDQVJHamCgLJNgCgCgFZKTSUxFTgoAcENQQVNJ
QlVGCgBgoBCTYAoAcFxXTUlTCgQKAGBbJ01XTUmkg4hSRVROYAAUSQdXUUE1AVsjTVdNSf//cFxX
TUlTCgUKAGBwXFdTUE2IUENGRwoAAHBcV1NQU4hQQ0ZHCgQAcFxXU01OiFBDRkcKCABwXFdTTViI
UENGRwoMAHBcV1NFTohQQ0ZHChAAcFxXU0tCiFBDRkcKFABbJ01XTUmkUENGRxRNBVdNQTYDWyNN
V01J//+gCpOHagoAcAoCYKEzcENBUkdqYKAqk2AKAKATkpNJTEVOCgBwU1BBU0lCVUZgoBCTYAoA
cFxXTUlTCgYKAGBbJ01XTUmkg4hSRVROYAAUTAtXTUE3A6AJk4dqCgCkDQBwQ0FSR2pgoEEKk2AK
AHBHSVRNSUJVRklURU1hoAeTYf+kDQBwg4hJVEVNYQBgcIOIYAoAAGGgP5VhCmRwg4hWU0VMYQBj
cIOIYwoAAGJwh2NkcAoBZaIflWVkcIOIY2UAZqARkpOHZgoAc2INLABnc2dmYnVloTJwg4hWTFNU
CgAAYnCHVkxTVGRwCgFlohqVZWRwg4hWTFNUZQBmc2INLABnc2dmYnVlpGIUQAdDQVJHAXCHaGCg
FpNgCgBwCgBJQlVGcAoASUxFTqQKAKAKkpOOaAoCpAoCoAmSlWAK/6QKAnBoSUJVRnZgcIOISUJV
RmAAYaAakZNhCjuTYQoqcAoAiElCVUZgAHBgSUxFTqEIcIdoSUxFTqQKABRBB1NDTVADcIdoYKAI
k2AKAKQKAHVgCFNUUjERAmBwaFNUUjF2YHAKAGFwamKiIpVhYHCDiFNUUjFhAGNwg4hpYgBkoAiS
k2NkpAoAdWF1YnCDiGliAGSgCJNkCgCkCgGgDZGTZAosk2QKOqQKAaQKABQvR0lUTQJwCgBgcIdp
YaIelWBhcIOIg4hpYAAKAQBjoAtTQ01QY2gKAKRgdWCk/xQpR1NFTANwCgBgcIdoYaIYlWBhcIOI
aGAAYqAKU0NNUGJpaqRgdWCk/xQQU0xFTgJwg4hoaQBgpIdgFBZDTFJQAHAKAFxXUEFTcAoAXFdQ
TlcUTARHUEFTAnBpYHAKAGGiMZKUYQqAcIOIaGAAYqAWkZNiCiyTYgoAcAoAiFBTVFJhAKRhcGKI
UFNUUmEAdWB1YXAKAIhQU1RSYQCk/xRDCUNQQVMCQ0xSUHBpYHBHUEFTaGBhoAeTYf+kCgKgCJNh
CgCkCgJwUFNUUlxXUEFTcmBhYHVgcEdTRUxQRU5DaGBmoAeTZv+kCgJwZlxXRU5DoD2TZgoAcmBT
TEVOUEVOQwoAYKANkpODiGhgAAospAoCdWBwR1NFTFBLQkRoYGagB5Nm/6QKAnBmXFdLQkSkCgAU
Tg9TUEFTAUNMUlBwR1NFTFBUWVBoCgBmoAeTZv+kCgJwZlxXUFRZcFNMRU5QVFlQZmCgDZKTg4ho
YAAKLKQKAnVgcEdQQVNoYGGgDJGTYf+TYQoApAoCcFBTVFJcV1BBU3JgYWCgDZKTg4hoYAAKLKQK
AnVgcEdQQVNoYGGgB5Nh/6QKAqAMk2EKAHAKAFBTVFJwUFNUUlxXUE5XcmBhYHVgcEdTRUxQRU5D
aGBmoAeTZv+kCgJwZlxXRU5DoD2TZgoAcmBTTEVOUEVOQwoAYKANkpODiGhgAAospAoCdWBwR1NF
TFBLQkRoYGagB5Nm/6QKAnBmXFdLQkSkCgAUS0hXU0VUAnBJTEVOYHVgcEdJVE1JQlVGaGGgB5Nh
/6QKAnBhXFdJVE1wg4hoYQBjcIOIYwoBAGRwh2RidWJwg4hjCgAAZKA6lWQKZHCDiGlkAGVwR1NF
TGVJQlVGYmagB5Nm/6QKAnBmXFdTRUxyYlNMRU5lZmJwg4hJQlVGYgBkoUY+cAo/XFdMUzBwCj9c
V0xTMXAKP1xXTFMycAo/XFdMUzNwCj9cV0xTNHAKP1xXTFM1cAo/XFdMUzZwCj9cV0xTN3AKP1xX
TFM4cAo/XFdMUzlwCj9cV0xTQXAKP1xXTFNCcAo/XFdMU0NwCj9cV0xTRHBHU0VMVkxTVElCVUZi
ZqAHk2b/pAoCcGZcV0xTMHJiU0xFTlZMU1RmYnCDiElCVUZiAGSgP5CVYmCTZAo6dWJwR1NFTFZM
U1RJQlVGYmagB5Nm/6QKAnBmXFdMUzFyYlNMRU5WTFNUZmJwg4hJQlVGYgBkoD+QlWJgk2QKOnVi
cEdTRUxWTFNUSUJVRmJmoAeTZv+kCgJwZlxXTFMycmJTTEVOVkxTVGZicIOISUJVRmIAZKA/kJVi
YJNkCjp1YnBHU0VMVkxTVElCVUZiZqAHk2b/pAoCcGZcV0xTM3JiU0xFTlZMU1RmYnCDiElCVUZi
AGSgP5CVYmCTZAo6dWJwR1NFTFZMU1RJQlVGYmagB5Nm/6QKAnBmXFdMUzRyYlNMRU5WTFNUZmJw
g4hJQlVGYgBkoD+QlWJgk2QKOnVicEdTRUxWTFNUSUJVRmJmoAeTZv+kCgJwZlxXTFM1cmJTTEVO
VkxTVGZicIOISUJVRmIAZKA/kJViYJNkCjp1YnBHU0VMVkxTVElCVUZiZqAHk2b/pAoCcGZcV0xT
NnJiU0xFTlZMU1RmYnCDiElCVUZiAGSgP5CVYmCTZAo6dWJwR1NFTFZMU1RJQlVGYmagB5Nm/6QK
AnBmXFdMUzdyYlNMRU5WTFNUZmJwg4hJQlVGYgBkoD+QlWJgk2QKOnVicEdTRUxWTFNUSUJVRmJm
oAeTZv+kCgJwZlxXTFM4cmJTTEVOVkxTVGZicIOISUJVRmIAZKA/kJViYJNkCjp1YnBHU0VMVkxT
VElCVUZiZqAHk2b/pAoCcGZcV0xTOXJiU0xFTlZMU1RmYnCDiElCVUZiAGSgP5CVYmCTZAo6dWJw
R1NFTFZMU1RJQlVGYmagB5Nm/6QKAnBmXFdMU0FyYlNMRU5WTFNUZmJwg4hJQlVGYgBkoD+QlWJg
k2QKOnVicEdTRUxWTFNUSUJVRmJmoAeTZv+kCgJwZlxXTFNCcmJTTEVOVkxTVGZicIOISUJVRmIA
ZKA/kJViYJNkCjp1YnBHU0VMVkxTVElCVUZiZqAHk2b/pAoCcGZcV0xTQ3JiU0xFTlZMU1RmYnCD
iElCVUZiAGSgP5CVYmCTZAo6dWJwR1NFTFZMU1RJQlVGYmagB5Nm/6QKAnBmXFdMU0RyYlNMRU5W
TFNUZmJwg4hJQlVGYgBkoB+Qk2QKLJViYHVicENQQVNJQlVGYmCgCJKTYAoApGCkCgAIV1FCQRFC
igudCEZPTUIBAAAAjQgAAPI2AABEUwABGn3aVKjJmgABBhhCEBMQCg0hAguDUEwYFKBFQcgFFJUC
IcMCFAtwLkC6AOUocgwiAvfvDzEOiBRASCaERABTIXCEoF8BCB2iyaAApwiCtGUBugX4FqAdQmgV
CjApwCeYLAqQDSbbcGQYTOQYUGLGgNI5BdkEFnShKJpGlAQHdQwRgpcrQPIEpHlesj4IDYGNgEeR
AMJiLFPiYVAeQCRnqChge52IhnWcTBIcapSWKMD8yDSRY2t6xIJk0oaCGrqndVKeaMSDMkwCj4Kh
cYKyIORgoCjAk/AcixcgfMbkKBAjgY8EHs0xY4HCBTyfY4gc91BjHEXkBO8AUYxW0LyFGCyawXoG
J4NO8P8/Ai4DQh4FWB2UpmGC7gW8GhoToBFDygQ4uy9oRm0JMCdAmwBvCEI5zyjHcopRHgZivgwE
jRIj5rnENWyEGCFPIVDc9gdBBo0bvU8LZ3UCR/+kYAJP+cCeDU7gWKPGOJUEjv2AkAYQRYJHnRZ8
LvDQDtpzPIEgh3AETwwPBB4Duyn4COATAt41oK4GDwZs0OEw4/Xww53AST5g8MOGB4eb58kcWakC
zB4OdJDwaYOdATDyB4EamaE97pcOQz4nHBYTe+qg4wH/ZeQ5w9P3fE0w7MDRAzH0w8ZhnIbvHz4v
wDgFeOT+/x9SfJrgRwufJtj14DSeAzycs/JhAmz3EzaidwuPBnsKAN/5BZx3DTZYGOcX4HFC8BD4
QcJD4AN4/jhDK50XcmDwzjkwRsHzPDZMoCCvAYV6FlAYn2qA1///VANcDge4kwPcewG7ODzXwBV9
roF6bylujLrGBHkUeKSJ8jzzLhPh2cbXGk8hjq81RnyZeLcx7sE91jzkGORoIrwYBHy88bEGvGJe
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
AFsnXC8DX1NCX1dNSTFNV01JpFBSRUwURAxXTUE4A4xqCgBQUkUwjGoKAVBSRTGMagoCUFJFMoxq
CgNQUkUzjGoKBFBSRTSMagoFUFJFNYxqCgZQUkU2jGoKB1BSRTdbI1wvA19TQl9XTUkxTVdNSf//
cFBSRTBcV0xTMHBQUkUxXFdMUzFwUFJFMlxXTFMycFBSRTNcV0xTM3BQUkU0XFdMUzRwUFJFNVxX
TFM1cFBSRTZcV0xTNnBQUkU3XFdMUzdcV01JUwoICgBbJ1wvA19TQl9XTUkxTVdNSQhJVEVNEkkI
BRIiAgoADUluaGliaXRFbnRlcmluZ1RoaW5rUGFkU2V0dXAAEhwCCgANTVRNU2VyaWFsQ29uY2F0
ZW5hdGlvbgASFQIKAA1Td2FwUHJvZHVjdE5hbWUAEhoCCgANQ29tcHV0cmFjZU1zZ0Rpc2FibGUA
EhQCCgANQ3B1RGVidWdFbmFibGUACFZTRUwSIgISEwINRGlzYWJsZQANRW5hYmxlABILAg1PZmYA
DU9uABRJCFdRQTkBWyNcLwNfU0JfV01JMU1XTUn//6AhkpNcV01JUwoJaAoAWydcLwNfU0JfV01J
MU1XTUmkDQBwg4hJVEVNXFdJVE0AYHCDiGAKAABhcIOIYAoBAGJzYg0sAGZwg4hWU0VMYQBjc2aD
iGNcV1NFTABnWydcLwNfU0JfV01JMU1XTUmkZxRPCFdNQUEDWyNcLwNfU0JfV01JMU1XTUn//6AK
k4dqCgBwCgJgoUQEcFwvA19TQl9XTUkxQ0FSR2pgoC+TYAoAcFwvA19TQl9XTUkxV1NFVElURU1W
U0VMYKAQk2AKAHBcV01JUwoKCgBgWydcLwNfU0JfV01JMU1XTUmkg4hcLwNfU0JfV01JMVJFVE5g
AAhXUUJCEU1TCzgFRk9NQgEAAAAoBQAArhgAAERTAAEafdpUmN6LAAEGGEIQDRCKDSECC4NQUBgU
oEVByAUUlQIhwwIUC3AuQLoA5ShyDCIC9+8PMRCIFEBIKIREAFMhcISgXwEIHQqQKcCgAKcIIojS
sgDdAnwL0A4htMiVCrAIJZ+Akogi2XiyjUjmYZGDQIkZBEonrmziahAHEOU8oiQ4qoOIELtcAZIH
IM0Tk/U5aGRsBDyYBBAWZZ2KAoPyACI5Y0UB2+tEZHKgVBIcapieWvMT00ROrekhC5JJGwpq7J7W
SXmmEQ/KMAk8CobGCcqCkIOBogBPwnMsXoDwEZOzQIwEPhN45MeMHVG4gOdzDJHjHmqMo4h8OAzt
dOMc2OkUBC6QYD3PWSD//xgHwfCOASMDQh4FWB2WJpHA7gVovARI4SClDEIwjQmwdWiQNwHWrgJC
iXQCcUJEiRjUQFFqQxVMZ8MTZtwQMQwUt/1BkGHjxu9BndbZHdOrggk86TeEp4OjONqoMZojZavW
ucKR4FHnBZ8MPLTD9mDP0kM4gmeGRwKPgd0VfAjwGQHvGlCXg0cDNulwmPF67p66zxj8vOHB4UZ6
MkdWqgCz1wAdJXzgYHeBpwATWP4gUCMztMf73mHIJ4XDYmIPHnQ84L+PPGl4+p6vCQaGkJXxoAZi
6FeFwzgNn0B8DggS45g8OP//CRxr5PSc4vMEP1z4PMFODKfxHODhnJWPE8AC4nWCDxQ+7KF5FC8R
bw8miPYQA8YZ4c4bcE4xwAPqEDCHCQ+BD+AZ5Bx9zDkz3HEHbMPgkS2AsDhPAgV8G1AYH27A+/8/
3ADX8wHu+AD3YsEOD483wGBIjzRvNTFebUJEeKh5tzFSvMcbdo05iweQKMWh6WITI8qbjWHfdAwU
KlKEMC8WIR5vwCzppaLPgY83gJf///EG8DAMH1PAdnNg9xT45xTAkZBHgA4eFgEiG88An4moQCrN
FCzjFKxOiFwGhURAaGSG8yHRYAbx+cBnCp+c+P//5ASeg8lDBSxEnxY4nM8sHM5HEn6A5EclcAk8
NIACyPcDnwOeEdgcHgl8IGDwPNqo6NHGw+NHBs/ngeAoHwlwGO8XHqJPObAmctQWfSIQ6DMX5pQD
nIKPHhX1QArak4LPCj58wf//H77gzOtlzQeOOGdxuu8W+BMpMAtyIkXB+EQK2LwFYK8LTyIwzhHP
WDAPVaf4UvXGEOHJ6jXqActgLwKGecXy6SrEA5bPWtFChIwS7BXrVcZHKoMHDBstUoRHLPz//4gF
HgkHUoAqA8cdSIH9aQJ/vfB4sP//cwD4DjHAYMAwDjHAQ/DJDPTHHfjj4BmfHCZQmBMpCsYnUsDZ
//9wBYbjDfhvMz6E+nzjC6khXmze1F4JXt/Zteb13aeCJ9EIIaO85BgkxOuoAYMFiXgKTzuPN+AV
dSAF6PH/P5ACg3sK7HMK4Cn5iZSmPpGiFQFpqmAhmP5ESg8Gzk2i5EOjcM56IKEgBnSQQwX6rOID
yYE8InpYPlT6ruJziI8UHr8PC/w/4+MoA6/mvIIC82kUo+s+AZL///y4vsMoyNF5+Mmi4k6Wgniy
jjJZ9Ex8u/CM3rt8g2U3WXiXgZCPBr7Jwh2LLyPgu8kCXkfjswU7hfi6BkuhTZ8ajVr9/xuUqVGm
Qa0+lRozdqGwuAsGlbQsjcuBQGiAW6lAHPoLpFMC+WoJyGJXJRDLVAHRyN3CIAJyvE+NQB1JBxAT
5GOs9CUgEMumFaDlOgFiYUFowF+1huC0IAJyMi1ALCeIgPz/B1uCRlRXTUkzCF9ISUQMQdAMFAhf
VUlECgMIX1dERxE/Cjx5Nk2PnnR5RJsWxiYB/SXwQUIBAmno0oVaNs5KpNPNaSsWmKBBQwECIRKQ
BWbV0RGy8ACgyQYpEEJDAQAUQwdXTUFCA4xqCgBBU1Mwi2oKAUFTUzGMagoDQVNTMlsjXC8DX1NC
X1dNSTFNV01J//9wQVNTMFxXQVNCcEFTUzFcV0FTSXBBU1MyXFdBU0RcV01JUwoLCgBwXFdBU1Ng
WydcLwNfU0JfV01JMU1XTUmkYBRABldNQUMDjGoKAEFTUzCLagoBQVNTMVsjXC8DX1NCX1dNSTFN
V01J//9wQVNTMFxXQVNCcEFTUzFcV0FTSVxXTUlTCgxpcFxXQVNTYFsnXC8DX1NCX1dNSTFNV01J
pGAIV1FCQxFPQAsKBEZPTUIBAAAA+gMAADISAABEUwABGn3aVJjDiAABBhhCEAcQig0hAguDUFAY
FKBFQcgFFJUCIcMCFAtwLkC6AOUocgwiAvfvDzEQiBRASCiERABTIXCEoF8BCB0KkCnAoACnCCKI
0rIA3QJ8C9AOIbRYBxEh0jE0KUCiAIsCZMPINiKZh0UOAiVmECid4LKJq0GcTJTziJLgqA4iQuxy
BUgegDRPTNbnoJGxEfCUGkBYoHUq4HoNQz2ASM5YUcD2OhGN6kCZJDjUMD215iemiZxa00MWJJM2
FNTYPa2T8kwjHpRhEngUDI0TlHUioAPlgCfhORYvQPiIybRN4DOBh3nM2BGFC3g+xxA57qHGOIrI
R2AkA8UrCImA+HZwcJH8/0eJESrG2wBuXgmKHgdKBoQ8CrB6KCAEFidA4zgF05kAbQK8CTAnwBaG
gIKcWZQgEUIxiAoFGEMUyjtBjMogdIIIFD14mNZAdInwyLFHAJ8ZzukEHwHeFkzgeb8kHGrYA44a
4ygSWNAzQhZAFAkedWTw4cAjO3LP8ASCHMIRPDY8FXgM7Lrgc4CPCXjXgJrz0wGbcjjMcD39cCdw
0gZks/PgcOM8mSMrVYDZE4JOEz5zsLvA+fQMSeQPAjUyQ/ss8OphyIeFw2Jizx50POA/JTxsePqe
rwmiPY+A4f9/HoE5nAeEJwd2gMAcSIDJ+QJ3KPAQ+AAeJc7RSmeGPLmALfsbQAcP5waRjVeACXQ4
sR4gTRQMBNPTawA+FTg3iZIPjMI563mEghjQQSDk5KCAOqr4PHKqDz2elEfhq4oPIT5PePQ+KfDv
jK8ORrea4woKzGcRTlDXbQH6KeAIPJR3kseQBPWdFkAB5JuBTwIh/v9PBx7Dw4DRjM7DTxYVd7IU
xJN1lMmiZ+KrhSd0SkHO0RP2VQTW+SDki4GnYThPlsN5snwsvmrAHy2WoMDZghweE29U9Ebk4fHL
gefzjHCUbxI4jMcSD9GXI1gTOWnfFk426EsQuxwBv4gmhsEiLUURF0VhfMWC/f+/YgEWBA8bNIeD
lx42azgHmdPxSE4bxh0L/p3qqcrTivJk9XrlY5ahzuAdy7c8TyFKnJctdscySFAjP2gxlODx3rEA
b///OxZg/ATBCXzHAhzFfjfoSkXuWCgOq7ljQZwo5ooFhv//FQvgdcArFmj+/1cs8F6OgN8J0XcN
fpq2orsGlBm+B/mwEyzSo41vSeF82wDY8v+/bQBMGb9vG8BPoU2fGo1aNShTo0yDWn0qNWZMycHO
dwwqbGUammOB0BDHJhkBUSIQAVn9b0JAzgIiICtYmsCd/9goQKIChCl9kwnUskEE9P8/QtkAYoJB
BGSRPoCYYhABWd2jQEDWCiIg//8BEEENXC8FX1NCX1BDSTBMUENfRUNfX0hLRVlbAUJGV00HFBBN
SENGAXBcQkZXQ2hgpGAUTwVNSFBGAQhSRVRCEQMKJVsjQkZXTf//oDuSlIdoCiVwaFxCRldCoCJc
QkZXUFwvBV9TQl9QQ0kwTFBDX0VDX19DSEtTXEJGV0xwXEJGV0JSRVRCWydCRldNpFJFVEIUMk1I
SUYBCFJFVEIRAwoKWyNCRldN//9cQkZXR2hwXEJGV0JSRVRCWydCRldNpFJFVEIUDE1IRE0BXEJE
TUNoEEoMXC8FX1NCX1BDSTBMUENfRUNfX0hLRVkUEFBTU0cBpFxQU0lGCgAKABQPUFNTUwGkXFBT
SUYKAWgUD1BTQlMBpFxQU0lGCgJoFA9CSUNHAaRcUFNJRgoDaBQPQklDUwGkXFBTSUYKBGgUD0JD
VEcBpFxQU0lGCgVoFA9CQ0NTAaRcUFNJRgoGaBQPQkNTRwGkXFBTSUYKB2gUD0JDU1MBpFxQU0lG
CghoFA9CRFNHAaRcUFNJRgoJaBQPQkRTUwGkXFBTSUYKCmgQSgpcLwVfU0JfUENJMExQQ19FQ19f
SEtFWRQQR0lMTgCkfQoCXElMTkYAFD1TSUxOAaAXkwoBaHAKAVxJTE5GcAoAQkJMU6QKAKEeoBeT
CgJocAoAXElMTkZwCgFCQkxTpAoAoQSkCgEUQQRHTFNJAKAiXEg4RFKkcgoCXC8FX1NCX1BDSTBM
UENfRUNfX0hQTEQAoRagD3tcUkJFQwpGCgQApAoDoQSkCgIQSgVcLwVfU0JfUENJMExQQ19FQ19f
SEtFWRQQR0RMTgCkfQoCXFBMVVgAFC9TRExOAaAQkwoBaHAKAVxQTFVYpAoAoRegEJMKAmhwCgBc
UExVWKQKAKEEpAoBCFxWSENDCgAQT0tcLwNfU0JfUENJMFZJRF8IQVRQQhEECwABi0FUUEIKAFNT
WkWLQVRQQgoCVkVSTopBVFBCCgJWTVNLikFUUEIKBFNGVU6KQVRQQgoGRkxHUxRGJ0FUUFgCoB+T
aAoAcAoIU1NaRXAKAVZFUk5wCjNTRlVOpEFUUEKgSQSTaAoBcAoKU1NaRaAkXF9PU0kNV2luZG93
cyAyMDEzAHALgEZWTVNLcAuARkZMR1OhEXALgAZWTVNLcAuABkZMR1OkQVRQQqBIH5NoCgKMaQoC
UFdTVHBQV1NUYHtgCgFgoE4RYKBKEVwvBV9TQl9QQ0kwUEVHX1ZJRF9JU09QoEAQkwoBXC8EX1NC
X1BDSTBQRUdfREdPU1xWSFlCCgAKAVsiCn1cVkhZQgoCCgFbIgoBXFZIWUIKCAoBXFZIWUIKCAoD
okcEk1xMQ0hLCgEKAHAKIGCiF2CgEZNcTENISwoBCgBbIQpkdmChAqWgHpNgAHAKAVwvBF9TQl9Q
Q0kwUEVHX1JUTEtbIQpkoA5WTVNIXFZIWUIKDQoAcArIYaIUYVsiCgGgC1xWSFlCCgwKAKV2YVxW
SFlCCgQKAHAAXC8EX1NCX1BDSTBQRUdfREdPU6AtXC8EX1NCX1BDSTBMUENfRFNQU3ABXC8FX1NC
X1BDSTBMUENfRUNfX0FTQkahTwugTAtcLwVfU0JfUENJMFBFR19WSURfSVNPUKBCCpMKAFwvBF9T
Ql9QQ0kwUEVHX0RHT1OgLVwvBF9TQl9QQ0kwTFBDX0RTUFNwAFwvBV9TQl9QQ0kwTFBDX0VDX19B
U0JGXFZIWUIKBAoBXFZIWUIKCAoAcAoKYHAKMmGiEWFbImCgCVxMQ0hLCgCldmFcVkhZQgoICgJc
VkhZQgoCCgBcVkhZQgoACgBwAVwvBF9TQl9QQ0kwUEVHX0RHT1OgBZNoCgWgBZNoCgZbgEFUUlAA
XEFUUkIMAAABAFuBFEFUUlAQSURYMIAAQElEWDGAAEAUTQVBVFJNCqAXkpVoCwCApEdFVEJ0aAsA
gABpSURYMaAylHJoaQALAIB0CwCAaGB0aWBhcEdFVEJoYElEWDBjcEdFVEIKAGFJRFgxZHNjZGWk
ZaRHRVRCaGlJRFgwFB5HRVRCC3doCghgd2kKCGFbE2pgYVRCRjOkVEJGM4pBVFBCCgRTTlRGikFU
UEIKBklGTEeKQVRQQgoISVNGTotBVFBCCgpJRlBXCFNXUkwRCgoHAQIDgIEICRRFEUFUSUYCoCaT
aAoAcAoMU1NaRXAKAVZFUk5wCgFTTlRGcAoHSVNGTqRBVFBCoB+TaAoBcAoKU1NaRXAKA1ZNU0tw
CgFJRkxHpEFUUEKgJpNoCgJwCgxTU1pFcAoBVk1TS3AKAElGTEdwCgBJRlBXpEFUUEKgTwmTaAoD
i2kKAlNFTESLaQoEQ09ORHAKB2FwCgBjohthdmFwg4hTV1JMYQBioAyTU0VMRGJwCgFjpaAJkwoA
Y3AKBmFwCgFgcAoGY3BDT05EZKASXC8DX1NCX0xJRF9fTElEdWSiJ2N2Y3VhoAqSlWEKB3AKAGFw
g4hTV1JMYQBioAuTe2RiAGJwYmClcAoEU1NaRXBgVkVSTqRBVFBCCFxfUzBfEgoECgAKAAoACgAI
XF9TM18SCgQKBQoFCgAKAAhcX1M0XxIKBAoGCgYKAAoACFxfUzVfEgoECgcKBwoACgAURT9cX1BU
UwFwaEQ4MFBwCgFgoAyTaFxTUFNfcAoAYKAPkZNoCgCSlWgKBnAKAGCgQTJgcGhcU1BTX1wvBl9T
Ql9QQ0kwTFBDX0VDX19IS0VZTUhLRQoAoB9cLwVfU0JfUENJMExQQ19FQ19fS0JMVFxVQ01TCg2g
RwWTaAoBcFwvBV9TQl9QQ0kwTFBDX0VDX19IRk5JXEZOSURwCgBcLwVfU0JfUENJMExQQ19FQ19f
SEZOSXAKAFwvBV9TQl9QQ0kwTFBDX0VDX19IRlNQoEoSk2gKA1xWVlBECgNcVFJBUHBcLwZfU0Jf
UENJMExQQ19FQ19fQUNfX19QU1JcQUNTVKA3k1xGTldLCgGgIFxIOERScAoAXC8FX1NCX1BDSTBM
UENfRUNfX0hXRk6hDFxNQkVDCjIK7woAcFxJRlJTCgAKAGFwCgBcRkZDTKBLCXthCiAAoEMJkpN7
YQwA//8AAAwA//8AoEcHkZBcLwVfU0JfUENJMExQQ19FQ19fSEIwQZR7XC8FX1NCX1BDSTBMUENf
RUNfX0hCMFMKBwAKAZBcLwVfU0JfUENJMExQQ19FQ19fSEIxQZR7XC8FX1NCX1BDSTBMUENfRUNf
X0hCMVMKBwAKAXAKAFxGRkNMoQlwCgFcRkZDTKAPXEZGQ0xcSUZSUwoCCgCgSwaTaAoEcAoAXC8F
X1NCX1BDSTBMUENfRUNfX0hXTE+gC1ZEU1BwAFNIQTFcVFJBUKAyWxJcLwVfU0JfUENJMExQQ19U
UE1fQ01PUgBcLwVfU0JfUENJMExQQ19UUE1fQ01PUlxBV09OCgSgRQSTaAoFXFRSQVCgMlsSXC8F
X1NCX1BDSTBMUENfVFBNX0NNT1IAXC8FX1NCX1BDSTBMUENfVFBNX0NNT1JcQVdPTgoFoCNbElwv
A19TQl9UUE1fUFRTXwBcLwNfU0JfVFBNX1BUU19ooCCSlWgKBHAKAFwvBV9TQl9QQ0kwTFBDX0VD
X19IV0xCoRtwCgFcLwVfU0JfUENJMExQQ19FQ19fSFdMQqAgkpVoCgNwCgFcLwVfU0JfUENJMExQ
Q19FQ19fSENNVaAGkpNoCgVcLwZfU0JfUENJMExQQ19FQ19fSEtFWVdHUFNooEMEkZNoCgWTaAoE
oDdcLwRfU0JfUENJMExQQ19EU1BTXFZIWUIKAAoBcAoAXC8FX1NCX1BDSTBMUENfRUNfX0dBVFmg
PJNcLwVfU0JfUENJMExQQ19FQ19fQUFFTgoBcAoBUkZPRnAKAVwvBV9TQl9QQ0kwTFBDX0VDX19E
Q1dMoSJwCgBSRk9GcAoAXC8FX1NCX1BDSTBMUENfRUNfX0RDV0wIV0FLSRIGAgoACgAUR2lcX1dB
SwF5aAoERDgwUKAQkZNoCgCSlWgKBaRXQUtJcAoAXFNQU19wCgBcLwVfU0JfUENJMExQQ19FQ19f
SENNVVwvBV9TQl9QQ0kwTFBDX0VDX19FVk5UCgFcLwZfU0JfUENJMExQQ19FQ19fSEtFWU1IS0UK
AVwvBV9TQl9QQ0kwTFBDX0VDX19GTlNUXFVDTVMKDXAKAFxMSURCoCKTaAoBcFwvBV9TQl9QQ0kw
TFBDX0VDX19IRk5JXEZOSUSgSCWTaAoDXE5WU1MKAHBcLwZfU0JfUENJMExQQ19FQ19fQUNfX19Q
U1JcUFdSU6ANXE9TQzRcUE5URgqBoDqSk1xBQ1NUXC8GX1NCX1BDSTBMUENfRUNfX0FDX19fUFNS
XC8FX1NCX1BDSTBMUENfRUNfX0FUTUOgIFxTQ1JNcAoHXC8FX1NCX1BDSTBMUENfRUNfX0hGU1Bw
CgBcSU9FTnAKAFxJT1NUoEUEk1xJU1dLCgGgOlwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZREhLQ1wv
Bl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQtwYKAPXEZGQ0xcSUZSUwoDCgCgNFxWSUdEXC8EX1NC
X1BDSTBWSURfR0xJU1wvA19TQl9MSURfX0xJRKALXFdWSVNcVkJURKEvoC1cV1ZJU1wvBF9TQl9Q
Q0kwVklEX0dMSVNcLwNfU0JfTElEX19MSURcVkJURFxWQ01TCgFcLwNfU0JfTElEX19MSURcQVdP
TgoAoBtcQ01QUoZcLl9TQl9MSURfCgJwCgBcQ01QUqBLC5FcVVNCUlwvBF9TQl9QQ0kwWEhDSVhS
U1SgTwmRk1xYSENJCgKTXFhIQ0kKA3AKAGB7XC8EX1NCX1BDSTBYSENJUFIzXwzA////YH1gXC8E
X1NCX1BDSTBYSENJUFIzTVwvBF9TQl9QQ0kwWEhDSVBSM19wCgBge1wvBF9TQl9QQ0kwWEhDSVBS
Ml8MAID//2B9YFwvBF9TQl9QQ0kwWEhDSVBSMk1cLwRfU0JfUENJMFhIQ0lQUjJfoEIfk2gKBFxO
VlNTCgBwCgBcLwVfU0JfUENJMExQQ19FQ19fSFNQQXBcLwZfU0JfUENJMExQQ19FQ19fQUNfX19Q
U1JcUFdSU6ANXE9TQzRcUE5URgqBXC8FX1NCX1BDSTBMUENfRUNfX0FUTUOgIFxTQ1JNcAoHXC8F
X1NCX1BDSTBMUENfRUNfX0hGU1CgMZJcTkJDRqAdXFZJR0RcLwVfU0JfUENJMExQQ19FQ19fQlJO
U6ELXFZCUkNcQlJMVnBcQVVEQwoACgBge2AKAWCgDJNgCgBwCgFGMUxEoQhwCgBGMUxEcAoAXElP
RU5wCgBcSU9TVKBFBJNcSVNXSwoCoDpcLwZfU0JfUENJMExQQ19FQ19fSEtFWURIS0NcLwZfU0Jf
UENJMExQQ19FQ19fSEtFWU1IS1ELgGCgRQtcLwRfU0JfUENJMFhIQ0lYUlNUoE8JkZNcWEhDSQoC
k1xYSENJCgNwCgBge1wvBF9TQl9QQ0kwWEhDSVBSM18MwP///2B9YFwvBF9TQl9QQ0kwWEhDSVBS
M01cLwRfU0JfUENJMFhIQ0lQUjNfcAoAYHtcLwRfU0JfUENJMFhIQ0lQUjJfDACA//9gfWBcLwRf
U0JfUENJMFhIQ0lQUjJNXC8EX1NCX1BDSTBYSENJUFIyX1wvBV9TQl9QQ0kwTFBDX0VDX19CQVRX
aFwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZV0dXS2iGXC5fVFpfVEhNMAqAXFZTTERcLwNfU0JfTElE
X19MSUSgKFxWSUdEXC8EX1NCX1BDSTBWSURfR0xJU1wvA19TQl9MSURfX0xJRKEqoChcV1ZJU1wv
BF9TQl9QQ0kwVklEX0dMSVNcLwNfU0JfTElEX19MSUSgRwWVaAoEoEAFkXtcUlJCRgoCAHtcLwVf
U0JfUENJMExQQ19FQ19fSFdBSwoCAHloCghgcH0LEyBgAGBcLwZfU0JfUENJMExQQ19FQ19fSEtF
WU1IS1FgoEEFk2gKBHAKAGBwXENTVU0KAGGgFJKTYVxDSEtDcAoBYHBhXENIS0NwXENTVU0KAWGg
FJKTYVxDSEtFcAoBYHBhXENIS0WgCmCGXF9TQl8KAHAKAFwvBV9TQl9QQ0kwTFBDX0VDX19IV0FL
cABcUlJCRnloCgRifWIKDmJwYkQ4MFCkV0FLSRBDIlxfU0lfFEshX1NTVAGgRwWTaAoAXC8FX1NC
X1BDSTBMUENfRUNfX0xFRF8KAAoAXC8FX1NCX1BDSTBMUENfRUNfX0xFRF8KCgoAXC8FX1NCX1BD
STBMUENfRUNfX0xFRF8KBwoAoE0Hk2gKAaAlkVxTUFNfXFdOVEZcLwVfU0JfUENJMExQQ19FQ19f
QkVFUAoFXC8FX1NCX1BDSTBMUENfRUNfX0xFRF8KAAqAXC8FX1NCX1BDSTBMUENfRUNfX0xFRF8K
CgqAXC8FX1NCX1BDSTBMUENfRUNfX0xFRF8KBwoAoEcFk2gKAlwvBV9TQl9QQ0kwTFBDX0VDX19M
RURfCgAKgFwvBV9TQl9QQ0kwTFBDX0VDX19MRURfCgoKgFwvBV9TQl9QQ0kwTFBDX0VDX19MRURf
CgcKwKBLCpNoCgOgIpRcU1BTXwoDXC8FX1NCX1BDSTBMUENfRUNfX0JFRVAKB6E/oCKTXFNQU18K
A1wvBV9TQl9QQ0kwTFBDX0VDX19CRUVQCgOhGlwvBV9TQl9QQ0kwTFBDX0VDX19CRUVQCgSgCZNc
U1BTXwoDoRxcLwVfU0JfUENJMExQQ19FQ19fTEVEXwoACoBcLwVfU0JfUENJMExQQ19FQ19fTEVE
XwoACsCgOZNoCgRcLwVfU0JfUENJMExQQ19FQ19fQkVFUAoDXC8FX1NCX1BDSTBMUENfRUNfX0xF
RF8KAArAEEc0XF9HUEUUQwpfTDBEAHBcLwVfU0JfUENJMExQQ19FQ19fSFdBS2BwYFxSUkJGWyIK
CqAGe2AKAgCgE3tgCgQAhlwuX1NCX0xJRF8KAqATe2AKCACGXC5fU0JfTElEXwoCoBN7YAoQAIZc
Ll9TQl9MSURfCgKgBntgCkAAoBN7YAqAAIZcLl9TQl9MSURfCgJwCgBcLwVfU0JfUENJMExQQ19F
Q19fSFdBSxRHFV9MNjkAoEMFXC8EX1NCX1BDSTBFWFAxUFNQWHAKAVwvBF9TQl9QQ0kwRVhQMVBT
UFhwCgFcLwRfU0JfUENJMEVYUDFQTVNYhlwvA19TQl9QQ0kwRVhQMQoCoEMFXC8EX1NCX1BDSTBF
WFAyUFNQWHAKAVwvBF9TQl9QQ0kwRVhQMlBTUFhwCgFcLwRfU0JfUENJMEVYUDJQTVNYhlwvA19T
Ql9QQ0kwRVhQMgoCoEMFXC8EX1NCX1BDSTBFWFAzUFNQWHAKAVwvBF9TQl9QQ0kwRVhQM1BTUFhw
CgFcLwRfU0JfUENJMEVYUDNQTVNYhlwvA19TQl9QQ0kwRVhQMwoCoEMFXC8EX1NCX1BDSTBFWFA2
UFNQWHAKAVwvBF9TQl9QQ0kwRVhQNlBTUFhwCgFcLwRfU0JfUENJMEVYUDZQTVNYhlwvA19TQl9Q
Q0kwRVhQNgoCFAZfTDYxABRCBV9MNjIAcAoAXC8EX1NCX1BDSTBMUENfU1dHRaA0WxJcLwNfU0Jf
UENDRFBFTkIAoCCTXC8DX1NCX1BDQ0RQRU5CCgGGXC5fU0JfUENDRAqAFEcEX0w2NgCgJ1wvBF9T
Ql9QQ0kwVklEX0dTU0VcLwRfU0JfUENJMFZJRF9HU0NJoRdwCgFcLwRfU0JfUENJMExQQ19TQ0lT
CEdQRkcKABQ9X0wwQgCgNpBHUEZHXC8EX1NCX1BDSTBMUENfTkZDSXAKAEdQRkeGXC8EX1NCX1BD
STBTTUJVTkZDXwrAFEwFX0wwOQCAR0lWOUdJVjmgJ0dMVjlbIgpkXC8GX1NCX1BDSTBMUENfRUNf
X0hLRVlNSEtRCxFAoSNbIgpkXC8GX1NCX1BDSTBMUENfRUNfX0hLRVlNSEtRCxBAEENJXC8FX1NC
X1BDSTBMUENfRUNfX0hLRVkUSAxNSFFUAaBNC5BcV05URlxUQVRDoA6TaAoAcFxUQVRDYKRgoUAK
oEsEk2gKAXBcVERGQWByYHlcVERUQQoEAGByYHlcVERGRAoIAGByYHlcVERURAoMAGByYHlcVE5G
VAoQAGByYHlcVE5UVAoUAGCkYKFBBaAyk2gKAnBcVENGQWByYHlcVENUQQoEAGByYHlcVENGRAoI
AGByYHlcVENURAoMAGCkYKEboAWTaAoDoROgDpNoCgRwXFRBVFdgpGChAqOkCgAUTBRNSEFUAaBB
FJBcV05URlxUQVRDcHtoCv8AYKAKkkFUTVZgpAoAcHt6aAoIAAr/AGCgCpJBVE1WYKQKAHB7aAoP
AFxUQ0ZBcHt6aAoEAAoPAFxUQ1RBcHt6aAoIAAoPAFxUQ0ZEcHt6aAoMAAoPAFxUQ1REQVRNQ6BC
BXtcLl9QUl9DRkdECwABAHBcRlRQU2GgEXtoDAAAAQAAcAoBXEZUUFOhCXAKAFxGVFBToB1/XEZU
UFNhAKATkVxPU1BYXENQUFhcUE5URgqAcFxTQ1JNYqAre2gMAAAEAABwCgFcU0NSTXAKB1wvBV9T
Ql9QQ0kwTFBDX0VDX19IRlNQoSNwCgBcU0NSTXAKgFwvBV9TQl9QQ0kwTFBDX0VDX19IRlNQcFxF
VEFVY6ARe2gMAAACAABwCgFcRVRBVaEJcAoAXEVUQVWkCgGkCgAUQhJNSEdUAaBHEZBcV05URlxU
QVRDcAwAAAABYKAYe1wuX1BSX0NGR0QLAAEAfWAMAAAACGCgDlxTQ1JNfWAMAAAAEGCgDlxFVEFV
fWAMAAAABGCgDlxGVFBTfWAMAAAAAmByYHlcVFNGVAoQAGByYHlcVFNUVAoUAGBwe2gK/wBhoA+S
QVRNVmF9YAv//2CkYHB7aAoPAGGgDZNhCgByYFxUSUYwYKEmoA2TYQoBcmBcVElGMWChFqANk2EK
AnJgXFRJRjJgoQZyYAr/YHB7emgKBAAKDwBhoBGTYQoAcmB5XFRJVDAKCABgoTKgEZNhCgFyYHlc
VElUMQoIAGChHqARk2EKAnJgeVxUSVQyCggAYKEKcmB5Cv8KCABgpGCkCgAUTARBVE1WAXB7aAoP
AGFwXFRORlRgoAiSlWFgpAoAcHt6aAoEAAoPAGJwXFROVFRgoAiSlWJgpAoAoA9cVEFUTKAIf2Fi
AKQKAKQKARRDD01IQ1QBcAoAYKAUXFNQRU5wXExXU1RgdWB5YAoIYHAKCGF5YQoIYaBHBZNoDP//
//99YVxUUENSYaA+XFNQRU59YFxQUENSYKAXkpBcLl9QUl9DRkdEDAAAAAJ9YQqAYaAXkpBcLl9Q
Ul9DRkdEDAAAAAh9YQpAYaEGfWEKwGGhRgagO5CRXE9TUFhcQ1BQWFxTUEVOe2gMAAD/AGJ6YgoQ
Yn1gYmCgF39iXFBQQ1IAcGJcUFBDQVxQTlRGCoCgJ1xXVklTe2gKH2J9YWJhoBd/YlxUUENSAHBi
XFRQQ0FcUE5URgqCeWAKEGB9YGFgpGAQQhVcLwRfU0JfUENJMExQQ19FQ19fFEwTQVRNQwCgRBOQ
XFdOVEZcVEFUQ6BPBkhQQUNwXFRDRkFgcFxUQ1RBYXB9eWEKBABgAGJ/YkFUTVhjcGJBVE1YoB+T
XFRDVEEKAHBcVENSMFxUQ1JUcFxUUFMwXFRQU1ahI6Afk1xUQ1RBCgFwXFRDUjFcVENSVHBcVFBT
MVxUUFNWoQGhSwZwXFRDRkRgcFxUQ1REYXB9eWEKBABgAGJ/YkFUTVhjcGJBVE1YoB+TXFRDVEQK
AHBcVENSMFxUQ1JUcFxUUFMwXFRQU1ahI6Afk1xUQ1RECgFwXFRDUjFcVENSVHBcVFBTMVxUUFNW
oQGgPWOgOlwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZREhLQ1wvBl9TQl9QQ0kwTFBDX0VDX19IS0VZ
TUhLUQswYIZcLl9UWl9USE0wCoEQQxFcX1RaX1uFTg1USE0wFA1fQ1JUAKRDMktfCn8USQxfVE1Q
AKBCBVxIOERScFwvBV9TQl9QQ0kwTFBDX0VDX19UTVAwYHBcLwVfU0JfUENJMExQQ19FQ19fVFNM
MmFwXC8FX1NCX1BDSTBMUENfRUNfX1RTTDNioSRwXFJCRUMKeGBwe1xSQkVDCooKfwBhcHtcUkJF
QwqLCn8AYqAJk2AKgHAKMGCgDWJcVFNETKRcVENSVKArklwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZ
REhLQ6ANYVxUU0RMpFxUQ1JUpEMyS19gFCtDMktfAXJ3aAoKAAusCmCgDJKUYAusCnALuAtgoAuU
YAusD3ALuAtgpGAQTA9cLwRfU0JfUENJMExQQ19FQ19fFEYOX1E0MACGXC5fVFpfVEhNMAqAoB9c
SDhEUnBcLwVfU0JfUENJMExQQ19FQ19fVFNMMmGhDnB7XFJCRUMKigp/AGGgPVwvBl9TQl9QQ0kw
TFBDX0VDX19IS0VZREhLQ6AgYVwvBl9TQl9QQ0kwTFBDX0VDX19IS0VZTUhLUQsiYKAGVklHRKOh
BlxWVEhSoEYFe1wuX1BSX0NGR0QKAQCgE5FcT1NQWFxDUFBYXFBOVEYKgKExcHtcLwVfU0JfUENJ
MExQQ19FQ19fVFNMMAp3AGKgCWJcU1RFUAoJoQhcU1RFUAoKCEdQSUMKABQNX1BJQwFwaFxHUElD
W4BTTUkwAQqyCgFbgQtTTUkwAUFQTUMIW4EoTU5WUwAAgOAHQ01EXwhFUlJfIFBBUjAgUEFSMSBQ
QVIyIFBBUjMgWwFNU01JBxRNBVNNSV8FWyNNU01J//9waENNRF9wCgFFUlJfcGlQQVIwcGpQQVIx
cGtQQVIycGxQQVIzcAr1QVBNQ6ITk0VSUl8KAVsiCgFwCvVBUE1DcFBBUjBgWydNU01JpGAUFFJQ
Q0kBpFNNSV8KAAoAaAoACgAUEldQQ0kCU01JXwoACgFoaQoAFBFNUENJA1NNSV8KAAoCaGlqFBRS
QkVDAaRTTUlfCgAKA2gKAAoAFBJXQkVDAlNNSV8KAAoEaGkKABQRTUJFQwNTTUlfCgAKBWhpahQU
UklTQQGkU01JXwoACgZoCgAKABQSV0lTQQJTTUlfCgAKB2hpCgAUEU1JU0EDU01JXwoACghoaWoU
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
MHBcWFdNQlhXVDCkQlVGMA==
====
begin-base64 644 ECDT.6
RUNEVFIAAAAB7kxFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAQgAAGYAAAAAAAAAAQgAAGIAAAAA
AAAAAAAAACVcX1NCLlBDSTAuTFBDLkVDAA==
====
begin-base64 644 FACP.1
RkFDUAwBAAAF0kxFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAID2zAAg/swAAgkAsgAAAPLxAPMA
GAAAAAAAAAQYAAAAAAAAUBgAAAgYAACAGAAAAAAAAAQCAQQgABD0ZQDpAwAAAAABAw0AMhMAAK1G
AAABCAAB+QwAAAAAAAAGAAAAAAAAAAAAAAAAIP7MAAAAAAEgAAIAGAAAAAAAAAEAAAIAAAAAAAAA
AAEQAAIEGAAAAAAAAAEAAAIAAAAAAAAAAAEIAAFQGAAAAAAAAAEgAAMIGAAAAAAAAAEAAAGAGAAA
AAAAAAEAAAEAAAAAAAAAAAEIAAAAAAAAAAAAAAEIAAAAAAAAAAAAAA==
====
begin-base64 644 FPDT.24
RlBEVGQAAAABaExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAAAQAQAAAACYDq7MAAAAAAEAEAEA
AAAAGA6uzAAAAAAAMBABAAAAABjQHcwAAAAAATAQAQAAAAAYgBfMAAAAAA==
====
begin-base64 644 HPET.5
SFBFVDgAAAABS0xFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAaOGgAAAAAAAAND+AAAAAACAAAA=
====
begin-base64 644 MCFG.8
TUNGRzwAAAABHExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAAAAAAAAAAAAAAD4AAAAAAAAAD8A
AAAA
====
begin-base64 644 MSDM.22
TVNETVUAAAADgExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAQAAAAAAAAABAAAAAAAAAB0AAABO
VkcyOC1QS1RDNi1UWUo0OC02N002Vi1RUEM3UA==
====
begin-base64 644 PCCT.17
UENDVG4AAAAFuUxFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAQAAAAAAAAAAAAAAAD4AAAAAAAAY
MPbMAAAAAAAQAAAAAAAAAQgAAUIYAAAAAAAA/QAAAAAAAAACAAAAAAAAAIgTAAAAAAAAAAA=
====
begin-base64 644 RSDT.0
UlNEVIwAAAAB10xFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAAID/zADQ/8wAwP/MALD/zACg/8wA
cP/MAGD/zABQ/8wAQP/MABD+zAAA/swA8P3MAOD9zADA/cwAsP3MAKD9zACQ/cwAgP3MAHD9zABg
/cwAIOvMAFD9zABA/cwAMP3MACD9zAAQ/cw=
====
begin-base64 644 SLIC.3
U0xJQ3YBAAABtUxFTk9WT1RQLUo1ICAgkBIAAFBURUMBAAAAAAAAAJwAAAAGAgAAACQAAFJTQTEA
BAAAAQABAGkWSp+xSzr7gCCqr8T5PsGASe5qZSZyHs2/Xy+W1sAKkvUGtQCyOykC4kyNwvK8QXec
cPDzGwnSY1rcqIP4XskVlfn6/dwFt01nfy2zhDMg4dF5Kqdqd9G2ICp2QsXV6bZDQFVEw8k3mV9B
l3Dz0fYH7HsaKaHB8ZH9SIZuPs7LAQAAALYAAAAAAAIATEVOT1ZPVFAtSjUgICBXSU5ET1dTIAEA
AgAAAAAAAAAAAAAAAAAAAAAARfOAJCF+pkknWc8nCuvZf/SPPPaVffmH8xc+FCVZgXLzIpPseLKR
65zKeTzqZDQyBzr7mwerKXABWh02QkL5MwjmoZ26sr911LVj2bQZ7XjfmHwNSrrGTC0l6ehYd/AO
kSXvUVwbyTw98k55GIV3sRUr4t1VqG/ttK/RH6fV8/U=
====
begin-base64 644 SSDT.10
U1NEVIYEAAABuUxFTk9WT1RQLVNTRFQyAAIAAElOVEwRBxIgEA5cABQKS09VMgBbIQpkEEAjXC8E
X1NCX1BDSTBWSURfTENEMBRAFV9CQ0wAoA5cV1ZJU3AKAVxOQkNGcFwvBV9TQl9QQ0kwTFBDX0VD
X19CRlJRYKAtkpNcLwRfU0JfUENJMFZJRF9QRk1CYFwvBF9TQl9QQ0kwVklEX0FJTlQKA2CgSg1c
V0lOOKQSQQ1nCmQKZAoACgEKAgoDCgQKBQoGCgcKCAoJCgoKCwoMCg0KDgoPChAKEQoSChMKFAoV
ChYKFwoYChkKGgobChwKHQoeCh8KIAohCiIKIwokCiUKJgonCigKKQoqCisKLAotCi4KLwowCjEK
MgozCjQKNQo2CjcKOAo5CjoKOwo8Cj0KPgo/CkAKQQpCCkMKRApFCkYKRwpICkkKSgpLCkwKTQpO
Ck8KUApRClIKUwpUClUKVgpXClgKWQpaClsKXApdCl4KXwpgCmEKYgpjCmSkXC8FX1NCX1BDSTBM
UENfRUNfX0JSVFcUTwhfQkNNAaAzXFdJTjhcLwRfU0JfUENJMFZJRF9BSU5UCgFcLwVfU0JfUENJ
MExQQ19FQ19fQlJDRGihQwVwiVwvBV9TQl9QQ0kwTFBDX0VDX19CUlRXAWgACgAKAmCgL5KTYP90
YAoCYXBhXEJSTFZcLwVfU0JfUENJMExQQ19FQ19fQlJOU1xVQ01TChYUOV9CUUMAcFxCUkxWYHJg
CgJhoCKSlGEKEaSDiFwvBV9TQl9QQ0kwTFBDX0VDX19CUlRXYQChA6QAEEEiXC8FX1NCX1BDSTBQ
RUdfVklEX0xDRDAUSRBfQkNMAKAOXFdWSVNwCgFcTkJDRqBKDVxXSU44pBJBDWcKZApkCgAKAQoC
CgMKBAoFCgYKBwoICgkKCgoLCgwKDQoOCg8KEAoRChIKEwoUChUKFgoXChgKGQoaChsKHAodCh4K
HwogCiEKIgojCiQKJQomCicKKAopCioKKwosCi0KLgovCjAKMQoyCjMKNAo1CjYKNwo4CjkKOgo7
CjwKPQo+Cj8KQApBCkIKQwpECkUKRgpHCkgKSQpKCksKTApNCk4KTwpQClEKUgpTClQKVQpWClcK
WApZCloKWwpcCl0KXgpfCmAKYQpiCmMKZKRcLwVfU0JfUENJMExQQ19FQ19fQlJUVxRFCF9CQ00B
oDqQkpNcV0lONwoAXC8FX1NCX1BDSTBQRUdfVklEX0lTT1BcLwVfU0JfUENJMFZJRF9MQ0QwX0JD
TWihQgSgP1xOQkNGcIlcLwVfU0JfUENJMExQQ19FQ19fQlJUVwFoAAoACgJgoBeSk2D/dGAKAmFc
VkJSQ2FwYVxCUkxWFEcHX0JRQwCgOpCSk1xXSU43CgBcLwVfU0JfUENJMFBFR19WSURfSVNPUKRc
LwVfU0JfUENJMFZJRF9MQ0QwX0JRQ6E0cFxCUkxWYHJgCgJhoCKSlGEKEaSDiFwvBV9TQl9QQ0kw
TFBDX0VDX19CUlRXYQChA6QA
====
begin-base64 644 SSDT.11
U1NEVCIJAAABy0xFTk9WT1NhdGFBaGNpABAAAElOVEwRBxIgEEB6XC8DX1NCX1BDSTBTQVQxW4JA
IFBSVDAIRElQMAoACEZERVYACEZEUlAACEhEVEYREQoOAgAAAACg7wAAAAAAoPUISEVURhEYChUC
AAAAAKDvAAAAAACg9RAJAAAAoO8IRVJURhEYChUCAAAAAKDvAAAAAACg9V8AAAAAoO8ISFBURhEY
ChUCAAAAAKDvAAAAAACg9RADAAAAoO8ISFFURhEfChwCAAAAAKDvAAAAAACg9RADAAAAoO8QCQAA
AKDvCEhYVEYRHwocAgAAAACg7wAAAAAAoPVfAAAAAKDvEAMAAACg7whERFRGEREKDgAAAAAAoOMA
AAAAAKDjjEREVEYKAURUQVSMRERURgoIRFRGVAhER1RGERgKFQAAAAAAoOMAAAAAAKDjEAMAAACg
74xER1RGCgFHVEFUjERHVEYKCEdURlQIX0FEUgv//xRIBV9TREQBcAoARElQMKBJBJOHaAsAAoto
CpxNMDc4oBaQXERQUDB7TTA3OAoIAHAKAURJUDCMaAqdQkZEU5lCRkRTRkRFVoxoCppCRlJQmUJG
UlBGRFJQFEkGX0dURgCgMkRJUDCgJZCQk0RWUzAKAZN7RkRFVgoBAAoBk3tGRFJQCoAACoCkSFFU
RqEGpEhQVEahLqAlkJCTRFZTMAoBk3tGREVWCgEACgGTe0ZEUlAKgAAKgKRIRVRGoQakSERURluC
RCBQUlQyCERJUDAKAAhGREVWCgAIRkRSUAoACEhEVEYREQoOAgAAAACg7wAAAAAAoPUISEVURhEY
ChUCAAAAAKDvAAAAAACg9RAJAAAAoO8IRVJURhEYChUCAAAAAKDvAAAAAACg9V8AAAAAoO8ISFBU
RhEYChUCAAAAAKDvAAAAAACg9RADAAAAoO8ISFFURhEfChwCAAAAAKDvAAAAAACg9RADAAAAoO8Q
CQAAAKDvCEhYVEYRHwocAgAAAACg7wAAAAAAoPVfAAAAAKDvEAMAAACg7whERFRGEREKDgAAAAAA
oOMAAAAAAKDjjEREVEYKAURUQVSMRERURgoIRFRGVAhER1RGERgKFQAAAAAAoOMAAAAAAKDjEAMA
AACg74xER1RGCgFHVEFUjERHVEYKCEdURlQIX0FEUgz//wIAFEgFX1NERAFwCgBESVAwoEkEk4do
CwACi2gKnE0wNzigFpBcRFBQMntNMDc4CggAcAoBRElQMIxoCp1CRkRTmUJGRFNGREVWjGgKmkJG
UlCZQkZSUEZEUlAUSQZfR1RGAKAyRElQMKAlkJCTRFZTMgoBk3tGREVWCgEACgGTe0ZEUlAKgAAK
gKRIUVRGoQakSFBURqEuoCWQkJNEVlMyCgGTe0ZERVYKAQAKAZN7RkRSUAqAAAqApEhFVEahBqRI
RFRGW4JEIFBSVDMIRElQMAoACEZERVYKAAhGRFJQCgAISERURhERCg4CAAAAAKDvAAAAAACg9QhI
RVRGERgKFQIAAAAAoO8AAAAAAKD1EAkAAACg7whFUlRGERgKFQIAAAAAoO8AAAAAAKD1XwAAAACg
7whIUFRGERgKFQIAAAAAoO8AAAAAAKD1EAMAAACg7whIUVRGER8KHAIAAAAAoO8AAAAAAKD1EAMA
AACg7xAJAAAAoO8ISFhURhEfChwCAAAAAKDvAAAAAACg9V8AAAAAoO8QAwAAAKDvCEREVEYREQoO
AAAAAACg4wAAAAAAoOOMRERURgoBRFRBVIxERFRGCghEVEZUCERHVEYRGAoVAAAAAACg4wAAAAAA
oOMQAwAAAKDvjERHVEYKAUdUQVSMREdURgoIR1RGVAhfQURSDP//AwAUSAVfU0REAXAKAERJUDCg
SQSTh2gLAAKLaAqcTTA3OKAWkFxEUFAze00wNzgKCABwCgFESVAwjGgKnUJGRFOZQkZEU0ZERVaM
aAqaQkZSUJlCRlJQRkRSUBRJBl9HVEYAoDJESVAwoCWQkJNEVlMzCgGTe0ZERVYKAQAKAZN7RkRS
UAqAAAqApEhRVEahBqRIUFRGoS6gJZCQk0RWUzMKAZN7RkRFVgoBAAoBk3tGRFJQCoAACoCkSEVU
RqEGpEhEVEZbgk8XUFJUNAhESVAwCgAISERURhERCg4CAAAAAKDvAAAAAACg9QhIRVRGERgKFQIA
AAAAoO8AAAAAAKD1EAkAAACg7whFUlRGERgKFQIAAAAAoO8AAAAAAKD1XwAAAACg7whIUFRGERgK
FQIAAAAAoO8AAAAAAKD1EAMAAACg7whIUVRGER8KHAIAAAAAoO8AAAAAAKD1EAMAAACg7xAJAAAA
oO8ISFhURhEfChwCAAAAAKDvAAAAAACg9V8AAAAAoO8QAwAAAKDvCEREVEYREQoOAAAAAACg4wAA
AAAAoOOMRERURgoBRFRBVIxERFRGCghEVEZUCERHVEYRGAoVAAAAAACg4wAAAAAAoOMQAwAAAKDv
jERHVEYKAUdUQVSMREdURgoIR1RGVAhfQURSDP//BAAUNF9TREQBcAoARElQMKAmk4doCwACi2gK
nE0wNzigFpBcRFBQNHtNMDc4CggAcAoBRElQMBQWX0dURgCgCkRJUDCkSFBURqRIRFRGEEwRXC8D
X1NCX1BDSTBTQVQxW4JJEFBSVDEIX0FEUgz//wEAFEgPX0RTTQwIX1RfMQAIX1RfMACgTw2TaBET
ChAw7/q9u67eEYo5CAAgDJpmokYMAXCZagBfVF8woCuTX1RfMAoAoiIBcJlpAF9UXzGgDpNfVF8x
CgGkEQQKAQ+hB6QRBAoBAKWhTQigC5NfVF8wCgGkCgGhTgegQwWTX1RfMAoCcAoAR0UxN6AZk3tH
STE3CgEAR0kxN31JVk9ECgFJVk9EoQx7SVZPRAoASVZPRHAKAEdPMTZbIgrIcAoBR1MxN3AKAUdF
MTekCgGhJ6Agk19UXzAKA3AKAEdFMTdwCgFHUzE3cAoBR08xNqQKAaEEpAoApaEEpAoAED9cX0dQ
RRQ4X0wxMQCgKJNHTzE2CgBwCgBHRTE3cAoBR08xNoZcLwNfU0JfUENJMFNBVDEKgaEGWyIL9AGk
AA==
====
begin-base64 644 SSDT.12
U1NEVCoGAAABHkxFTk9WT0NwdTBJc3QAADAAAElOVEwRBxIgEEVgXC5fUFJfQ1BVMBRAEV9QUEMA
cABgcFwvBV9TQl9QQ0kwTFBDX0VDX19MUE1EYKBEDJJgoEoGkZBcLwZfU0JfUENJMExQQ19FQ19f
QUNfX19QU1JcVENGQZCSXC8GX1NCX1BDSTBMUENfRUNfX0FDX19fUFNSXFRDRkSgI3tcLwVfU0Jf
UENJMExQQ19FQ19fVFNMMAp2AHBcTFdTVGChJaAje1wvBV9TQl9QQ0kwTFBDX0VDX19UU0wwCncA
cFxMV1NUYKAukmCgKpFcUFBDQVxGVFBToBSSlFxGVFBTXFBQQ0FwXFBQQ0FgoQhwXEZUUFNgcGBc
UFBDUqAekmBwXC8FX1NCX1BDSTBMUENfRUNfX1BDVkxipGKkYBRGBF9QQ1QAoD6Qe0NGR0QBAHtQ
REMwAQCkEiwCERQKEYIMAH8AAAAAAAAAAAAAAHkAERQKEYIMAH8AAAAAAAAAAAAAAHkACF9QU1MS
QyEQEiAGDJkIAAAMmDoAAAwKAAAADAoAAAAMABsAAAwAGwAAEiAGDJgIAAAMmDoAAAwKAAAADAoA
AAAMABYAAAwAFgAAEiAGDDQIAAAMCDcAAAwKAAAADAoAAAAMABUAAAwAFQAAEiAGDNAHAAAMiTMA
AAwKAAAADAoAAAAMABQAAAwAFAAAEiAGDAgHAAAMUi0AAAwKAAAADAoAAAAMABIAAAwAEgAAEiAG
DKQGAAAMlSoAAAwKAAAADAoAAAAMABEAAAwAEQAAEiAGDEAGAAAMWycAAAwKAAAADAoAAAAMABAA
AAwAEAAAEiAGDNwFAAAMvCQAAAwKAAAADAoAAAAMAA8AAAwADwAAEiAGDBQFAAAMHh8AAAwKAAAA
DAoAAAAMAA0AAAwADQAAEiAGDLAEAAAMJBwAAAwKAAAADAoAAAAMAAwAAAwADAAAEiAGDEwEAAAM
vxkAAAwKAAAADAoAAAAMAAsAAAwACwAAEiAGDOgDAAAM5BYAAAwKAAAADAoAAAAMAAoAAAwACgAA
EiAGDIQDAAAMGRQAAAwKAAAADAoAAAAMAAkAAAwACQAAEiAGDLwCAAAMMg8AAAwKAAAADAoAAAAM
AAcAAAwABwAAEiAGDFgCAAAMEg0AAAwKAAAADAoAAAAMAAYAAAwABgAAEiAGDPQBAAAMhQoAAAwK
AAAADAoAAAAMAAUAAAwABQAAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAA
AIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwA
AACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAA
AIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAA
gAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAG
DAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAA
gAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACA
DAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAM
AAAAgAwAAACADAAAAIAMAAAAgAwAAACAEiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACA
EiAGDAAAAIAMAAAAgAwAAACADAAAAIAMAAAAgAwAAACACFBTREYAFEsEX1BTRACgLpJQU0RGcFRD
TlSIg4hIUFNEAAAKBABwVENOVIiDiFNQU0QAAAoEAHD/UFNERqAPe1BEQzALAAgApEhQU0SkU1BT
RAhIUFNEEg0BEgoFCgUAAAr+CoAIU1BTRBINARIKBQoFAAAK/AqA
====
begin-base64 644 SSDT.13
U1NEVHQLAAACa0xFTk9WT0NwdVNzZHQAADAAAElOVEwRBxIgEEwLXAAIU1NEVBJDBQwNQ1BVMElT
VCAADJgZPcYMKgYAAA1BUElTVCAgIAAMGJbczAyqBQAADUNQVTBDU1QgAAwYidzMDDYEAAANQVBD
U1QgICAADJh93MwMGQEAAAhcUERDMAwAAACACFxQREMxDAAAAIAIXFBEQzIMAAAAgAhcUERDMwwA
AACACFxQREM0DAAAAIAIXFBEQzUMAAAAgAhcUERDNgwAAACACFxQREM3DAAAAIAIXFNEVEwAEEAY
XF9QUl9bgFBOVlMADJiv9swLUwBbgUgRUE5WUxBQR1JWCENGR0QgAAhBQ1JUCEFQU1YIQUFDMAhD
UElEIENQUEMIQ0NUUAhDTFZMCENCTUkIUEwxMBBQTDIwEFBMVzAIQ1RDMAhUQVIwCFBQQzAIUEwx
MRBQTDIxEFBMVzEIQ1RDMQhUQVIxCFBQQzEIUEwxMhBQTDIyEFBMVzIIQ1RDMghUQVIyCFBQQzII
QzNNVwhDNk1XCEM3TVcIQ0RNVwhDM0xUEEM2TFQQQzdMVBBDRExUEENETFYQQ0RQVxBNUE1GCERU
U0UIRFRTMQhEVFMyCERUU0YIUERUUwhQS0dBCERUUzMIRFRTNAhCR01BQARCR01TCEJHSUEQQkdJ
TBBEU0lBEERTSUwIRFNBRQhbgElPX0QBXC5fUFJfRFNJQVwuX1BSX0RTSUxbgQtJT19EAVRSUEQI
W4BJT19QAVwuX1BSX0JHSUFcLl9QUl9CR0lMW4ELSU9fUAFUUlBGCBBDJFwuX1BSX0NQVTAISEkw
XwAISEMwXwAUPF9QREMBoCdbElwvA19QUl9DUFUwX1BQQwBwQ1BQQ1wvA19QUl9DUFUwX1BQQ3BD
UERDaGBHQ0FQYKRgFBdfT1NDBHBDT1NDaGlqa2BHQ0FQYKRgFEgGQ1BEQwGKaABSRVZTimgKBFNJ
WkVwh2hgcHRgCggAYVsTaApAd2EKCABURU1QCFNUUzARBwoEAAAAAHNTVFMwVEVNUGKkQ09TQxET
ChAWpndADCm+R5692HBYcTlTUkVWU1NJWkViFE0LQ09TQwSKawBTVFMwimsKBENBUDCKaABJSUQw
imgKBElJRDGKaAoISUlEMopoCgxJSUQzCFVJRDAREwoQFqZ3QAwpvkeevdhwWHE5U4pVSUQwAEVJ
RDCKVUlEMAoERUlEMYpVSUQwCghFSUQyilVJRDAKDEVJRDOgMpKQkJNJSUQwRUlEMJNJSUQxRUlE
MZCTSUlEMkVJRDKTSUlEM0VJRDNwCgZTVFMwpGugDpKTaQFwCgpTVFMwpGukaxROCkdDQVABimgA
U1RTMIpoCgRDQVAwoBKRk1NUUzAKBpNTVFMwCgqkAKAWe1NUUzABAHtDQVAwC/8LQ0FQMKQAfXtQ
REMwDP///38AQ0FQMFBEQzCgRwV7Q0ZHRAp6AKBMBJCQe0NGR0QLAAIAe1BEQzAKGACSe1NEVEwK
AgB9U0RUTAoCU0RUTFuAQ1NUMACDiFNTRFQKBwCDiFNTRFQKCABbIENTVDBIQzBfpAAQTxZcLl9Q
Ul9DUFUxCEhJMV8ACEhDMV8AFB9fUERDAXBcLwNfUFJfQ1BVMENQRENoYEdDQVBgpGAUIl9PU0ME
cFwvA19QUl9DUFUwQ09TQ2hpamtgR0NBUGCkYBROB0dDQVABimgAU1RTMYpoCgRDQVAxoBKRk1NU
UzEKBpNTVFMxCgqkAKAWe1NUUzEBAHtDQVAxC/8LQ0FQMaQAfXtQREMxDP///38AQ0FQMVBEQzGg
EJN7UERDMQoJAAoJQVBQVKANe1BEQzEKGABBUENUcFBEQzFQREMwpAAUSgRBUENUAKBCBJB7Q0ZH
RAp6AJJ7U0RUTAogAH1TRFRMCiBTRFRMW4BDU1QxAIOIU1NEVAoKAIOIU1NEVAoLAFsgQ1NUMUhD
MV8USQRBUFBUAKBBBJB7Q0ZHRAEAkntTRFRMChAAfVNEVEwKEFNEVExbgElTVDEAg4hTU0RUCgQA
g4hTU0RUCgUAWyBJU1QxSEkxXxBEDlwuX1BSX0NQVTIUH19QREMBcFwvA19QUl9DUFUwQ1BEQ2hg
R0NBUGCkYBQiX09TQwRwXC8DX1BSX0NQVTBDT1NDaGlqa2BHQ0FQYKRgFEQJR0NBUAGKaABTVFMy
imgKBENBUDKgEpGTU1RTMgoGk1NUUzIKCqQAoBZ7U1RTMgEAe0NBUDIL/wtDQVAypAB9e1BEQzIM
////fwBDQVAyUERDMqAbk3tQREMyCgkACglcLwNfUFJfQ1BVMUFQUFSgGHtQREMyChgAXC8DX1BS
X0NQVTFBUENUcFBEQzJQREMwpAAQRA5cLl9QUl9DUFUzFB9fUERDAXBcLwNfUFJfQ1BVMENQRENo
YEdDQVBgpGAUIl9PU0MEcFwvA19QUl9DUFUwQ09TQ2hpamtgR0NBUGCkYBRECUdDQVABimgAU1RT
M4poCgRDQVAzoBKRk1NUUzMKBpNTVFMzCgqkAKAWe1NUUzMBAHtDQVAzC/8LQ0FQM6QAfXtQREMz
DP///38AQ0FQM1BEQzOgG5N7UERDMwoJAAoJXC8DX1BSX0NQVTFBUFBUoBh7UERDMwoYAFwvA19Q
Ul9DUFUxQVBDVHBQREMzUERDMKQAEEQOXC5fUFJfQ1BVNBQfX1BEQwFwXC8DX1BSX0NQVTBDUERD
aGBHQ0FQYKRgFCJfT1NDBHBcLwNfUFJfQ1BVMENPU0NoaWprYEdDQVBgpGAURAlHQ0FQAYpoAFNU
UzSKaAoEQ0FQNKASkZNTVFM0CgaTU1RTNAoKpACgFntTVFM0AQB7Q0FQNAv/C0NBUDSkAH17UERD
NAz///9/AENBUDRQREM0oBuTe1BEQzQKCQAKCVwvA19QUl9DUFUxQVBQVKAYe1BEQzQKGABcLwNf
UFJfQ1BVMUFQQ1RwUERDNFBEQzCkABBEDlwuX1BSX0NQVTUUH19QREMBcFwvA19QUl9DUFUwQ1BE
Q2hgR0NBUGCkYBQiX09TQwRwXC8DX1BSX0NQVTBDT1NDaGlqa2BHQ0FQYKRgFEQJR0NBUAGKaABT
VFM1imgKBENBUDWgEpGTU1RTNQoGk1NUUzUKCqQAoBZ7U1RTNQEAe0NBUDUL/wtDQVA1pAB9e1BE
QzUM////fwBDQVA1UERDNaAbk3tQREM1CgkACglcLwNfUFJfQ1BVMUFQUFSgGHtQREM1ChgAXC8D
X1BSX0NQVTFBUENUcFBEQzVQREMwpAAQRA5cLl9QUl9DUFU2FB9fUERDAXBcLwNfUFJfQ1BVMENQ
RENoYEdDQVBgpGAUIl9PU0MEcFwvA19QUl9DUFUwQ09TQ2hpamtgR0NBUGCkYBRECUdDQVABimgA
U1RTNopoCgRDQVA2oBKRk1NUUzYKBpNTVFM2CgqkAKAWe1NUUzYBAHtDQVA2C/8LQ0FQNqQAfXtQ
REM2DP///38AQ0FQNlBEQzagG5N7UERDNgoJAAoJXC8DX1BSX0NQVTFBUFBUoBh7UERDNgoYAFwv
A19QUl9DUFUxQVBDVHBQREM2UERDMKQAEEQOXC5fUFJfQ1BVNxQfX1BEQwFwXC8DX1BSX0NQVTBD
UERDaGBHQ0FQYKRgFCJfT1NDBHBcLwNfUFJfQ1BVMENPU0NoaWprYEdDQVBgpGAURAlHQ0FQAYpo
AFNUUzeKaAoEQ0FQN6ASkZNTVFM3CgaTU1RTNwoKpACgFntTVFM3AQB7Q0FQNwv/C0NBUDekAH17
UERDNwz///9/AENBUDdQREM3oBuTe1BEQzcKCQAKCVwvA19QUl9DUFUxQVBQVKAYe1BEQzcKGABc
LwNfUFJfQ1BVMUFQQ1RwUERDN1BEQzCkAA==
====
begin-base64 644 SSDT.14
U1NEVGkDAAACaUxFTk9WT0N0ZHBCAAAAABAAAElOVEwRBxIgEEQ0XC5fU0JfUENJMFuATUJBUgAM
AFDR/gsAEFuBRAxNQkFSAQCAmARQVERQDwABUE1JTg8AAVBNQVgPAAFUTUFYBwAJUFdSVQQABEVH
WVUFAANUSU1VBABMDgAgTFBNUwFDVE5MAgBNIVBQTDEPUEwxRQEAAVBMMVQHAAhQUEwyD1BMMkUB
AAFQTDJUBwCIygJUQVJOCAAYUFREMQ8AAVRBUjEIAAhQTVgxDwABUE1OMQ8AAVBURDIPAAFUQVIy
CAAIUE1YMg8AAVBNTjIPAAFDVENMAgAdQ0xDSwFUQVJfCBRNCENUQ1UAcFBURDJQUEwxcAFQTDFF
cAFcQ1RQQ6ATkwBcRlRQU3BcQ1RQQ1xDVFBSoUMEoCKTXENUUFJcRlRQU3BcQ1RQQ1xDVFBScFxD
VFBDXEZUUFOhHXBcQ1RQQ1xDVFBScFxDVFBDXEZUUFN1XEZUUFNcUE5URgqAdFRBUjIBVEFSX3AK
AkNUQ0wUSAZDVENOAKAuk0NUQ0wBcFBURFBQUEwxcAFQTDFFTlBQQ1RBUk50VEFSTgFUQVJfcABD
VENMoTGgL5NDVENMCgJwAENUQ0x0VEFSTgFUQVJfTlBQQ1RBUk5wUFREUFBQTDFwAVBMMUUULUNU
Q0QAcAFDVENMdFRBUjEBVEFSX05QUENUQVIxcFBURDFQUEwxcAFQTDFFFEUOTlBQQwEIVFJBVAAI
UFJBVAAIVE1QSQBwaFRSQVRwh1wvA19QUl9DUFUwX1BTU1RNUEmiQAuSk1RNUEkAdlRNUElwg4iD
iFwvA19QUl9DUFUwX1BTU1RNUEkACgQAUFJBVHpQUkFUCghQUkFUoEYHkpVQUkFUVFJBVHBUTVBJ
XENUUEOgE5MAXEZUUFNwXENUUENcQ1RQUqFDBKAik1xDVFBSXEZUUFNwXENUUENcQ1RQUnBcQ1RQ
Q1xGVFBToR1wXENUUENcQ1RQUnBcQ1RQQ1xGVFBTdVxGVFBTXFBOVEYKgKUURwVDTEMyCQhfVF8w
AHtQTkhNDPAP/w9goj4BcGBfVF8woBaTX1RfMAzABgMApHh3aAoFAAoEAAChHaAOk19UXzAMUAYE
AKQKyKEMpHh3aAoFAAoEAACl
====
begin-base64 644 SSDT.15
U1NEVHcUAAABjkxFTk9WT1NhU3NkdCAAADAAAElOVEwRBxIgW4BTQU5WAAwYvPbMC1YBW4FMHlNB
TlYQU0FSViBBU0xCIElNT04ISUdEUwhDQURMCFBBREwIQ1NURRBOU1RFEERJRDkgRElEQSBESURC
IElCVFQISVBBVAhJUFNDCElCTEMISUJJQQhJU1NDCElQQ0YISURNUwhJRjFFCEhWQ08ITlhEMSBO
WEQyIE5YRDMgTlhENCBOWEQ1IE5YRDYgTlhENyBOWEQ4IEdTTUkIUEFWUAgACEtTVjAgS1NWMQhC
TENTCEJSVEwIQUxTRQhBTEFGCExMT1cITEhJSAhBTEZQCEFVREEgQVVEMyBESURDIERJREQgRElE
RSBESURGIENBRFIgQ0NOVAgAQCtTR01ECFNHRkwIUFdPSwhITFJTCFBXRU4IUFJTVAhDUFNQIEVF
Q1AIRVZDUBBYQkFTIEdCQVMQU0dHUAhOVkdBIE5WSEEgQU1EQSBORElECERJRDEgRElEMiBESUQz
IERJRDQgRElENSBESUQ2IERJRDcgRElEOCBPQlMxIE9CUzIgT0JTMyBPQlM0IE9CUzUgT0JTNiBP
QlM3IE9CUzggTFRSQQhPQkZBCExUUkIIT0JGQghMVFJDCE9CRkMIU01TTBBTTlNMEFAwVUIIUDFV
QghQMlVCCEVEUFYITlhEWCBESURYIFBDU0wIU0M3QQgQSHFcLwNfU0JfUENJMEIwRDMIQkFSQQwA
AACACEJCQVIACFRCQVIACFRDTUQACE1PREIACE1PREMAFBZfU1RBAKANkpNBVVZEC///pAoPpAAU
TgRfSU5JAKBGBJCSk3tBQkFSDATA//8ADATA//+Sk3tBQkFSDADA//8AAHBBQkFSQkFSQaAZkpNB
QkFIAH1CQVJBeUFCQUgKIABCQVJBW4BSUENTAFxYQkFTDECAAQBbgRxSUENTAACAAsBBQ01ECABI
BUFCQVIgQUJBSCBbgFJQQ1oCAApAW4ELUlBDWhNBVVZEEBRBCkFTVFIAoEkJkJKTe0FCQVIMBMD/
/wAMBMD//5KTe0FCQVIMAMD//wAAcABCQkFSe0FCQVIM8P///0JCQVKgGZKTQUJBSAB9QkJBUnlB
QkFICiAAQkJBUnJCQkFSCwAQQkJBUluAUlBDWQBCQkFSCiVbgRtSUENZAwBABkVNNFcgRU1XQSAA
QARBRFdBIHBBVURBRU1XQXBBVUQzRU00VxRNEVZTVFIBCENPTlQL6AMIQUREUgwAAACAcGhBRERS
W4BDQ0RDAEFERFIKBFuBC0NDREMBQ0RFQyCgQw6QkpN7QUJBUgwEwP//AAwEwP//kpN7QUJBUgwA
wP//AACgTwuSk0NERUMAcABCQkFSe0FCQVIM8P///0JCQVKgGZKTQUJBSAB9QkJBUnlBQkFICiAA
QkJBUluASVBDVgBCQkFSCnBbgRVJUENWAwBAMEFWSUMgACBBSVJTEHAL6ANDT05UohqQk3tBSVJT
AQABkpNDT05UAFshAXZDT05UfUFJUlMKAkFJUlNwQ0RFQ0FWSUN9QUlSUwFBSVJTcAvoA0NPTlSi
GpCTe0FJUlMBAAGSk0NPTlQAWyEBdkNPTlQURAVDWERDAAhJRERYDAAAAICgQgSQkpNDQURSAJKT
Q0NOVABwQ0FEUklERFiiJ5VJRERYckNBRFJ3Q0NOVAoEAABWU1RSSUREWHJJRERYCgRJRERYFEwL
QVJTVACgRAuQkpN7QUJBUgwEwP//AAwEwP//kpN7QUJBUgwAwP//AAB7QUJBUgzw////QkJBUluA
SVBDVgBCQkFSCr9bgS5JUENWAABABENSU1QgAEAgQ09SQiAAQAZSSVJCIABAEE9TRDEgAEAOT1NE
MiB7Q09SQgz9////Q09SQntSSVJCDP3///9SSVJCe09TRDEM/f///09TRDF7T1NEMgz9////T1NE
MntDUlNUDP7///9DUlNUFEoTQUlOSQAIQ09OVAvoA6BKEpCSk3tBQkFSDATA//8ADATA//+Sk3tB
QkFSDADA//8AAHAAQkJBUntBQkFSDPD///9CQkFSoBmSk0FCQUgAfUJCQVJ5QUJBSAogAEJCQVJb
gElQQ1YAQkJBUgpwW4EoSVBDVgNHQ0FQEAAwR0NUTCAAEFNTVFMIAEgoQVZJQyAAIEFJUlMQfUdD
VEwBR0NUTHAL6ANDT05UohqQk3tHQ1RMAQAAkpNDT05UAFshAXZDT05Ue0dDQVAL//9HQ0FQfVNT
VFMKD1NTVFN7R0NUTAz+////R0NUTHAL6ANDT05UohqQk3tHQ1RMAQABkpNDT05UAFshAXZDT05U
fUdDVEwBR0NUTHAL6ANDT05UohqQk3tHQ1RMAQAAkpNDT05UAFshAXZDT05UFEkOQUJXQQGgTwlo
oEUHkZN7QUJBUgwEwP//AAwEwP//k3tBQkFSDADA//8AAKBDBZKTQkFSQQwAAACAcEFCQVJUQkFS
fVRCQVJ5QUJBSAogAFRCQVJwQUNNRFRDTURwekJBUkEKIABBQkFIcEJBUkFBQkFScAoGQUNNRHAB
TU9EQqEloCOSk3tBQ01ECgYACgZwQUNNRFRDTURwCgZBQ01EcAFNT0RDoUEEoC9NT0RCoCmTQUJB
UkJBUkFwVEJBUkFCQVJwelRCQVIKIABBQkFIcFRDTURBQ01EoA5NT0RDcFRDTURBQ01EFEsTREND
QwGgQxOQkpN7QUJBUgwEwP//AAwEwP//kpN7QUJBUgwAwP//AAB7QUJBUgzw////QkJBUluASVBD
VgBCQkFSCyAQW4EUSVBDVgAAgAYIQUVNNCBBRU01IKA2k2gAe0FFTTQMAAD8/0FFTTR9QUVNNAoE
QUVNNHtBRU01DAAA/P9BRU01fUFFTTUKS0FFTTWgNpNoAXtBRU00DAAA/P9BRU00fUFFTTQKBEFF
TTR7QUVNNQwAAPz/QUVNNX1BRU01ClpBRU01oDeTaAoCe0FFTTQMAAD8/0FFTTR9QUVNNAoQQUVN
NHtBRU01DAAA/P9BRU01fUFFTTUK4UFFTTWgN5NoCgN7QUVNNAwAAPz/QUVNNH1BRU00CghBRU00
e0FFTTUMAAD8/0FFTTV9QUVNNQrhQUVNNRBMs1wvA19TQl9QQ0kwVklEXxAwXC5fU0JfUENJMFuA
TUNIUAIKQArAW4EYTUNIUAAAQApBVURFCABIJVRBU00KAAZbgElHRFACCkAKwFuBRwVJR0RQAABA
CAABR0lWRAEAAkdVTUEDAAkAEAAER01GTgEAGwBARkFTTEUIABhHU1NFAUdTU0IOR1NFUwEAMAAM
Q0RWTAEAAwAYTEJQQwgAMEFTTFMgW4BJR0RNAFxBU0xCCwAgW4FCIElHRE0AU0lHTkAIU0laRSBP
VkVSIFNWRVJAEFZWRVJACEdWRVJACE1CT1ggRE1PRCBQQ09OIERWRVJABABASkRSRFkgQ1NUUyBD
RVZUIABACkRJREwgRERMMiBEREwzIERETDQgRERMNSBEREw2IERETDcgRERMOCBDUERMIENQTDIg
Q1BMMyBDUEw0IENQTDUgQ1BMNiBDUEw3IENQTDggQ0FETCBDQUwyIENBTDMgQ0FMNCBDQUw1IENB
TDYgQ0FMNyBDQUw4IE5BREwgTkRMMiBOREwzIE5ETDQgTkRMNSBOREw2IE5ETDcgTkRMOCBBU0xQ
IFRJRFggQ0hQRCBDTElEIENEQ0sgU1hTVyBFVlRTIENOT1QgTlJEWSBEREw5IEREMTAgREQxMSBE
RDEyIEREMTMgREQxNCBERDE1IENQTDkgQ1AxMCBDUDExIENQMTIgQ1AxMyBDUDE0IENQMTUgACBT
Q0lFAUdFRkMER1hGQwNHRVNGCAAQUEFSTSBEU0xQIABAekFSRFkgQVNMQyBUQ0hFIEFMU0kgQkNM
UCBQRklUIENCTFYgQkNMTUAUQ1BGTSBFUEZNIFBMVVRAJVBGTUIgQ0NEViBQQ0ZUIFNST1QgSVVF
UiBGRFNQQARGRFNTIFNUQVQgAEAjR1ZEMYAADFBIRUQgQkREQ0CACERCVEISMhUACgcKOAvAAQsA
Dgo/C8cBCwcOC/gBCzgOC8APAAAAAAALAHALB3ALOHALwHELAH4IQ0RDVBInBRIHAgrkC0ABEgcC
Ct4LTQESBwIK3gtNARIEAgAAEgcCCt4LTQEIU1VDQwEITlZMRAoCCENSSVQKBAhOQ1JUCgYURAVH
U0NJCKARk0dFRkMKBHBHQkRBR1hGQ6ARk0dFRkMKBnBTQkNCR1hGQ3AAR0VGQ3ABXC8EX1NCX1BD
STBMUENfU0NJU3AAR1NTRXAAU0NJRaQAFEkeR0JEQQigGpNHRVNGAHALQQJQQVJNcABHRVNGpFNV
Q0OgHJNHRVNGAXAMggMgAFBBUk1wAEdFU0akU1VDQ6BHBJNHRVNGCgR7UEFSTQwAAP/vUEFSTXtQ
QVJNeYOIREJUQklCVFQAChAAUEFSTX1JQlRUUEFSTVBBUk1wAEdFU0akU1VDQ6BJCJNHRVNGCgWg
FlwvA19TQl9MSURfX0xJRHABTElEU6EHcABMSURTcElQU0NQQVJNfVBBUk15SVBBVAoIAFBBUk1y
UEFSTQsAAVBBUk19UEFSTXlMSURTChAAUEFSTXJQQVJNDAAAAQBQQVJNfVBBUk15SUJJQQoUAFBB
Uk1wAEdFU0akU1VDQ6BBCJNHRVNGCgdwR0lWRFBBUk1/UEFSTQFQQVJNfVBBUk15R01GTgEAUEFS
TX1QQVJNCwAYUEFSTX1QQVJNDAAABgBQQVJNfVBBUk15SURNUwoRAFBBUk19eYOIg4hDRENUSFZD
TwBDRFZMAAoVAFBBUk1QQVJNcAFHRVNGpFNVQ0OgKpNHRVNGCgpwAFBBUk2gEElTU0N9UEFSTQoD
UEFSTXAAR0VTRqRTVUNDoB+TR0VTRgoLcEtTVjBQQVJNcEtTVjFHRVNGpFNVQ0NwAEdFU0akQ1JJ
VBRMP1NCQ0IIoByTR0VTRgBwDIIDIgBQQVJNcABHRVNGpFNVQ0OgGJNHRVNGAXAAR0VTRnAAUEFS
TaRTVUNDoBmTR0VTRgoDcABHRVNGcABQQVJNpFNVQ0OgGZNHRVNGCgRwAEdFU0ZwAFBBUk2kU1VD
Q6AZk0dFU0YKBXAAR0VTRnAAUEFSTaRTVUNDoE8Fk0dFU0YKB6AZk1MwSUQBoBGTe1BBUk0K/wAB
XEdVQU0BoCqTUEFSTQBwQ0xJRGCgHHsMAAAAgGAAe0NMSUQKD0NMSURHTElEQ0xJRHAAR0VTRnAA
UEFSTaRTVUNDoDqTR0VTRgoIoCCTUzBJRAFwe3pQQVJNCggACv8AYKAKk2AAXEdVQU0AcABHRVNG
cABQQVJNpFNVQ0OgJJNHRVNGCgl7UEFSTQr/SUJUVHAAR0VTRnAAUEFSTaRTVUNDoEYFk0dFU0YK
CntQQVJNCv9JUFNDoCF7elBBUk0KCAAK/wB7elBBUk0KCAAK/0lQQVR2SVBBVHt6UEFSTQoUAAoH
SUJJQXAAR0VTRnAAUEFSTaRTVUNDoEQFk0dFU0YKC3t6UEFSTQEAAUlGMUWgG3tQQVJNDADgAQAA
e3pQQVJNCg0ACg9JRE1ToRB7elBBUk0KEQAKD0lETVNwAEdFU0ZwAFBBUk2kU1VDQ6AZk0dFU0YK
EHAAR0VTRnAAUEFSTaRTVUNDoCyTR0VTRgoRcHlMSURTCggAUEFSTXJQQVJNCwABUEFSTXAAR0VT
RqRTVUNDoEkEk0dFU0YKEqAme1BBUk0BAKAQk3pQQVJNAQABcAFJU1NDoQxwAEdFU0akQ1JJVKEH
cABJU1NDcABHRVNGcABQQVJNpFNVQ0OgGZNHRVNGChNwAEdFU0ZwAFBBUk2kU1VDQ6Akk0dFU0YK
FHtQQVJNCg9QQVZQcABHRVNGcABQQVJNpFNVQ0OgSQ+TR0VTRgoVoEkKk1BBUk0BfVwvA19TQl9Q
Q0kwQVVERQogXC8DX1NCX1BDSTBBVURFXC8EX1NCX1BDSTBCMEQzQUJXQQFcLwRfU0JfUENJMEIw
RDNBUlNUXC8EX1NCX1BDSTBCMEQzQVNUUlwvBF9TQl9QQ0kwQjBEM0FJTklcLwRfU0JfUENJMEIw
RDNDWERDXC8EX1NCX1BDSTBCMEQzQUJXQQCGXC5fU0JfUENJMACgNJNQQVJNAHtcLwNfU0JfUENJ
MEFVREUK31wvA19TQl9QQ0kwQVVERYZcLl9TQl9QQ0kwAHAAR0VTRnAAUEFSTaRTVUNDoC+TR0VT
RgoWe1BBUk0KA2BcLwRfU0JfUENJMEIwRDNEQ0NDYHAAR0VTRqRTVUNDcABHRVNGpFNVQ0MUGVBE
UkQAoAySRFJEWVsiQVNMUKSSRFJEWRQdUFNUUwCgDpRDU1RTCgJbIkFTTFCkk0NTVFMKAxRPBkdO
T1QCoAdQRFJEpAFwaENFVlRwCgNDU1RToD6Qk0NIUEQAk2kAoDKSk2gBoBmQXFdYUEaSXFdWSVOG
XC5fU0JfUENJMGmhEoZcLwNfU0JfUENJMFZJRF9phlwvA19TQl9QQ0kwVklEXwqApAAUE0dIRFMB
cGhUSURYpEdOT1QBABQUR0xJRAFwaENMSUSkR05PVAoCABQOR0xJUwFwaENMSUSkABQVR0RDSwFw
aENEQ0ukR05PVAoECoAUDEdEQ1MBcGhDRENLFBlQQVJEAKAMkkFSRFlbIkFTTFCkkkFSRFkUSQpB
SU5UAqAOkntUQ0hFeQFoAACkAaAHUEFSRKQBoCWTaAoCf1BGSVQKB1BGSVR9UEZJVAwAAACAUEZJ
VHAKBEFTTEOhTAWgH5NoAXBpQkNMUH1CQ0xQDAAAAIBCQ0xQcAoKQVNMQ6E5oCCTaAoDcGlQRk1C
fVBGTUIMAAEAgFBGTUJwCghBU0xDoRagEJNoAHBpQUxTSXABQVNMQ6EDpAFwAUFTTEWkAA==
====
begin-base64 644 SSDT.16
U1NEVJQDAAACaExFTk9WT0NwcGNUYWJsABAAAElOVEwRBxIgEE82XF9TQl9bgkY2UENDRAhQQ0NB
DBgw9swIUENDUwwAEAAACFBFTkIMAQAAAAhfSElEDCXUNA8IX1NUUhFKBgpmQwBvAGwAbABhAGIA
bwByAGEAdABpAHYAZQAgAFAAcgBvAGMAZQBzAHMAbwByACAAUABlAHIAZgBvAHIAbQBhAG4AYwBl
ACAAQwBvAG4AdAByAG8AbAAgACgAQwBQAFAAQwApAAAAFBhfU1RBAKANkpVPU1lTC9wHpAoPoQOk
AAhUTVBQEgwCDAAAAIAMAAAAgBQjUEFEUgBwUENDQYhUTVBQAABwUENDU4hUTVBQAQCkVE1QUBRE
EEdQUk4ICF9UXzAAokYPAXCZXFRDTlQAX1RfMKBBB5NfVF8wCgiGXC5fUFJfQ1BVMAqDhlwuX1BS
X0NQVTEKg4ZcLl9QUl9DUFUyCoOGXC5fUFJfQ1BVMwqDhlwuX1BSX0NQVTQKg4ZcLl9QUl9DUFU1
CoOGXC5fUFJfQ1BVNgqDhlwuX1BSX0NQVTcKg6FDB6A8k19UXzAKBIZcLl9QUl9DUFUwCoOGXC5f
UFJfQ1BVMQqDhlwuX1BSX0NQVTIKg4ZcLl9QUl9DUFUzCoOhM6Aik19UXzAKAoZcLl9QUl9DUFUw
CoOGXC5fUFJfQ1BVMQqDoQ6GXC5fUFJfQ1BVMAqDpQhQQ0ZHABRIC19QVEMAoEAIkFsSXFBEQzAA
kpNcUERDMAwAAACAoDh7XFBEQzAKBACkEiwCERQKEYIMAH8AAAAAAAAAAAAAAHkAERQKEYIMAH8A
AAAAAAAAAAAAAHkAoS+kEiwCERQKEYIMAAEFAAAQGAAAAAAAAHkAERQKEYIMAAEFAAAQGAAAAAAA
AHkAoS+kEiwCERQKEYIMAH8AAAAAAAAAAAAAAHkAERQKEYIMAH8AAAAAAAAAAAAAAHkAFEMEX1BT
UwCgI1sSXC8DX1BSX0NQVTBfUFNTAKRcLwNfUFJfQ1BVMF9QU1OhF6QSFAISCAYAAAAAAAASCAYA
AAAAAAAULl9QUEMAoCNbElwvA19QUl9DUFUwX1BQQwCkXC8DX1BSX0NQVTBfUFBDoQOkABRBBF9U
U1MAoCNbElwvA19QUl9DUFUwX1RTUwCkXC8DX1BSX0NQVTBfVFNToRWkEhICEgcFAAAAAAASBwUA
AAAAAA==
====
begin-base64 644 SSDT.18
U1NEVMQKAAACS0xFTk9WT0NwY19UYWJsABAAAElOVEwRBxIgEEMVXC5fUFJfQ1BVMAhfQ1BDEkEU
EQoRAREUChGCDAAKIAAAAAAAAAAAAAB5ABEUChGCDAAKIAAABAAAAAAAAAB5ABEUChGCDAAKIAAA
CAAAAAAAAAB5ABEUChGCDAAKIAAADAAAAAAAAAB5ABEUChGCDAAKIAAAEAAAAAAAAAB5ABEUChGC
DAAKIAAAFAAAAAAAAAB5ABEUChGCDAAKIAAAGAAAAAAAAAB5ABEUChGCDAAKIAAAHAAAAAAAAAB5
ABEUChGCDAAKIAAAIAAAAAAAAAB5ABEUChGCDAAKIAAAJAAAAAAAAAB5ABEUChGCDAAKIAAAKAAA
AAAAAAB5ABEUChGCDAB/QAAE5wAAAAAAAAB5ABEUChGCDAB/QAAE6AAAAAAAAAB5ABEUChGCDAAK
IAAAPAAAAAAAAAB5ABEUChGCDAAKIAAAQAAAAAAAAAB5ABBDFVwuX1BSX0NQVTEIX0NQQxJBFBEK
EQERFAoRggwACiAAAGQAAAAAAAAAeQARFAoRggwACiAAAGgAAAAAAAAAeQARFAoRggwACiAAAGwA
AAAAAAAAeQARFAoRggwACiAAAHAAAAAAAAAAeQARFAoRggwACiAAAHQAAAAAAAAAeQARFAoRggwA
CiAAAHgAAAAAAAAAeQARFAoRggwACiAAAHwAAAAAAAAAeQARFAoRggwACiAAAIAAAAAAAAAAeQAR
FAoRggwACiAAAIQAAAAAAAAAeQARFAoRggwACiAAAIgAAAAAAAAAeQARFAoRggwACiAAAIwAAAAA
AAAAeQARFAoRggwAf0AABOcAAAAAAAAAeQARFAoRggwAf0AABOgAAAAAAAAAeQARFAoRggwACiAA
AKAAAAAAAAAAeQARFAoRggwACiAAAKQAAAAAAAAAeQAQQxVcLl9QUl9DUFUyCF9DUEMSQRQRChEB
ERQKEYIMAAogAADIAAAAAAAAAHkAERQKEYIMAAogAADMAAAAAAAAAHkAERQKEYIMAAogAADQAAAA
AAAAAHkAERQKEYIMAAogAADUAAAAAAAAAHkAERQKEYIMAAogAADYAAAAAAAAAHkAERQKEYIMAAog
AADcAAAAAAAAAHkAERQKEYIMAAogAADgAAAAAAAAAHkAERQKEYIMAAogAADkAAAAAAAAAHkAERQK
EYIMAAogAADoAAAAAAAAAHkAERQKEYIMAAogAADsAAAAAAAAAHkAERQKEYIMAAogAADwAAAAAAAA
AHkAERQKEYIMAH9AAATnAAAAAAAAAHkAERQKEYIMAH9AAAToAAAAAAAAAHkAERQKEYIMAAogAAAE
AQAAAAAAAHkAERQKEYIMAAogAAAIAQAAAAAAAHkAEEMVXC5fUFJfQ1BVMwhfQ1BDEkEUEQoRAREU
ChGCDAAKIAAALAEAAAAAAAB5ABEUChGCDAAKIAAAMAEAAAAAAAB5ABEUChGCDAAKIAAANAEAAAAA
AAB5ABEUChGCDAAKIAAAOAEAAAAAAAB5ABEUChGCDAAKIAAAPAEAAAAAAAB5ABEUChGCDAAKIAAA
QAEAAAAAAAB5ABEUChGCDAAKIAAARAEAAAAAAAB5ABEUChGCDAAKIAAASAEAAAAAAAB5ABEUChGC
DAAKIAAATAEAAAAAAAB5ABEUChGCDAAKIAAAUAEAAAAAAAB5ABEUChGCDAAKIAAAVAEAAAAAAAB5
ABEUChGCDAB/QAAE5wAAAAAAAAB5ABEUChGCDAB/QAAE6AAAAAAAAAB5ABEUChGCDAAKIAAAaAEA
AAAAAAB5ABEUChGCDAAKIAAAbAEAAAAAAAB5ABBDFVwuX1BSX0NQVTQIX0NQQxJBFBEKEQERFAoR
ggwACiAAAJABAAAAAAAAeQARFAoRggwACiAAAJQBAAAAAAAAeQARFAoRggwACiAAAJgBAAAAAAAA
eQARFAoRggwACiAAAJwBAAAAAAAAeQARFAoRggwACiAAAKABAAAAAAAAeQARFAoRggwACiAAAKQB
AAAAAAAAeQARFAoRggwACiAAAKgBAAAAAAAAeQARFAoRggwACiAAAKwBAAAAAAAAeQARFAoRggwA
CiAAALABAAAAAAAAeQARFAoRggwACiAAALQBAAAAAAAAeQARFAoRggwACiAAALgBAAAAAAAAeQAR
FAoRggwAf0AABOcAAAAAAAAAeQARFAoRggwAf0AABOgAAAAAAAAAeQARFAoRggwACiAAAMwBAAAA
AAAAeQARFAoRggwACiAAANABAAAAAAAAeQAQQxVcLl9QUl9DUFU1CF9DUEMSQRQRChEBERQKEYIM
AAogAAD0AQAAAAAAAHkAERQKEYIMAAogAAD4AQAAAAAAAHkAERQKEYIMAAogAAD8AQAAAAAAAHkA
ERQKEYIMAAogAAAAAgAAAAAAAHkAERQKEYIMAAogAAAEAgAAAAAAAHkAERQKEYIMAAogAAAIAgAA
AAAAAHkAERQKEYIMAAogAAAMAgAAAAAAAHkAERQKEYIMAAogAAAQAgAAAAAAAHkAERQKEYIMAAog
AAAUAgAAAAAAAHkAERQKEYIMAAogAAAYAgAAAAAAAHkAERQKEYIMAAogAAAcAgAAAAAAAHkAERQK
EYIMAH9AAATnAAAAAAAAAHkAERQKEYIMAH9AAAToAAAAAAAAAHkAERQKEYIMAAogAAAwAgAAAAAA
AHkAERQKEYIMAAogAAA0AgAAAAAAAHkAEEMVXC5fUFJfQ1BVNghfQ1BDEkEUEQoRAREUChGCDAAK
IAAAWAIAAAAAAAB5ABEUChGCDAAKIAAAXAIAAAAAAAB5ABEUChGCDAAKIAAAYAIAAAAAAAB5ABEU
ChGCDAAKIAAAZAIAAAAAAAB5ABEUChGCDAAKIAAAaAIAAAAAAAB5ABEUChGCDAAKIAAAbAIAAAAA
AAB5ABEUChGCDAAKIAAAcAIAAAAAAAB5ABEUChGCDAAKIAAAdAIAAAAAAAB5ABEUChGCDAAKIAAA
eAIAAAAAAAB5ABEUChGCDAAKIAAAfAIAAAAAAAB5ABEUChGCDAAKIAAAgAIAAAAAAAB5ABEUChGC
DAB/QAAE5wAAAAAAAAB5ABEUChGCDAB/QAAE6AAAAAAAAAB5ABEUChGCDAAKIAAAlAIAAAAAAAB5
ABEUChGCDAAKIAAAmAIAAAAAAAB5ABBDFVwuX1BSX0NQVTcIX0NQQxJBFBEKEQERFAoRggwACiAA
ALwCAAAAAAAAeQARFAoRggwACiAAAMACAAAAAAAAeQARFAoRggwACiAAAMQCAAAAAAAAeQARFAoR
ggwACiAAAMgCAAAAAAAAeQARFAoRggwACiAAAMwCAAAAAAAAeQARFAoRggwACiAAANACAAAAAAAA
eQARFAoRggwACiAAANQCAAAAAAAAeQARFAoRggwACiAAANgCAAAAAAAAeQARFAoRggwACiAAANwC
AAAAAAAAeQARFAoRggwACiAAAOACAAAAAAAAeQARFAoRggwACiAAAOQCAAAAAAAAeQARFAoRggwA
f0AABOcAAAAAAAAAeQARFAoRggwAf0AABOgAAAAAAAAAeQARFAoRggwACiAAAPgCAAAAAAAAeQAR
FAoRggwACiAAAPwCAAAAAAAAeQA=
====
begin-base64 644 SSDT.20
U1NEVKUGAAABskludGVsX1RwbVRhYmxlABAAAElOVEwRBxIgEEYMXF9TQl8IVENHUBELCggf4B8B
AgQI8IxUQ0dQAFBQUlGMVENHUAFQUEwxjFRDR1AKAlBQUlCMVENHUAoDVFBSU4xUQ0dQCgRQUE9S
jFRDR1AKBVRQTVaMVENHUAoGTU9SX4xUQ0dQCgdUVkVOW4BUQ0dDAQpyCgJbgRBUQ0dDEVRJRFgI
VFBEQQhbhhxUSURYVFBEQREAQCBUUFAxCFBQTE8IVFBQMwhbgFNNSVABCrIKAluBEFNNSVABU01J
VAhTTUlECBBJW1wvA19TQl9QQ0kwTFBDX1uAVFBNRgAMmK72zAsEAFuBFVRQTUYQUFBJUAhQUElD
CFRQTTIIW4JAWFRQTV8IVE1QVgAURghfSElEAKAPk1RWSUQL0RWkDCTYAQKgGJGTVFZJRAtQEJNU
VklECwsQpAxcoxAAoA+TVFZJRAv6GaQMTc81BKAPk1RESUQLAhCkDAhtAQKgD5NURElECwEQpAwI
bQEBoA+TVFZJRAsUEaQMBo0SAKAPk1RWSUQLShCkDE2vEgCkDEHQDDEUDF9DSUQApAxB0AwxCF9V
SUQBW4BUTU1CAAwAANT+CwAQW4EmVE1NQhFBQ0NTCABIC1RTVEEIVEJDQQgAgHMHVFZJRBBURElE
EBQhX1NUQQCgCpNBQ0NTCv+kAKEPoAqTXFRQTUUApACkCg8IQlVGMRERCg6GCQAAAADU/gBQAAB5
ABQLX0NSUwikQlVGMRQ3VUNNUAKgCZKTChCHaKQAoAmSkwoQh2mkAHAAYKIXlWAKEKAPkpODiGhg
AIOIaWAApAB1YKQBFERAX0RTTQwIVFRNUBEDAQCMVFRNUABUTVBWoEQ3k1VDTVBoERMKEKb63T0b
NrROpCSNEAidFlMBoAuTagCkEQUKAv8BoA2TagGkEQcKBDEuMgCgTwiTagoCoCaSlIOIawAACgtw
g4hrAABQUFJRcFBQUlFTTUlEcArBU01JVKQAoDCQkpWDiGsAAAoOkpSDiGsAAAoScIOIawAAUFBS
UXBQUFJRU01JRHAKwVNNSVSkAKAukZODiGsAAAoVk4OIawAAChZwg4hrAABQUFJRcFBQUlFTTUlE
cArBU01JVKQApAGgMpNqCgMIVE1QMRIEAgD/cFBQUlFUTVBWcHtUTVBWUFBSUVRNUFaIVE1QMQEA
pFRNUDGgCJNqCgSkCgKgOZNqCgUIVE1QMhIFAwD//3AK/1NNSURwCsFTTUlUcFNNSUSIVE1QMgEA
cACIVE1QMgoCAKRUTVAyoAiTagoGpAoDoE8Ik2oKB6AmkpSDiGsAAAoLcIOIawAAUFBSUXBQUFJR
U01JRHAKwVNNSVSkAKAwkJKVg4hrAAAKDpKUg4hrAAAKEnCDiGsAAFBQUlFwUFBSUVNNSURwCsFT
TUlUpACgLpGTg4hrAAAKFZODiGsAAAoWcIOIawAAUFBSUXBQUFJRU01JRHAKwVNNSVSkAKQBoEsZ
k2oKCKBLDJNUUE0yAaALk4OIawAAAKQKBKAWkJKVg4hrAAABkpSDiGsAAAoEpAoEoBeQkpWDiGsA
AAoGkpSDiGsAAAoNpAoEoBWRk4OIawAACg+Tg4hrAAAKEKQKBKAVkZODiGsAAAoTk4OIawAAChSk
CgSgIJGTg4hrAAAKBZODiGsAAAoOoAqUUFBJQwCkCgSkCgOgIJGTg4hrAAAKFZODiGsAAAoWoAqU
UFBJQwCkCgSkCgOgDJODiGsAAAoRpAoEoAyTg4hrAAAKEqQKA6FIDKAXk4OIawAACgWgCpRQUElD
AKQKBKQKA6AhkJKVg4hrAAABkpSDiGsAAAoEoAqUUFBJUACkCgSkCgOgIpCSlYOIawAACgaSlIOI
awAACgugCpRQUElQAKQKBKQKA6AykZODiGsAAAoOkJKVg4hrAAAKFZKUg4hrAAAKFqARkJRQUElQ
AJRQUElDAKQKBKQKA6AVkZODiGsAAAoQk4OIawAAChKkCgOgHZGTg4hrAAAAkZODiGsAAAoPk4OI
awAAChGkCgSkAKQBoE8Gk1VDTVBoERMKEO1UYDcTzHVGkBxHVtfy1F0BoAmTagCkEQMBA6BFBJNq
AXCDiGsAAFRNUFZ7VE1QVgFUTVBWoBWTVE1QVgBwAFwuX1NCX01PUl+kAKAVk1RNUFYBcAFcLl9T
Ql9NT1JfpACkAaQRAwEAFCBDTU9SAHAAXC5fU0JfTU9SX3AKgFNNSURwCsFTTUlU
====
begin-base64 644 SSDT.9
U1NEVDMAAAABV0xFTk9WT1RQLVNTRFQxAAEAAElOVEwRBxIgEA5cABQKS09VMQBbIQpk
====
begin-base64 644 TCPA.19
VENQQTIAAAACpVBUTAAAAExFTk9WTwAAAAAEBkxOVk8BAAAAAAAAAAkAADDtzAAAAAA=
====
begin-base64 644 UEFI.21
VUVGSUIAAAABeExFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAvpboFd8M4kebl6KKOYvHZTYABQAA
AGi38csAAAAA
====
begin-base64 644 UEFI.25
VUVGSfYCAAABWUxFTk9WT1RQLUo1ICAgkBIAAFBURUMCAAAAl7GfDfzOkU6ssSU12eWoRDYAIwAA
AAAAAABCAAAAQwAAAEQAAABFAAAARgAAAEcAAABIAAAASQAAAEoAAABLAAAATQAAAFEAAADyAAAA
8QAAAAAAAABSAAAAAQAAACAAAAACAAAAAwAAAAQAAAAFAAAAqwAAAAYAAADpAAAABwAAAAgAAADB
AAAACQAAAAoAAAALAAAADAAAAA0AAAAOAAAAAyUF//ka60qDxMLUzrEMo4MM+g7XA7lEnI1vMuY+
wJh4mOSTVa39RrYWbE5pmmue6Xn7wCEoIUyau55+ssoV9DkSL84offJDtRVeYJ8QBgy4boOehopg
SoOp1EHpaicFYkB4+L1j3kSvJ/gn/WeJBsXABK5MS4JEo1PBOCtKCEjtNuzKrsfZTrXh404Vy48E
St+pWO/7yE2jn422vg+DcB2yBNwVXVBNothdG0+CrBGPCp7KFfgpSqcW665FymNuY9tLzKOtQki6
DFBYrRfT2OI29xv89DlMnpvOqDU5wxqcnMfECZ9RQZnEU6AKSpSWu8ledRZ/BEaKK2FX2RCglgCo
Y++GlftChKvqWQvxQaoFnuHumgcXTY9Gz4ESYNsmZnNeUimEZUuxdzt5BN2/hfB2O1T1FeZFrvre
Bf7kBObPc9dosvvdR6zRIY75GaUsG5hinPCsekiyzqmjdEwNQ14dnGK99lJPil+Tlucom+zBUFk/
upx2TrKqg0/aXgfJW+lmybJhfEGXAkxCM3GA6Fjcr9gibvhCmWY2/3iMnK9/7kXQvpjrT70w1nY3
fc74JVGwbbuIjkGkvO/EF01pvDi0kdpHiwpNrVbHKKlMf1hlAJtZMIZxS7ScCxKvVgeAx3afm/oo
K0WXH8Eg7Z9emZx8lm5CjmVInWxPgAUvLA7JJw2w3MwTRJB4FIigDLb+7JqRuJyTS0epGCmfsmWT
bIqMPCTQu6lKvhfPm1gxMOw=
====
begin-base64 644 headers
ClJTRCBQVFI6IENoZWNrc3VtPTEwMSwgT0VNSUQ9TEVOT1ZPLCBSc2R0QWRkcmVzcz0weGNjZmZl
MGZjCgoKUlNEVDogTGVuZ3RoPTE0MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjE1LAoJT0VNSUQ9
TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9y
IElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgoKCUVudHJpZXM9eyAweGNjZmY4MDAwLCAw
eGNjZmZkMDAwLCAweGNjZmZjMDAwLCAweGNjZmZiMDAwLCAweGNjZmZhMDAwLCAweGNjZmY3MDAw
LCAweGNjZmY2MDAwLCAweGNjZmY1MDAwLCAweGNjZmY0MDAwLCAweGNjZmUxMDAwLCAweGNjZmUw
MDAwLCAweGNjZmRmMDAwLCAweGNjZmRlMDAwLCAweGNjZmRjMDAwLCAweGNjZmRiMDAwLCAweGNj
ZmRhMDAwLCAweGNjZmQ5MDAwLCAweGNjZmQ4MDAwLCAweGNjZmQ3MDAwLCAweGNjZmQ2MDAwLCAw
eGNjZWIyMDAwLCAweGNjZmQ1MDAwLCAweGNjZmQ0MDAwLCAweGNjZmQzMDAwLCAweGNjZmQyMDAw
LCAweGNjZmQxMDAwIH0KCgoJRFNEVD0weGNjZmUyMDAwCglJTlRfTU9ERUw9UElDCglTQ0lfSU5U
PTkKCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHhmMiwgQUNQSV9ESVNBQkxFPTB4ZjEsIFM0
QklPU19SRVE9MHgwCglQTTFhX0VWVF9CTEs9MHgxODAwLTB4MTgwMwoJUE0xYV9DTlRfQkxLPTB4
MTgwNC0weDE4MDUKCVBNMl9DTlRfQkxLPTB4MTg1MC0weDE4NTAKCVBNMl9UTVJfQkxLPTB4MTgw
OC0weDE4MGIKCVBNMl9HUEUwX0JMSz0weDE4ODAtMHgxODlmCglQX0xWTDJfTEFUPTEwMW1zLCBQ
X0xWTDNfTEFUPTEwMDFtcwoJRkxVU0hfU0laRT0wLCBGTFVTSF9TVFJJREU9MAoJRFVUWV9PRkZT
RVQ9MSwgRFVUWV9XSURUSD0zCglEQVlfQUxSTT0xMywgTU9OX0FMUk09MCwgQ0VOVFVSWT01MAoJ
RmxhZ3M9e1dCSU5WRCxQUk9DX0MxLFBfTFZMMl9VUCxTTFBfQlVUVE9OLFJUQ19TNCxEQ0tfQ0FQ
fQoKCkRTRFQ6IExlbmd0aD03MDQxMSwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTU2LAoJT0VNSUQ9
TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9y
IElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQoKClNMSUM6IExlbmd0aD0zNzQs
IFJldmlzaW9uPTEsIENoZWNrc3VtPTE4MSwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVRQ
LUo1LCBPRU0gUmV2aXNpb249MHgxMjkwLAoJQ3JlYXRvciBJRD1QVEVDLCBDcmVhdG9yIFJldmlz
aW9uPTB4MQoKCkFTRiE6IExlbmd0aD0xNjUsIFJldmlzaW9uPTMyLCBDaGVja3N1bT0xMzYsCglP
RU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1KNSwgT0VNIFJldmlzaW9uPTB4MTI5MCwKCUNy
ZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0weDIKCgpIUEVUOiBMZW5ndGg9NTYsIFJl
dmlzaW9uPTEsIENoZWNrc3VtPTc1LAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUs
IE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249
MHgyCgoKRUNEVDogTGVuZ3RoPTgyLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMzgsCglPRU1JRD1M
RU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1KNSwgT0VNIFJldmlzaW9uPTB4MTI5MCwKCUNyZWF0b3Ig
SUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0weDIKCgpBUElDOiBMZW5ndGg9MTUyLCBSZXZpc2lv
bj0xLCBDaGVja3N1bT0xMzEsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1KNSwgT0VN
IFJldmlzaW9uPTB4MTI5MCwKCUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0weDIK
CgpNQ0ZHOiBMZW5ndGg9NjAsIFJldmlzaW9uPTEsIENoZWNrc3VtPTI4LAoJT0VNSUQ9TEVOT1ZP
LCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElEPVBU
RUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgoKU1NEVDogTGVuZ3RoPTUxLCBSZXZpc2lvbj0xLCBD
aGVja3N1bT04NywKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVRQLVNTRFQxLCBPRU0gUmV2
aXNpb249MHgxMDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcx
MQoKClNTRFQ6IExlbmd0aD0xMTU4LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xODUsCglPRU1JRD1M
RU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1TU0RUMiwgT0VNIFJldmlzaW9uPTB4MjAwLAoJQ3JlYXRv
ciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxMjA3MTEKCgpTU0RUOiBMZW5ndGg9MjMz
OCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjAzLAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9
U2F0YUFoY2ksIE9FTSBSZXZpc2lvbj0weDEwMDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3Ig
UmV2aXNpb249MHgyMDEyMDcxMQoKClNTRFQ6IExlbmd0aD0xNTc4LCBSZXZpc2lvbj0xLCBDaGVj
a3N1bT0zMCwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPUNwdTBJc3QsIE9FTSBSZXZpc2lv
bj0weDMwMDAsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQoK
ClNTRFQ6IExlbmd0aD0yOTMyLCBSZXZpc2lvbj0yLCBDaGVja3N1bT0xMDcsCglPRU1JRD1MRU5P
Vk8sIE9FTSBUYWJsZSBJRD1DcHVTc2R0LCBPRU0gUmV2aXNpb249MHgzMDAwLAoJQ3JlYXRvciBJ
RD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxMjA3MTEKCgpTU0RUOiBMZW5ndGg9ODczLCBS
ZXZpc2lvbj0yLCBDaGVja3N1bT0xMDUsCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1DdGRw
QiwgT0VNIFJldmlzaW9uPTB4MTAwMCwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lv
bj0weDIwMTIwNzExCgoKU1NEVDogTGVuZ3RoPTUyMzksIFJldmlzaW9uPTEsIENoZWNrc3VtPTE0
MiwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVNhU3NkdCwgT0VNIFJldmlzaW9uPTB4MzAw
MCwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTIwNzExCgoKU1NEVDog
TGVuZ3RoPTkxNiwgUmV2aXNpb249MiwgQ2hlY2tzdW09MTA0LAoJT0VNSUQ9TEVOT1ZPLCBPRU0g
VGFibGUgSUQ9Q3BwY1RhYmwsIE9FTSBSZXZpc2lvbj0weDEwMDAsCglDcmVhdG9yIElEPUlOVEws
IENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQoKClBDQ1Q6IExlbmd0aD0xMTAsIFJldmlzaW9u
PTUsIENoZWNrc3VtPTE4NSwKCU9FTUlEPUxFTk9WTywgT0VNIFRhYmxlIElEPVRQLUo1LCBPRU0g
UmV2aXNpb249MHgxMjkwLAoJQ3JlYXRvciBJRD1QVEVDLCBDcmVhdG9yIFJldmlzaW9uPTB4MgoK
ClNTRFQ6IExlbmd0aD0yNzU2LCBSZXZpc2lvbj0yLCBDaGVja3N1bT03NSwKCU9FTUlEPUxFTk9W
TywgT0VNIFRhYmxlIElEPUNwY19UYWJsLCBPRU0gUmV2aXNpb249MHgxMDAwLAoJQ3JlYXRvciBJ
RD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxMjA3MTEKCgpUQ1BBOiBMZW5ndGg9NTAsIFJl
dmlzaW9uPTIsIENoZWNrc3VtPTE2NSwKCU9FTUlEPVBUTCwgT0VNIFRhYmxlIElEPUxFTk9WTywg
T0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9TE5WTywgQ3JlYXRvciBSZXZpc2lv
bj0weDEKCgpTU0RUOiBMZW5ndGg9MTcwMSwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTc4LAoJT0VN
SUQ9SW50ZWxfLCBPRU0gVGFibGUgSUQ9VHBtVGFibGUsIE9FTSBSZXZpc2lvbj0weDEwMDAsCglD
cmVhdG9yIElEPUlOVEwsIENyZWF0b3IgUmV2aXNpb249MHgyMDEyMDcxMQoKClVFRkk6IExlbmd0
aD02NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTIwLAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUg
SUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3Ig
UmV2aXNpb249MHgyCgoKTVNETTogTGVuZ3RoPTg1LCBSZXZpc2lvbj0zLCBDaGVja3N1bT0xMjgs
CglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1KNSwgT0VNIFJldmlzaW9uPTB4MTI5MCwK
CUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0weDIKCgpCQVRCOiBMZW5ndGg9NzAs
IFJldmlzaW9uPTEsIENoZWNrc3VtPTcyLAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAt
SjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNp
b249MHgyCgoKRlBEVDogTGVuZ3RoPTEwMCwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTA0LAoJT0VN
SUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVh
dG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgoKVUVGSTogTGVuZ3RoPTc1OCwgUmV2
aXNpb249MSwgQ2hlY2tzdW09ODksCglPRU1JRD1MRU5PVk8sIE9FTSBUYWJsZSBJRD1UUC1KNSwg
T0VNIFJldmlzaW9uPTB4MTI5MCwKCUNyZWF0b3IgSUQ9UFRFQywgQ3JlYXRvciBSZXZpc2lvbj0w
eDIKCgpCR1JUOiBMZW5ndGg9NTYsIFJldmlzaW9uPTEsIENoZWNrc3VtPTQyLAoJT0VNSUQ9TEVO
T1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBSZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElE
PVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgoKRE1BUjogTGVuZ3RoPTE3NiwgUmV2aXNpb249
MSwgQ2hlY2tzdW09MjM1LAoJT0VNSUQ9TEVOT1ZPLCBPRU0gVGFibGUgSUQ9VFAtSjUsIE9FTSBS
ZXZpc2lvbj0weDEyOTAsCglDcmVhdG9yIElEPVBURUMsIENyZWF0b3IgUmV2aXNpb249MHgyCgo=
====

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

Ulf Brosziewski
Did your patched kernel fail to identify the model, or was it just
two-finger scrolling that didn't work?  The latter isn't available
anyway (the somewhat outdated ALPS code in pms wouldn't support it).

On 01/03/2018 08:27 PM, [hidden email] wrote:

>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
>> Category: system kernel amd64
>> Environment:
> System      : OpenBSD 6.2
> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
>> Description:
>
> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
>
> Here are the details seen by an Ubuntu 1710:
>
> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> N: Name="AlpsPS/2 ALPS DualPoint Stick"
> P: Phys=isa0060/serio1/input1
> S: Sysfs=/devices/platform/i8042/serio1/input/input6
> U: Uniq=
> H: Handlers=mouse0 event4
> B: PROP=21
> B: EV=7
> B: KEY=70000 0 0 0 0
> B: REL=3
>
> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
> P: Phys=isa0060/serio1/input0
> S: Sysfs=/devices/platform/i8042/serio1/input/input4
> U: Uniq=
> H: Handlers=mouse1 event5
> B: PROP=5
> B: EV=b
> B: KEY=e520 10000 0 0 0 0
> B: ABS=260800000000003
>
> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
>


>
>> How-To-Repeat:
>
>> Fix:
>
>
>
> dmesg:
> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8486764544 (8093MB)
> avail mem = 8222527488 (7841MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
> bios0: LENOVO 20DFCTO1WW
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpiec0 at acpi0
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: TSC frequency 2195282520 Hz
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 1, core 0, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 1, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 1, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PEG_)
> acpiprt2 at acpi0: bus 2 (EXP1)
> acpiprt3 at acpi0: bus 4 (EXP3)
> acpiprt4 at acpi0: bus 5 (EXP6)
> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
> acpipwrres1 at acpi0: AMD3, resource for PEG_
> acpipwrres2 at acpi0: AMD2, resource for PEG_
> acpitz0 at acpi0: critical temperature is 127 degC
> acpibtn0 at acpi0: LID_
> "LEN0071" at acpi0 not configured
> "LEN200C" at acpi0 not configured
> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
> acpiac0 at acpi0: AC unit online
> acpithinkpad0 at acpi0
> "SMO1200" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT340F" at acpi0 not configured
> acpivideo0 at acpi0: VID_
> acpivout at acpivideo0 not configured
> acpivideo1 at acpi0: VID_
> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
> drm0 at inteldrm0
> inteldrm0: msi
> inteldrm0: 1920x1080, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
> azalia1: codecs: Conexant/0x510f
> audio0 at azalia1
> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
> pci1 at ppb0 bus 2
> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
> pci2 at ppb1 bus 4
> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
> pci3 at ppb2 bus 5
> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> sdmmc0 at rtsx0: 4-bit
> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
> usb1 at ehci0: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> ahci0: port 1: 1.5Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot #0)
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
> video0 at uvideo0
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
>
> usbdevs:
> [...]

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

regis.etourmy
Thanks a lot for your answer.

My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.

----- Original Message -----
From: "Ulf Brosziewski" <[hidden email]>
To: "regis etourmy" <[hidden email]>, [hidden email]
Sent: Wednesday, 3 January, 2018 11:05:32 PM
Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

Did your patched kernel fail to identify the model, or was it just
two-finger scrolling that didn't work?  The latter isn't available
anyway (the somewhat outdated ALPS code in pms wouldn't support it).

On 01/03/2018 08:27 PM, [hidden email] wrote:

>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
>> Category: system kernel amd64
>> Environment:
> System      : OpenBSD 6.2
> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> Architecture: OpenBSD.amd64
> Machine     : amd64
>> Description:
>
> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
>
> Here are the details seen by an Ubuntu 1710:
>
> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> N: Name="AlpsPS/2 ALPS DualPoint Stick"
> P: Phys=isa0060/serio1/input1
> S: Sysfs=/devices/platform/i8042/serio1/input/input6
> U: Uniq=
> H: Handlers=mouse0 event4
> B: PROP=21
> B: EV=7
> B: KEY=70000 0 0 0 0
> B: REL=3
>
> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
> P: Phys=isa0060/serio1/input0
> S: Sysfs=/devices/platform/i8042/serio1/input/input4
> U: Uniq=
> H: Handlers=mouse1 event5
> B: PROP=5
> B: EV=b
> B: KEY=e520 10000 0 0 0 0
> B: ABS=260800000000003
>
> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
>


>
>> How-To-Repeat:
>
>> Fix:
>
>
>
> dmesg:
> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 8486764544 (8093MB)
> avail mem = 8222527488 (7841MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
> bios0: LENOVO 20DFCTO1WW
> acpi0 at bios0: rev 2
> acpi0: sleep states S0 S3 S4 S5
> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> acpihpet0 at acpi0: 14318179 Hz
> acpiec0 at acpi0
> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu0: 256KB 64b/line 8-way L2 cache
> cpu0: TSC frequency 2195282520 Hz
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> cpu0: apic clock running at 99MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> cpu1 at mainbus0: apid 1 (application processor)
> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu1: 256KB 64b/line 8-way L2 cache
> cpu1: smt 1, core 0, package 0
> cpu2 at mainbus0: apid 2 (application processor)
> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu2: 256KB 64b/line 8-way L2 cache
> cpu2: smt 0, core 1, package 0
> cpu3 at mainbus0: apid 3 (application processor)
> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> cpu3: 256KB 64b/line 8-way L2 cache
> cpu3: smt 1, core 1, package 0
> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiprt1 at acpi0: bus -1 (PEG_)
> acpiprt2 at acpi0: bus 2 (EXP1)
> acpiprt3 at acpi0: bus 4 (EXP3)
> acpiprt4 at acpi0: bus 5 (EXP6)
> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
> acpipwrres1 at acpi0: AMD3, resource for PEG_
> acpipwrres2 at acpi0: AMD2, resource for PEG_
> acpitz0 at acpi0: critical temperature is 127 degC
> acpibtn0 at acpi0: LID_
> "LEN0071" at acpi0 not configured
> "LEN200C" at acpi0 not configured
> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
> acpiac0 at acpi0: AC unit online
> acpithinkpad0 at acpi0
> "SMO1200" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "INT340F" at acpi0 not configured
> acpivideo0 at acpi0: VID_
> acpivout at acpivideo0 not configured
> acpivideo1 at acpi0: VID_
> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
> drm0 at inteldrm0
> inteldrm0: msi
> inteldrm0: 1920x1080, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
> azalia1: codecs: Conexant/0x510f
> audio0 at azalia1
> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
> pci1 at ppb0 bus 2
> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
> pci2 at ppb1 bus 4
> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
> pci3 at ppb2 bus 5
> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> sdmmc0 at rtsx0: 4-bit
> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
> usb1 at ehci0: USB revision 2.0
> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> ahci0: port 0: 6.0Gb/s
> ahci0: port 1: 1.5Gb/s
> scsibus1 at ahci0: 32 targets
> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
> iic0 at ichiic0
> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
> isa0 at pcib0
> isadma0 at isa0
> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
> pckbd0 at pckbc0 (kbd slot)
> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> pms0 at pckbc0 (aux slot #0)
> wsmouse0 at pms0 mux 0
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT
> efifb at mainbus0 not configured
> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
> video0 at uvideo0
> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
>
> usbdevs:
> [...]

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

Ulf Brosziewski
On 01/04/2018 12:23 AM, [hidden email] wrote:
> Thanks a lot for your answer.
>
> My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
> Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.

The ALPS code does not report contact counts to the input
drivers - older models didn't recognize more than one.  That's
the reason why two-finger scrolling is missing there.  Edge
scrolling doesn't need a contact count, so it is supported - if
the model is recognized and it applies one of the ALPS protocols
that pms can handle.  Edge scrolling is not enabled automatically
(yet), but that's a minor problem in comparison.

>
> ----- Original Message -----
> From: "Ulf Brosziewski" <[hidden email]>
> To: "regis etourmy" <[hidden email]>, [hidden email]
> Sent: Wednesday, 3 January, 2018 11:05:32 PM
> Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
>
> Did your patched kernel fail to identify the model, or was it just
> two-finger scrolling that didn't work?  The latter isn't available
> anyway (the somewhat outdated ALPS code in pms wouldn't support it).
>
> On 01/03/2018 08:27 PM, [hidden email] wrote:
>>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
>>> Category: system kernel amd64
>>> Environment:
>> System      : OpenBSD 6.2
>> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>>
>> Architecture: OpenBSD.amd64
>> Machine     : amd64
>>> Description:
>>
>> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
>>
>> Here are the details seen by an Ubuntu 1710:
>>
>> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
>> N: Name="AlpsPS/2 ALPS DualPoint Stick"
>> P: Phys=isa0060/serio1/input1
>> S: Sysfs=/devices/platform/i8042/serio1/input/input6
>> U: Uniq=
>> H: Handlers=mouse0 event4
>> B: PROP=21
>> B: EV=7
>> B: KEY=70000 0 0 0 0
>> B: REL=3
>>
>> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
>> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
>> P: Phys=isa0060/serio1/input0
>> S: Sysfs=/devices/platform/i8042/serio1/input/input4
>> U: Uniq=
>> H: Handlers=mouse1 event5
>> B: PROP=5
>> B: EV=b
>> B: KEY=e520 10000 0 0 0 0
>> B: ABS=260800000000003
>>
>> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
>>
>
>
>>
>>> How-To-Repeat:
>>
>>> Fix:
>>
>>
>>
>> dmesg:
>> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>> real mem = 8486764544 (8093MB)
>> avail mem = 8222527488 (7841MB)
>> mpath0 at root
>> scsibus0 at mpath0: 256 targets
>> mainbus0 at root
>> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
>> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
>> bios0: LENOVO 20DFCTO1WW
>> acpi0 at bios0: rev 2
>> acpi0: sleep states S0 S3 S4 S5
>> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
>> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
>> acpitimer0 at acpi0: 3579545 Hz, 24 bits
>> acpihpet0 at acpi0: 14318179 Hz
>> acpiec0 at acpi0
>> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
>> cpu0 at mainbus0: apid 0 (boot processor)
>> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
>> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu0: 256KB 64b/line 8-way L2 cache
>> cpu0: TSC frequency 2195282520 Hz
>> cpu0: smt 0, core 0, package 0
>> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
>> cpu0: apic clock running at 99MHz
>> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
>> cpu1 at mainbus0: apid 1 (application processor)
>> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu1: 256KB 64b/line 8-way L2 cache
>> cpu1: smt 1, core 0, package 0
>> cpu2 at mainbus0: apid 2 (application processor)
>> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu2: 256KB 64b/line 8-way L2 cache
>> cpu2: smt 0, core 1, package 0
>> cpu3 at mainbus0: apid 3 (application processor)
>> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu3: 256KB 64b/line 8-way L2 cache
>> cpu3: smt 1, core 1, package 0
>> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
>> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
>> acpiprt0 at acpi0: bus 0 (PCI0)
>> acpiprt1 at acpi0: bus -1 (PEG_)
>> acpiprt2 at acpi0: bus 2 (EXP1)
>> acpiprt3 at acpi0: bus 4 (EXP3)
>> acpiprt4 at acpi0: bus 5 (EXP6)
>> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
>> acpipwrres1 at acpi0: AMD3, resource for PEG_
>> acpipwrres2 at acpi0: AMD2, resource for PEG_
>> acpitz0 at acpi0: critical temperature is 127 degC
>> acpibtn0 at acpi0: LID_
>> "LEN0071" at acpi0 not configured
>> "LEN200C" at acpi0 not configured
>> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
>> acpiac0 at acpi0: AC unit online
>> acpithinkpad0 at acpi0
>> "SMO1200" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "INT340F" at acpi0 not configured
>> acpivideo0 at acpi0: VID_
>> acpivout at acpivideo0 not configured
>> acpivideo1 at acpi0: VID_
>> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
>> pci0 at mainbus0 bus 0
>> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
>> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
>> drm0 at inteldrm0
>> inteldrm0: msi
>> inteldrm0: 1920x1080, 32bpp
>> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
>> wsdisplay0: screen 1-5 added (std, vt100 emulation)
>> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
>> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
>> usb0 at xhci0: USB revision 3.0
>> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
>> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
>> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
>> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
>> azalia1: codecs: Conexant/0x510f
>> audio0 at azalia1
>> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
>> pci1 at ppb0 bus 2
>> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
>> pci2 at ppb1 bus 4
>> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
>> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
>> pci3 at ppb2 bus 5
>> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
>> sdmmc0 at rtsx0: 4-bit
>> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
>> usb1 at ehci0: USB revision 2.0
>> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
>> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
>> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
>> ahci0: port 0: 6.0Gb/s
>> ahci0: port 1: 1.5Gb/s
>> scsibus1 at ahci0: 32 targets
>> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
>> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
>> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
>> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
>> iic0 at ichiic0
>> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
>> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
>> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
>> isa0 at pcib0
>> isadma0 at isa0
>> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
>> pckbd0 at pckbc0 (kbd slot)
>> wskbd0 at pckbd0: console keyboard, using wsdisplay0
>> pms0 at pckbc0 (aux slot #0)
>> wsmouse0 at pms0 mux 0
>> pcppi0 at isa0 port 0x61
>> spkr0 at pcppi0
>> vmm0 at mainbus0: VMX/EPT
>> efifb at mainbus0 not configured
>> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
>> video0 at uvideo0
>> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
>> vscsi0 at root
>> scsibus2 at vscsi0: 256 targets
>> softraid0 at root
>> scsibus3 at softraid0: 256 targets
>> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
>> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
>>
>> usbdevs:
>> [...]
>

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

regis.etourmy
Thanks again for your answer.

I put a printf in pms.c to get the version seen by pms. It is 0x7331,
not at all the version 0x0700 seen by Linux. I added a line with this
version in the alps_model structure, and the kernel now identifies the
model.

Also, "pms0: not in sync yet, discard input (state 0)" errors are now
reported by dmesg.

Just like with Bryan Steele-2's ThinkPad E560:
http://openbsd-archive.7691.n7.nabble.com/touchpad-on-ThinkPad-E560-td333627.html

----- Original Message -----
From: "Ulf Brosziewski" <[hidden email]>
To: "regis etourmy" <[hidden email]>
Cc: [hidden email]
Sent: Thursday, 4 January, 2018 1:24:11 AM
Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

On 01/04/2018 12:23 AM, [hidden email] wrote:
> Thanks a lot for your answer.
>
> My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
> Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.

The ALPS code does not report contact counts to the input
drivers - older models didn't recognize more than one.  That's
the reason why two-finger scrolling is missing there.  Edge
scrolling doesn't need a contact count, so it is supported - if
the model is recognized and it applies one of the ALPS protocols
that pms can handle.  Edge scrolling is not enabled automatically
(yet), but that's a minor problem in comparison.

>
> ----- Original Message -----
> From: "Ulf Brosziewski" <[hidden email]>
> To: "regis etourmy" <[hidden email]>, [hidden email]
> Sent: Wednesday, 3 January, 2018 11:05:32 PM
> Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
>
> Did your patched kernel fail to identify the model, or was it just
> two-finger scrolling that didn't work?  The latter isn't available
> anyway (the somewhat outdated ALPS code in pms wouldn't support it).
>
> On 01/03/2018 08:27 PM, [hidden email] wrote:
>>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
>>> Category: system kernel amd64
>>> Environment:
>> System      : OpenBSD 6.2
>> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>>
>> Architecture: OpenBSD.amd64
>> Machine     : amd64
>>> Description:
>>
>> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
>>
>> Here are the details seen by an Ubuntu 1710:
>>
>> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
>> N: Name="AlpsPS/2 ALPS DualPoint Stick"
>> P: Phys=isa0060/serio1/input1
>> S: Sysfs=/devices/platform/i8042/serio1/input/input6
>> U: Uniq=
>> H: Handlers=mouse0 event4
>> B: PROP=21
>> B: EV=7
>> B: KEY=70000 0 0 0 0
>> B: REL=3
>>
>> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
>> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
>> P: Phys=isa0060/serio1/input0
>> S: Sysfs=/devices/platform/i8042/serio1/input/input4
>> U: Uniq=
>> H: Handlers=mouse1 event5
>> B: PROP=5
>> B: EV=b
>> B: KEY=e520 10000 0 0 0 0
>> B: ABS=260800000000003
>>
>> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
>>
>
>
>>
>>> How-To-Repeat:
>>
>>> Fix:
>>
>>
>>
>> dmesg:
>> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
>>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>> real mem = 8486764544 (8093MB)
>> avail mem = 8222527488 (7841MB)
>> mpath0 at root
>> scsibus0 at mpath0: 256 targets
>> mainbus0 at root
>> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
>> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
>> bios0: LENOVO 20DFCTO1WW
>> acpi0 at bios0: rev 2
>> acpi0: sleep states S0 S3 S4 S5
>> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
>> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
>> acpitimer0 at acpi0: 3579545 Hz, 24 bits
>> acpihpet0 at acpi0: 14318179 Hz
>> acpiec0 at acpi0
>> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
>> cpu0 at mainbus0: apid 0 (boot processor)
>> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
>> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu0: 256KB 64b/line 8-way L2 cache
>> cpu0: TSC frequency 2195282520 Hz
>> cpu0: smt 0, core 0, package 0
>> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
>> cpu0: apic clock running at 99MHz
>> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
>> cpu1 at mainbus0: apid 1 (application processor)
>> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu1: 256KB 64b/line 8-way L2 cache
>> cpu1: smt 1, core 0, package 0
>> cpu2 at mainbus0: apid 2 (application processor)
>> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu2: 256KB 64b/line 8-way L2 cache
>> cpu2: smt 0, core 1, package 0
>> cpu3 at mainbus0: apid 3 (application processor)
>> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
>> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
>> cpu3: 256KB 64b/line 8-way L2 cache
>> cpu3: smt 1, core 1, package 0
>> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
>> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
>> acpiprt0 at acpi0: bus 0 (PCI0)
>> acpiprt1 at acpi0: bus -1 (PEG_)
>> acpiprt2 at acpi0: bus 2 (EXP1)
>> acpiprt3 at acpi0: bus 4 (EXP3)
>> acpiprt4 at acpi0: bus 5 (EXP6)
>> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
>> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
>> acpipwrres1 at acpi0: AMD3, resource for PEG_
>> acpipwrres2 at acpi0: AMD2, resource for PEG_
>> acpitz0 at acpi0: critical temperature is 127 degC
>> acpibtn0 at acpi0: LID_
>> "LEN0071" at acpi0 not configured
>> "LEN200C" at acpi0 not configured
>> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
>> acpiac0 at acpi0: AC unit online
>> acpithinkpad0 at acpi0
>> "SMO1200" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "PNP0C14" at acpi0 not configured
>> "INT340F" at acpi0 not configured
>> acpivideo0 at acpi0: VID_
>> acpivout at acpivideo0 not configured
>> acpivideo1 at acpi0: VID_
>> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
>> pci0 at mainbus0 bus 0
>> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
>> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
>> drm0 at inteldrm0
>> inteldrm0: msi
>> inteldrm0: 1920x1080, 32bpp
>> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
>> wsdisplay0: screen 1-5 added (std, vt100 emulation)
>> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
>> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
>> usb0 at xhci0: USB revision 3.0
>> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
>> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
>> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
>> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
>> azalia1: codecs: Conexant/0x510f
>> audio0 at azalia1
>> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
>> pci1 at ppb0 bus 2
>> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
>> pci2 at ppb1 bus 4
>> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
>> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
>> pci3 at ppb2 bus 5
>> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
>> sdmmc0 at rtsx0: 4-bit
>> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
>> usb1 at ehci0: USB revision 2.0
>> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
>> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
>> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
>> ahci0: port 0: 6.0Gb/s
>> ahci0: port 1: 1.5Gb/s
>> scsibus1 at ahci0: 32 targets
>> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
>> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
>> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
>> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
>> iic0 at ichiic0
>> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
>> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
>> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
>> isa0 at pcib0
>> isadma0 at isa0
>> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
>> pckbd0 at pckbc0 (kbd slot)
>> wskbd0 at pckbd0: console keyboard, using wsdisplay0
>> pms0 at pckbc0 (aux slot #0)
>> wsmouse0 at pms0 mux 0
>> pcppi0 at isa0 port 0x61
>> spkr0 at pcppi0
>> vmm0 at mainbus0: VMX/EPT
>> efifb at mainbus0 not configured
>> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
>> video0 at uvideo0
>> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
>> vscsi0 at root
>> scsibus2 at vscsi0: 256 targets
>> softraid0 at root
>> scsibus3 at softraid0: 256 targets
>> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
>> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
>>
>> usbdevs:
>> [...]
>

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

Anton Lindqvist-2
On Sat, Jan 06, 2018 at 01:02:47AM +0100, [hidden email] wrote:
> Thanks again for your answer.
>
> I put a printf in pms.c to get the version seen by pms. It is 0x7331,
> not at all the version 0x0700 seen by Linux. I added a line with this
> version in the alps_model structure, and the kernel now identifies the
> model.

Looks like you're not running current. An entry for 0x7331 was added
back in December by robert@.

https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/pms.c.diff?r1=1.83&r2=1.84&f=h

> Also, "pms0: not in sync yet, discard input (state 0)" errors are now
> reported by dmesg.
>
> Just like with Bryan Steele-2's ThinkPad E560:
> http://openbsd-archive.7691.n7.nabble.com/touchpad-on-ThinkPad-E560-td333627.html
>
> ----- Original Message -----
> From: "Ulf Brosziewski" <[hidden email]>
> To: "regis etourmy" <[hidden email]>
> Cc: [hidden email]
> Sent: Thursday, 4 January, 2018 1:24:11 AM
> Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
>
> On 01/04/2018 12:23 AM, [hidden email] wrote:
> > Thanks a lot for your answer.
> >
> > My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
> > Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.
>
> The ALPS code does not report contact counts to the input
> drivers - older models didn't recognize more than one.  That's
> the reason why two-finger scrolling is missing there.  Edge
> scrolling doesn't need a contact count, so it is supported - if
> the model is recognized and it applies one of the ALPS protocols
> that pms can handle.  Edge scrolling is not enabled automatically
> (yet), but that's a minor problem in comparison.
>
> >
> > ----- Original Message -----
> > From: "Ulf Brosziewski" <[hidden email]>
> > To: "regis etourmy" <[hidden email]>, [hidden email]
> > Sent: Wednesday, 3 January, 2018 11:05:32 PM
> > Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >
> > Did your patched kernel fail to identify the model, or was it just
> > two-finger scrolling that didn't work?  The latter isn't available
> > anyway (the somewhat outdated ALPS code in pms wouldn't support it).
> >
> > On 01/03/2018 08:27 PM, [hidden email] wrote:
> >>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >>> Category: system kernel amd64
> >>> Environment:
> >> System      : OpenBSD 6.2
> >> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >>
> >> Architecture: OpenBSD.amd64
> >> Machine     : amd64
> >>> Description:
> >>
> >> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
> >>
> >> Here are the details seen by an Ubuntu 1710:
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint Stick"
> >> P: Phys=isa0060/serio1/input1
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input6
> >> U: Uniq=
> >> H: Handlers=mouse0 event4
> >> B: PROP=21
> >> B: EV=7
> >> B: KEY=70000 0 0 0 0
> >> B: REL=3
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
> >> P: Phys=isa0060/serio1/input0
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input4
> >> U: Uniq=
> >> H: Handlers=mouse1 event5
> >> B: PROP=5
> >> B: EV=b
> >> B: KEY=e520 10000 0 0 0 0
> >> B: ABS=260800000000003
> >>
> >> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
> >>
> >
> >
> >>
> >>> How-To-Repeat:
> >>
> >>> Fix:
> >>
> >>
> >>
> >> dmesg:
> >> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >> real mem = 8486764544 (8093MB)
> >> avail mem = 8222527488 (7841MB)
> >> mpath0 at root
> >> scsibus0 at mpath0: 256 targets
> >> mainbus0 at root
> >> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
> >> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
> >> bios0: LENOVO 20DFCTO1WW
> >> acpi0 at bios0: rev 2
> >> acpi0: sleep states S0 S3 S4 S5
> >> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> >> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
> >> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> >> acpihpet0 at acpi0: 14318179 Hz
> >> acpiec0 at acpi0
> >> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> >> cpu0 at mainbus0: apid 0 (boot processor)
> >> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
> >> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu0: 256KB 64b/line 8-way L2 cache
> >> cpu0: TSC frequency 2195282520 Hz
> >> cpu0: smt 0, core 0, package 0
> >> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> >> cpu0: apic clock running at 99MHz
> >> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> >> cpu1 at mainbus0: apid 1 (application processor)
> >> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu1: 256KB 64b/line 8-way L2 cache
> >> cpu1: smt 1, core 0, package 0
> >> cpu2 at mainbus0: apid 2 (application processor)
> >> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu2: 256KB 64b/line 8-way L2 cache
> >> cpu2: smt 0, core 1, package 0
> >> cpu3 at mainbus0: apid 3 (application processor)
> >> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu3: 256KB 64b/line 8-way L2 cache
> >> cpu3: smt 1, core 1, package 0
> >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> >> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> >> acpiprt0 at acpi0: bus 0 (PCI0)
> >> acpiprt1 at acpi0: bus -1 (PEG_)
> >> acpiprt2 at acpi0: bus 2 (EXP1)
> >> acpiprt3 at acpi0: bus 4 (EXP3)
> >> acpiprt4 at acpi0: bus 5 (EXP6)
> >> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
> >> acpipwrres1 at acpi0: AMD3, resource for PEG_
> >> acpipwrres2 at acpi0: AMD2, resource for PEG_
> >> acpitz0 at acpi0: critical temperature is 127 degC
> >> acpibtn0 at acpi0: LID_
> >> "LEN0071" at acpi0 not configured
> >> "LEN200C" at acpi0 not configured
> >> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
> >> acpiac0 at acpi0: AC unit online
> >> acpithinkpad0 at acpi0
> >> "SMO1200" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "INT340F" at acpi0 not configured
> >> acpivideo0 at acpi0: VID_
> >> acpivout at acpivideo0 not configured
> >> acpivideo1 at acpi0: VID_
> >> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
> >> pci0 at mainbus0 bus 0
> >> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> >> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
> >> drm0 at inteldrm0
> >> inteldrm0: msi
> >> inteldrm0: 1920x1080, 32bpp
> >> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> >> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> >> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
> >> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
> >> usb0 at xhci0: USB revision 3.0
> >> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
> >> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> >> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
> >> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
> >> azalia1: codecs: Conexant/0x510f
> >> audio0 at azalia1
> >> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
> >> pci1 at ppb0 bus 2
> >> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci2 at ppb1 bus 4
> >> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
> >> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci3 at ppb2 bus 5
> >> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> >> sdmmc0 at rtsx0: 4-bit
> >> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
> >> usb1 at ehci0: USB revision 2.0
> >> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> >> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
> >> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> >> ahci0: port 0: 6.0Gb/s
> >> ahci0: port 1: 1.5Gb/s
> >> scsibus1 at ahci0: 32 targets
> >> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
> >> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> >> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
> >> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
> >> iic0 at ichiic0
> >> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
> >> isa0 at pcib0
> >> isadma0 at isa0
> >> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
> >> pckbd0 at pckbc0 (kbd slot)
> >> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> >> pms0 at pckbc0 (aux slot #0)
> >> wsmouse0 at pms0 mux 0
> >> pcppi0 at isa0 port 0x61
> >> spkr0 at pcppi0
> >> vmm0 at mainbus0: VMX/EPT
> >> efifb at mainbus0 not configured
> >> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
> >> video0 at uvideo0
> >> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
> >> vscsi0 at root
> >> scsibus2 at vscsi0: 256 targets
> >> softraid0 at root
> >> scsibus3 at softraid0: 256 targets
> >> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
> >> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
> >>
> >> usbdevs:
> >> [...]
> >
>

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

regis.etourmy
Indeed, I was running version, now I'm running a patched stable.

----- Original Message -----
From: "Anton Lindqvist" <[hidden email]>
To: "regis etourmy" <[hidden email]>
Cc: "Ulf Brosziewski" <[hidden email]>, [hidden email]
Sent: Saturday, 6 January, 2018 10:22:18 AM
Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

On Sat, Jan 06, 2018 at 01:02:47AM +0100, [hidden email] wrote:
> Thanks again for your answer.
>
> I put a printf in pms.c to get the version seen by pms. It is 0x7331,
> not at all the version 0x0700 seen by Linux. I added a line with this
> version in the alps_model structure, and the kernel now identifies the
> model.

Looks like you're not running current. An entry for 0x7331 was added
back in December by robert@.

https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/pms.c.diff?r1=1.83&r2=1.84&f=h

> Also, "pms0: not in sync yet, discard input (state 0)" errors are now
> reported by dmesg.
>
> Just like with Bryan Steele-2's ThinkPad E560:
> http://openbsd-archive.7691.n7.nabble.com/touchpad-on-ThinkPad-E560-td333627.html
>
> ----- Original Message -----
> From: "Ulf Brosziewski" <[hidden email]>
> To: "regis etourmy" <[hidden email]>
> Cc: [hidden email]
> Sent: Thursday, 4 January, 2018 1:24:11 AM
> Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
>
> On 01/04/2018 12:23 AM, [hidden email] wrote:
> > Thanks a lot for your answer.
> >
> > My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
> > Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.
>
> The ALPS code does not report contact counts to the input
> drivers - older models didn't recognize more than one.  That's
> the reason why two-finger scrolling is missing there.  Edge
> scrolling doesn't need a contact count, so it is supported - if
> the model is recognized and it applies one of the ALPS protocols
> that pms can handle.  Edge scrolling is not enabled automatically
> (yet), but that's a minor problem in comparison.
>
> >
> > ----- Original Message -----
> > From: "Ulf Brosziewski" <[hidden email]>
> > To: "regis etourmy" <[hidden email]>, [hidden email]
> > Sent: Wednesday, 3 January, 2018 11:05:32 PM
> > Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >
> > Did your patched kernel fail to identify the model, or was it just
> > two-finger scrolling that didn't work?  The latter isn't available
> > anyway (the somewhat outdated ALPS code in pms wouldn't support it).
> >
> > On 01/03/2018 08:27 PM, [hidden email] wrote:
> >>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >>> Category: system kernel amd64
> >>> Environment:
> >> System      : OpenBSD 6.2
> >> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >>
> >> Architecture: OpenBSD.amd64
> >> Machine     : amd64
> >>> Description:
> >>
> >> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
> >>
> >> Here are the details seen by an Ubuntu 1710:
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint Stick"
> >> P: Phys=isa0060/serio1/input1
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input6
> >> U: Uniq=
> >> H: Handlers=mouse0 event4
> >> B: PROP=21
> >> B: EV=7
> >> B: KEY=70000 0 0 0 0
> >> B: REL=3
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
> >> P: Phys=isa0060/serio1/input0
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input4
> >> U: Uniq=
> >> H: Handlers=mouse1 event5
> >> B: PROP=5
> >> B: EV=b
> >> B: KEY=e520 10000 0 0 0 0
> >> B: ABS=260800000000003
> >>
> >> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
> >>
> >
> >
> >>
> >>> How-To-Repeat:
> >>
> >>> Fix:
> >>
> >>
> >>
> >> dmesg:
> >> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >> real mem = 8486764544 (8093MB)
> >> avail mem = 8222527488 (7841MB)
> >> mpath0 at root
> >> scsibus0 at mpath0: 256 targets
> >> mainbus0 at root
> >> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
> >> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
> >> bios0: LENOVO 20DFCTO1WW
> >> acpi0 at bios0: rev 2
> >> acpi0: sleep states S0 S3 S4 S5
> >> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> >> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
> >> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> >> acpihpet0 at acpi0: 14318179 Hz
> >> acpiec0 at acpi0
> >> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> >> cpu0 at mainbus0: apid 0 (boot processor)
> >> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
> >> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu0: 256KB 64b/line 8-way L2 cache
> >> cpu0: TSC frequency 2195282520 Hz
> >> cpu0: smt 0, core 0, package 0
> >> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> >> cpu0: apic clock running at 99MHz
> >> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> >> cpu1 at mainbus0: apid 1 (application processor)
> >> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu1: 256KB 64b/line 8-way L2 cache
> >> cpu1: smt 1, core 0, package 0
> >> cpu2 at mainbus0: apid 2 (application processor)
> >> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu2: 256KB 64b/line 8-way L2 cache
> >> cpu2: smt 0, core 1, package 0
> >> cpu3 at mainbus0: apid 3 (application processor)
> >> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu3: 256KB 64b/line 8-way L2 cache
> >> cpu3: smt 1, core 1, package 0
> >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> >> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> >> acpiprt0 at acpi0: bus 0 (PCI0)
> >> acpiprt1 at acpi0: bus -1 (PEG_)
> >> acpiprt2 at acpi0: bus 2 (EXP1)
> >> acpiprt3 at acpi0: bus 4 (EXP3)
> >> acpiprt4 at acpi0: bus 5 (EXP6)
> >> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
> >> acpipwrres1 at acpi0: AMD3, resource for PEG_
> >> acpipwrres2 at acpi0: AMD2, resource for PEG_
> >> acpitz0 at acpi0: critical temperature is 127 degC
> >> acpibtn0 at acpi0: LID_
> >> "LEN0071" at acpi0 not configured
> >> "LEN200C" at acpi0 not configured
> >> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
> >> acpiac0 at acpi0: AC unit online
> >> acpithinkpad0 at acpi0
> >> "SMO1200" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "INT340F" at acpi0 not configured
> >> acpivideo0 at acpi0: VID_
> >> acpivout at acpivideo0 not configured
> >> acpivideo1 at acpi0: VID_
> >> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
> >> pci0 at mainbus0 bus 0
> >> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> >> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
> >> drm0 at inteldrm0
> >> inteldrm0: msi
> >> inteldrm0: 1920x1080, 32bpp
> >> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> >> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> >> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
> >> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
> >> usb0 at xhci0: USB revision 3.0
> >> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
> >> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> >> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
> >> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
> >> azalia1: codecs: Conexant/0x510f
> >> audio0 at azalia1
> >> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
> >> pci1 at ppb0 bus 2
> >> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci2 at ppb1 bus 4
> >> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
> >> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci3 at ppb2 bus 5
> >> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> >> sdmmc0 at rtsx0: 4-bit
> >> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
> >> usb1 at ehci0: USB revision 2.0
> >> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> >> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
> >> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> >> ahci0: port 0: 6.0Gb/s
> >> ahci0: port 1: 1.5Gb/s
> >> scsibus1 at ahci0: 32 targets
> >> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
> >> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> >> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
> >> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
> >> iic0 at ichiic0
> >> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
> >> isa0 at pcib0
> >> isadma0 at isa0
> >> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
> >> pckbd0 at pckbc0 (kbd slot)
> >> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> >> pms0 at pckbc0 (aux slot #0)
> >> wsmouse0 at pms0 mux 0
> >> pcppi0 at isa0 port 0x61
> >> spkr0 at pcppi0
> >> vmm0 at mainbus0: VMX/EPT
> >> efifb at mainbus0 not configured
> >> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
> >> video0 at uvideo0
> >> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
> >> vscsi0 at root
> >> scsibus2 at vscsi0: 256 targets
> >> softraid0 at root
> >> scsibus3 at softraid0: 256 targets
> >> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
> >> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
> >>
> >> usbdevs:
> >> [...]
> >
>

Reply | Threaded
Open this post in threaded view
|

Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

regis.etourmy
As Ulf wrote, the ALPS code doesn't support two or three finger contact:

retourmy@e550:~$  xinput list-props 7 | fgrep Capa
        Synaptics Capabilities (291):   1, 1, 1, 0, 0, 1, 0

The next to last 1 also suggests that the edge-scrolling might be supported. But I didn't manage to make it work...

Actually, it is still the PS/2 device attached to the touchpad that is working. When I disable the touchpad with "synclient TouchpadOff=0", the touchpad still works. In the same way, if I disable the device n°7, the touchpad still works, but not if I disable the n°8.


xinput list outlput:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ /dev/wsmouse                              id=8    [slave  pointer  (2)]
⎜   ↳ /dev/wsmouse0                             id=7    [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ /dev/wskbd                                id=6    [slave  keyboard (3)]


The dmesg output:

wsmouse0 at pms0 mux 0
la version de ALPOS est 29489
pms0: ALPS Dualpoint, version 0x7331
wsmouse1 at pms0 mux 0


And the Xenocara log:

[    18.558] (II) config/wscons: checking input device /dev/wsmouse0
[    18.558] (**) /dev/wsmouse0: Applying InputClass "touchpad catchall"
[    18.558] (**) /dev/wsmouse0: Applying InputClass "Default clickpad buttons"
[    18.558] (II) LoadModule: "synaptics"
[    18.560] (II) Loading /usr/X11R6/lib/modules/input/synaptics_drv.so
[    18.561] (II) Module synaptics: vendor="X.Org Foundation"
[    18.561]    compiled for 1.18.4, module version = 1.9.0
[    18.561]    Module class: X.Org XInput Driver
[    18.561]    ABI class: X.Org XInput driver, version 22.1
[    18.561] (II) Using input driver 'synaptics' for '/dev/wsmouse0'
[    18.561] (**) /dev/wsmouse0: always reports core events
[    18.561] (**) Option "Device" "/dev/wsmouse0"
[    19.555] (--) synaptics: /dev/wsmouse0: x-axis range 130 - 840 resolution 0
[    19.555] (--) synaptics: /dev/wsmouse0: y-axis range 130 - 640 resolution 0
[    19.555] (**) /dev/wsmouse0: always reports core events
[    19.561] (II) XINPUT: Adding extended input device "/dev/wsmouse0" (type: TOUCHPAD, id 7)
[    19.562] (**) synaptics: /dev/wsmouse0: (accel) MinSpeed is now constant deceleration 2.5
[    19.562] (**) synaptics: /dev/wsmouse0: (accel) MaxSpeed is now 1.75
[    19.562] (**) synaptics: /dev/wsmouse0: (accel) AccelFactor is now 0.229
[    19.562] (**) /dev/wsmouse0: (accel) keeping acceleration scheme 1
[    19.562] (**) /dev/wsmouse0: (accel) acceleration profile 1
[    19.562] (**) /dev/wsmouse0: (accel) acceleration factor: 2.000
[    19.562] (**) /dev/wsmouse0: (accel) acceleration threshold: 4
[    20.052] (II) config/wscons: checking input device /dev/wsmouse
[    20.052] (II) LoadModule: "ws"
[    20.053] (II) Loading /usr/X11R6/lib/modules/input/ws_drv.so
[    20.058] (II) Module ws: vendor="X.Org Foundation"
[    20.058]    compiled for 1.18.4, module version = 1.3.0
[    20.058]    Module class: X.Org XInput Driver
[    20.058]    ABI class: X.Org XInput driver, version 22.1
[    20.058] (II) Using input driver 'ws' for '/dev/wsmouse'
[    20.058] (**) /dev/wsmouse: always reports core events
[    20.058] (II) ws: /dev/wsmouse: debuglevel 0
[    20.058] (**) Option "Device" "/dev/wsmouse"
[    20.058] (**) ws: /dev/wsmouse: ZAxisMapping: buttons 4 and 5
[    20.058] (**) ws: /dev/wsmouse: WAxisMapping: buttons 6 and 7
[    20.058] (**) ws: /dev/wsmouse: associated screen: 0
[    20.058] (II) ws: /dev/wsmouse: minimum x position: 0
[    20.058] (II) ws: /dev/wsmouse: maximum x position: 1919
[    20.058] (II) ws: /dev/wsmouse: minimum y position: 0
[    20.058] (II) ws: /dev/wsmouse: maximum y position: 1079
[    20.058] (==) ws: /dev/wsmouse: Buttons: 7
[    20.058] (**) ws: /dev/wsmouse: YAxisMapping: buttons 4 and 5
[    20.058] (II) XINPUT: Adding extended input device "/dev/wsmouse" (type: MOUSE, id 8)


----- Original Message -----
From: "regis etourmy" <[hidden email]>
To: "Anton Lindqvist" <[hidden email]>
Cc: "Ulf Brosziewski" <[hidden email]>, [hidden email]
Sent: Saturday, 6 January, 2018 7:59:46 PM
Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

Indeed, I was running version, now I'm running a patched stable.

----- Original Message -----
From: "Anton Lindqvist" <[hidden email]>
To: "regis etourmy" <[hidden email]>
Cc: "Ulf Brosziewski" <[hidden email]>, [hidden email]
Sent: Saturday, 6 January, 2018 10:22:18 AM
Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550

On Sat, Jan 06, 2018 at 01:02:47AM +0100, [hidden email] wrote:
> Thanks again for your answer.
>
> I put a printf in pms.c to get the version seen by pms. It is 0x7331,
> not at all the version 0x0700 seen by Linux. I added a line with this
> version in the alps_model structure, and the kernel now identifies the
> model.

Looks like you're not running current. An entry for 0x7331 was added
back in December by robert@.

https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/pms.c.diff?r1=1.83&r2=1.84&f=h

> Also, "pms0: not in sync yet, discard input (state 0)" errors are now
> reported by dmesg.
>
> Just like with Bryan Steele-2's ThinkPad E560:
> http://openbsd-archive.7691.n7.nabble.com/touchpad-on-ThinkPad-E560-td333627.html
>
> ----- Original Message -----
> From: "Ulf Brosziewski" <[hidden email]>
> To: "regis etourmy" <[hidden email]>
> Cc: [hidden email]
> Sent: Thursday, 4 January, 2018 1:24:11 AM
> Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
>
> On 01/04/2018 12:23 AM, [hidden email] wrote:
> > Thanks a lot for your answer.
> >
> > My patched kernel failed to identify the model... I wasn't quite sure about the mask, so I tried a few values.
> > Do you know if the ALPS code in pms can support edge scrolling? I saw it for Synaptics, but not for ALPS.
>
> The ALPS code does not report contact counts to the input
> drivers - older models didn't recognize more than one.  That's
> the reason why two-finger scrolling is missing there.  Edge
> scrolling doesn't need a contact count, so it is supported - if
> the model is recognized and it applies one of the ALPS protocols
> that pms can handle.  Edge scrolling is not enabled automatically
> (yet), but that's a minor problem in comparison.
>
> >
> > ----- Original Message -----
> > From: "Ulf Brosziewski" <[hidden email]>
> > To: "regis etourmy" <[hidden email]>, [hidden email]
> > Sent: Wednesday, 3 January, 2018 11:05:32 PM
> > Subject: Re: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >
> > Did your patched kernel fail to identify the model, or was it just
> > two-finger scrolling that didn't work?  The latter isn't available
> > anyway (the somewhat outdated ALPS code in pms wouldn't support it).
> >
> > On 01/03/2018 08:27 PM, [hidden email] wrote:
> >>> Synopsis: ALPS DualPoint touchpad not recognized on ThinkPad E550
> >>> Category: system kernel amd64
> >>> Environment:
> >> System      : OpenBSD 6.2
> >> Details     : OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >> [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >>
> >> Architecture: OpenBSD.amd64
> >> Machine     : amd64
> >>> Description:
> >>
> >> Everything works fine with 6.2 on my ThinkPad E550, except for the touchpad seen as a PS/2 mouses. It works, but I can't scroll with two fingers.  
> >>
> >> Here are the details seen by an Ubuntu 1710:
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint Stick"
> >> P: Phys=isa0060/serio1/input1
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input6
> >> U: Uniq=
> >> H: Handlers=mouse0 event4
> >> B: PROP=21
> >> B: EV=7
> >> B: KEY=70000 0 0 0 0
> >> B: REL=3
> >>
> >> I: Bus=0011 Vendor=0002 Product=0008 Version=0700
> >> N: Name="AlpsPS/2 ALPS DualPoint TouchPad"
> >> P: Phys=isa0060/serio1/input0
> >> S: Sysfs=/devices/platform/i8042/serio1/input/input4
> >> U: Uniq=
> >> H: Handlers=mouse1 event5
> >> B: PROP=5
> >> B: EV=b
> >> B: KEY=e520 10000 0 0 0 0
> >> B: ABS=260800000000003
> >>
> >> As I am really naive, I tried to add a line with version 0x0700 in the alps_model structure, in pms.c, an compilled a new kernel. It wasn't enough, of course.
> >>
> >
> >
> >>
> >>> How-To-Repeat:
> >>
> >>> Fix:
> >>
> >>
> >>
> >> dmesg:
> >> OpenBSD 6.2 (GENERIC.MP) #2: Sun Dec 10 21:14:42 CET 2017
> >>     [hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> >> real mem = 8486764544 (8093MB)
> >> avail mem = 8222527488 (7841MB)
> >> mpath0 at root
> >> scsibus0 at mpath0: 256 targets
> >> mainbus0 at root
> >> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xccdfd000 (62 entries)
> >> bios0: vendor LENOVO version "J5ET58WW (1.29 )" date 09/12/2017
> >> bios0: LENOVO 20DFCTO1WW
> >> acpi0 at bios0: rev 2
> >> acpi0: sleep states S0 S3 S4 S5
> >> acpi0: tables DSDT FACP SLIC ASF! HPET ECDT APIC MCFG SSDT SSDT SSDT SSDT SSDT SSDT SSDT SSDT PCCT SSDT TCPA SSDT UEFI MSDM BATB FPDT UEFI BGRT DMAR
> >> acpi0: wakeup devices LID_(S3) IGBE(S4) EXP3(S4) XHCI(S3) EHC1(S3)
> >> acpitimer0 at acpi0: 3579545 Hz, 24 bits
> >> acpihpet0 at acpi0: 14318179 Hz
> >> acpiec0 at acpi0
> >> acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
> >> cpu0 at mainbus0: apid 0 (boot processor)
> >> cpu0: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2195.28 MHz
> >> cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu0: 256KB 64b/line 8-way L2 cache
> >> cpu0: TSC frequency 2195282520 Hz
> >> cpu0: smt 0, core 0, package 0
> >> mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges
> >> cpu0: apic clock running at 99MHz
> >> cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE
> >> cpu1 at mainbus0: apid 1 (application processor)
> >> cpu1: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu1: 256KB 64b/line 8-way L2 cache
> >> cpu1: smt 1, core 0, package 0
> >> cpu2 at mainbus0: apid 2 (application processor)
> >> cpu2: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu2: 256KB 64b/line 8-way L2 cache
> >> cpu2: smt 0, core 1, package 0
> >> cpu3 at mainbus0: apid 3 (application processor)
> >> cpu3: Intel(R) Core(TM) i5-5200U CPU @ 2.20GHz, 2194.92 MHz
> >> cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,BMI1,AVX2,SMEP,BMI2,ERMS,INVPCID,RDSEED,ADX,SMAP,PT,SENSOR,ARAT
> >> cpu3: 256KB 64b/line 8-way L2 cache
> >> cpu3: smt 1, core 1, package 0
> >> ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 40 pins
> >> acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
> >> acpiprt0 at acpi0: bus 0 (PCI0)
> >> acpiprt1 at acpi0: bus -1 (PEG_)
> >> acpiprt2 at acpi0: bus 2 (EXP1)
> >> acpiprt3 at acpi0: bus 4 (EXP3)
> >> acpiprt4 at acpi0: bus 5 (EXP6)
> >> acpicpu0 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu1 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu2 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpicpu3 at acpi0: C3(200@233 mwait.1@0x40), C2(200@148 mwait.1@0x33), C1(1000@1 mwait.1), PSS
> >> acpipwrres0 at acpi0: PUBS, resource for XHCI, EHC1
> >> acpipwrres1 at acpi0: AMD3, resource for PEG_
> >> acpipwrres2 at acpi0: AMD2, resource for PEG_
> >> acpitz0 at acpi0: critical temperature is 127 degC
> >> acpibtn0 at acpi0: LID_
> >> "LEN0071" at acpi0 not configured
> >> "LEN200C" at acpi0 not configured
> >> acpibat0 at acpi0: BAT0 model "LNV-45N1" serial  3167 type LION oem "SANYO"
> >> acpiac0 at acpi0: AC unit online
> >> acpithinkpad0 at acpi0
> >> "SMO1200" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "PNP0C14" at acpi0 not configured
> >> "INT340F" at acpi0 not configured
> >> acpivideo0 at acpi0: VID_
> >> acpivout at acpivideo0 not configured
> >> acpivideo1 at acpi0: VID_
> >> cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2201, 2200, 2100, 2000, 1800, 1700, 1600, 1500, 1300, 1200, 1100, 1000, 900, 700, 600, 500 MHz
> >> pci0 at mainbus0 bus 0
> >> pchb0 at pci0 dev 0 function 0 "Intel Core 5G Host" rev 0x09
> >> inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 5500" rev 0x09
> >> drm0 at inteldrm0
> >> inteldrm0: msi
> >> inteldrm0: 1920x1080, 32bpp
> >> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> >> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> >> azalia0 at pci0 dev 3 function 0 "Intel Core 5G HD Audio" rev 0x09: msi
> >> xhci0 at pci0 dev 20 function 0 "Intel 9 Series xHCI" rev 0x03: msi
> >> usb0 at xhci0: USB revision 3.0
> >> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev 3.00/1.00 addr 1
> >> "Intel 9 Series MEI" rev 0x03 at pci0 dev 22 function 0 not configured
> >> em0 at pci0 dev 25 function 0 "Intel I218-V" rev 0x03: msi, address 68:f7:28:74:db:31
> >> azalia1 at pci0 dev 27 function 0 "Intel 9 Series HD Audio" rev 0x03: msi
> >> azalia1: codecs: Conexant/0x510f
> >> audio0 at azalia1
> >> ppb0 at pci0 dev 28 function 0 "Intel 9 Series PCIE" rev 0xe3
> >> pci1 at ppb0 bus 2
> >> ppb1 at pci0 dev 28 function 2 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci2 at ppb1 bus 4
> >> iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless AC 3160" rev 0x93, msi
> >> ppb2 at pci0 dev 28 function 5 "Intel 9 Series PCIE" rev 0xe3: msi
> >> pci3 at ppb2 bus 5
> >> rtsx0 at pci3 dev 0 function 0 "Realtek RTS5227 Card Reader" rev 0x01: msi
> >> sdmmc0 at rtsx0: 4-bit
> >> ehci0 at pci0 dev 29 function 0 "Intel 9 Series USB" rev 0x03: apic 2 int 23
> >> usb1 at ehci0: USB revision 2.0
> >> uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
> >> pcib0 at pci0 dev 31 function 0 "Intel 9 Series LPC" rev 0x03
> >> ahci0 at pci0 dev 31 function 2 "Intel 9 Series AHCI" rev 0x03: msi, AHCI 1.3
> >> ahci0: port 0: 6.0Gb/s
> >> ahci0: port 1: 1.5Gb/s
> >> scsibus1 at ahci0: 32 targets
> >> sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG MZ7TE128, EXT0> SCSI3 0/direct fixed naa.5002538844584d30
> >> sd0: 122104MB, 512 bytes/sector, 250069680 sectors, thin
> >> cd0 at scsibus1 targ 1 lun 0: <HL-DT-ST, DVDRAM GUA0N, LZ20> ATAPI 5/cdrom removable
> >> ichiic0 at pci0 dev 31 function 3 "Intel 9 Series SMBus" rev 0x03: apic 2 int 18
> >> iic0 at ichiic0
> >> spdmem0 at iic0 addr 0x50: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> spdmem1 at iic0 addr 0x52: 4GB DDR3 SDRAM PC3-12800 SO-DIMM
> >> pchtemp0 at pci0 dev 31 function 6 "Intel 9 Series Thermal" rev 0x03
> >> isa0 at pcib0
> >> isadma0 at isa0
> >> pckbc0 at isa0 port 0x60/5 irq 1 irq 12 irq 12 irq 12 irq 12
> >> pckbd0 at pckbc0 (kbd slot)
> >> wskbd0 at pckbd0: console keyboard, using wsdisplay0
> >> pms0 at pckbc0 (aux slot #0)
> >> wsmouse0 at pms0 mux 0
> >> pcppi0 at isa0 port 0x61
> >> spkr0 at pcppi0
> >> vmm0 at mainbus0: VMX/EPT
> >> efifb at mainbus0 not configured
> >> uvideo0 at uhub0 port 8 configuration 1 interface 0 "J8IECN3YB Integrated Camera" rev 2.00/0.07 addr 2
> >> video0 at uvideo0
> >> uhub2 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching Hub" rev 2.00/0.03 addr 2
> >> vscsi0 at root
> >> scsibus2 at vscsi0: 256 targets
> >> softraid0 at root
> >> scsibus3 at softraid0: 256 targets
> >> root on sd0a (bdd6b957d42777d3.a) swap on sd0b dump on sd0b
> >> iwm0: hw rev 0x160, fw ver 16.242414.0, address d0:7e:35:89:cf:42
> >>
> >> usbdevs:
> >> [...]
> >
>