My Firewall crashed.

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

My Firewall crashed.

Keith-125
SENDBUG: -*- sendbug -*-
SENDBUG: Lines starting with `SENDBUG' will be removed automatically.
SENDBUG:
SENDBUG: Choose from the following categories:
SENDBUG:
SENDBUG: system user library documentation kernel alpha amd64 arm hppa
i386 m68k m88k mips64 powerpc sh sparc sparc64 vax
SENDBUG:
SENDBUG:
To: [hidden email]
Subject: My Firewall crashed.
From: [hidden email]
Cc:
Reply-To: [hidden email]

 >Synopsis:    <synopsis of the problem (one line)>
 >Category:    <PR category (one line)>
 >Environment:
     System      : OpenBSD 5.2
     Details     : OpenBSD 5.2 (GENERIC.MP) #368: Wed Aug  1 10:04:49
MDT 2012
[hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP

     Architecture: OpenBSD.amd64
     Machine     : amd64
 >Description:
     This host is one of a pair of Firewalls, When it crashed I was
remotely logged into the server but hadn't done anything to if for hours
before it crashed. When I went to server to investigate what had
happened the screen showed
the following....

uvm_fault(0xffffffff80d44ea0, 0x0x 0x 2) -> e
kernel: page fault trap, code=0
Stopped at      sounsplice+0x44:    andw $0xfeff,0x1a8(%r12)
ddb{0}>

I wasn't very sure what to do and wanted the server back online asap so
rebooted the server and it's backup and running now.

 >How-To-Repeat:
     I don't know what caused this.

 >Fix:
     Don't know

SENDBUG: dmesg, pcidump, acpidump and usbdevs are attached.
SENDBUG: Feel free to delete or use the -D flag if they contain
sensitive information.

dmesg:
OpenBSD 5.2 (GENERIC.MP) #368: Wed Aug  1 10:04:49 MDT 2012
[hidden email]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2136576000 (2037MB)
avail mem = 2057388032 (1962MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0x7f79c000 (66 entries)
bios0: vendor Dell Inc. version "1.11.0" date 09/18/2012
bios0: Dell Inc. PowerEdge R310
acpi0 at bios0: rev 2
acpi0: sleep states S0 S4 S5
acpi0: tables DSDT FACP APIC SPCR HPET DM__ MCFG WDAT SLIC ERST HEST
BERT EINJ TCPA SSDT
acpi0: wakeup devices PCI0(S5) USBA(S0) USBB(S0)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz, 2926.42 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG,LAHF
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: apic clock running at 132MHz
cpu1 at mainbus0: apid 4 (application processor)
cpu1: Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz, 2925.99 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG,LAHF
cpu1: 256KB 64b/line 8-way L2 cache
cpu2 at mainbus0: apid 1 (application processor)
cpu2: Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz, 2925.99 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG,LAHF
cpu2: 256KB 64b/line 8-way L2 cache
cpu3 at mainbus0: apid 5 (application processor)
cpu3: Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz, 2925.99 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,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,POPCNT,NXE,LONG,LAHF
cpu3: 256KB 64b/line 8-way L2 cache
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 20, 24 pins
acpihpet0 at acpi0: 14318179 Hz
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus -1 (LYD0)
acpiprt2 at acpi0: bus -1 (LYD2)
acpiprt3 at acpi0: bus 4 (HVD0)
acpiprt4 at acpi0: bus -1 (HVD2)
acpiprt5 at acpi0: bus 3 (PEX0)
acpiprt6 at acpi0: bus -1 (PEX2)
acpiprt7 at acpi0: bus -1 (PEX3)
acpiprt8 at acpi0: bus 2 (PEX4)
acpiprt9 at acpi0: bus 1 (COMP)
acpicpu0 at acpi0: PSS
acpicpu1 at acpi0: PSS
acpicpu2 at acpi0: PSS
acpicpu3 at acpi0: PSS
ipmi at mainbus0 not configured
cpu0: Enhanced SpeedStep 2926 MHz: speeds: 2926, 2793, 2660, 2527, 2394,
2261, 2128, 1995, 1862, 1729, 1596, 1463, 1330, 1197 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 vendor "Intel", unknown product 0x0048
rev 0x12
ppb0 at pci0 dev 1 function 0 vendor "Intel", unknown product 0x0049 rev
0x12: msi
pci1 at ppb0 bus 4
bnx0 at pci1 dev 0 function 0 "Broadcom BCM5709" rev 0x20: apic 0 int 16
bnx1 at pci1 dev 0 function 1 "Broadcom BCM5709" rev 0x20: apic 0 int 17
ehci0 at pci0 dev 26 function 0 "Intel 3400 USB" rev 0x05: apic 0 int 22
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb1 at pci0 dev 28 function 0 "Intel 3400 PCIE" rev 0x05
pci2 at ppb1 bus 3
ppb2 at pci0 dev 28 function 4 "Intel 3400 PCIE" rev 0x05
pci3 at ppb2 bus 2
bnx2 at pci3 dev 0 function 0 "Broadcom BCM5716" rev 0x20: apic 0 int 16
bnx3 at pci3 dev 0 function 1 "Broadcom BCM5716" rev 0x20: apic 0 int 17
ehci1 at pci0 dev 29 function 0 "Intel 3400 USB" rev 0x05: apic 0 int 22
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb3 at pci0 dev 30 function 0 "Intel 82801BA Hub-to-PCI" rev 0xa5
pci4 at ppb3 bus 1
vga1 at pci4 dev 3 function 0 "Matrox MGA G200eW" rev 0x0a
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
pcib0 at pci0 dev 31 function 0 "Intel 3420 LPC" rev 0x05
pciide0 at pci0 dev 31 function 2 "Intel 3400 SATA" rev 0x05: DMA,
channel 0 configured to native-PCI, channel 1 configured to native-PCI
pciide0: using apic 0 int 20 for native-PCI interrupt
wd0 at pciide0 channel 0 drive 0: <SAMSUNG HE161HJ>
wd0: 16-sector PIO, LBA48, 152587MB, 312500000 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 6
pciide1 at pci0 dev 31 function 5 "Intel 3400 SATA" rev 0x05: DMA,
channel 0 wired to native-PCI, channel 1 wired to native-PCI
pciide1: using apic 0 int 21 for native-PCI interrupt
atapiscsi0 at pciide1 channel 0 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <TEAC, DVD-ROM DV-28SW, R.2A> ATAPI
5/cdrom removable
cd0(pciide1:0:0): using PIO mode 4, Ultra-DMA mode 5
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5
kbc: cmd word write error
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
mtrr: Pentium Pro MTRR support
uhub2 at uhub0 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
uhub3 at uhub2 port 1 "Standard Microsystems product 0x2514" rev
2.00/0.00 addr 3
uhub4 at uhub1 port 1 "Intel Rate Matching Hub" rev 2.00/0.00 addr 2
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on wd0a (389b3be1540c9231.a) swap on wd0b dump on wd0b
bnx0: address 00:10:18:7f:28:e8
brgphy0 at bnx0 phy 1: BCM5709 10/100/1000baseT PHY, rev. 8
bnx1: address 00:10:18:7f:28:ea
brgphy1 at bnx1 phy 1: BCM5709 10/100/1000baseT PHY, rev. 8
bnx2: address 84:2b:2b:50:6a:cb
brgphy2 at bnx2 phy 1: BCM5709 10/100/1000baseT PHY, rev. 8
bnx3: address 84:2b:2b:50:6a:cc
brgphy3 at bnx3 phy 1: BCM5709 10/100/1000baseT PHY, rev. 8

usbdevs:
Controller /dev/usb0:
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(0x0020), Intel(0x8087), rev 0.00
   port 1 addr 3: high speed, self powered, config 1, product
0x2514(0x2514), Standard Microsystems(0x0424), rev 0.00
    port 1 powered
    port 2 powered
    port 3 powered
    port 4 powered
   port 2 powered
   port 3 powered
   port 4 powered
   port 5 powered
   port 6 powered
  port 2 powered
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(0x0020), Intel(0x8087), rev 0.00
   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

pcidump:
Domain /dev/pci0:
  0:0:0: Intel unknown
     0x0000: Vendor ID: 8086 Product ID: 0048
     0x0004: Command: 0146 Status ID: 2090
     0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: 12
     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: 1028 Product ID: 02a3
     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: 00488086 20900146 06000012 00000000
     0x0010: 00000000 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 000000e0 00000000 00000000
     0x0040: fed19001 00000000 fe4b0001 00000000
     0x0050: 00020000 00000003 00000000 00000000
     0x0060: 00000000 00000000 fed18001 00000000
     0x0070: 00000000 00000000 00000000 00000000
     0x0080: 00000000 00000000 00000000 00000000
     0x0090: 00000000 00000000 000003ff 00000000
     0x00a0: 08000020 00000000 00000000 7f800000
     0x00b0: 00008000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00010000 00000000
     0x00d0: 00000000 00000303 00000000 8c000000
     0x00e0: 010c0009 89818a2d 01860088 00000000
     0x00f0: 00000000 0000000d 00140fab 00000000
  0:1:0: Intel unknown
     0x0000: Vendor ID: 8086 Product ID: 0049
     0x0004: Command: 0007 Status ID: 0010
     0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: 12
     0x000c: BIST: 00 Header Type: 01 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: 2000
     0x0020: Memory Base: d600 Memory Limit: d9f0
     0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
     0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
     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: 00 Bridge Control: 0007
     0x0088: Capability 0x0d: PCI-PCI
     0x0080: Capability 0x01: Power Management
     0x0090: Capability 0x05: Message Signaled Interrupts (MSI)
     0x00a0: Capability 0x10: PCI Express
             Link Speed: 2.5 / 5.0 GT/s Link Width: x4 / x8
     0x0000: 00498086 00100007 06040012 00010010
     0x0010: 00000000 00000000 00040400 200000f0
     0x0020: d9f0d600 0001fff1 00000000 00000000
     0x0030: 00000000 00000088 00000000 00070100
     0x0040: 00000000 00000000 00000000 00000000
     0x0050: 00000000 00000000 00000000 00000000
     0x0060: 00000000 00000000 00000000 00000000
     0x0070: 00000000 00000000 00000000 02000000
     0x0080: c8039001 00000008 0000800d 00008086
     0x0090: 0001a005 fee00000 00000060 00000000
     0x00a0: 01420010 00008000 00000004 02212c82
     0x00b0: 10410040 000c0c80 00400008 0000000e
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000002 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000007
     0x00f0: 00010000 803e0103 00140fab f000f004
  0:26:0: Intel 3400 USB
     0x0000: Vendor ID: 8086 Product ID: 3b3c
     0x0004: Command: 0146 Status ID: 0290
     0x0008: Class: 0c Subclass: 03 Interface: 20 Revision: 05
     0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
     0x0010: BAR mem 32bit addr: 0xdf0fc000/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: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 0e Min Gnt: 00 Max Lat: 00
     0x0050: Capability 0x01: Power Management
     0x0058: Capability 0x0a: Debug Port
     0x0098: Capability 0x13: PCI Advanced Features
     0x0000: 3b3c8086 02900146 0c032005 00000000
     0x0010: df0fc000 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 00000050 00000000 0000010e
     0x0040: 00000000 00000000 00000000 00000000
     0x0050: c9c25801 00000000 20a0980a 00000000
     0x0060: 01ff2020 00000000 01000001 40082000
     0x0070: 3fdf0000 00000000 00000000 00000000
     0x0080: 00800000 130c8811 000000a0 00000000
     0x0090: 00000000 00000000 03060013 00000000
     0x00a0: 00000000 00000000 00000000 00000000
     0x00b0: 00000000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000000 00ffaa00 00000000 00000000
     0x00e0: 00000000 00000000 00000000 93c05208
     0x00f0: 00000000 004f8588 08050f87 201b1768
  0:28:0: Intel 3400 PCIE
     0x0000: Vendor ID: 8086 Product ID: 3b42
     0x0004: Command: 0147 Status ID: 0010
     0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: 05
     0x000c: BIST: 00 Header Type: 81 Latency Timer: 00 Cache Line Size: 10
     0x0010: 00000000
     0x0014: 00000000
     0x0018: Primary Bus: 0 Secondary Bus: 3 Subordinate Bus: 3
             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: 00000000
     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: 00 Line: 00 Bridge Control: 0007
     0x0040: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x0 / x4
     0x0080: Capability 0x05: Message Signaled Interrupts (MSI)
     0x0090: Capability 0x0d: PCI-PCI
     0x00a0: Capability 0x01: Power Management
     0x0000: 3b428086 00100147 06040005 00810010
     0x0010: 00000000 00000000 00030300 200000f0
     0x0020: 0000fff0 0001fff1 00000000 00000000
     0x0030: 00000000 00000040 00000000 00070000
     0x0040: 00428010 00008000 00100006 01114c41
     0x0050: 10010010 00040000 00400000 00000006
     0x0060: 00000000 00000016 00000000 00000000
     0x0070: 00000001 00000000 00000000 00000000
     0x0080: 00009005 00000000 00000000 00000000
     0x0090: 0000a00d 02a31028 00000000 00000000
     0x00a0: c8020001 00000000 00000000 00000000
     0x00b0: 00000000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00001000 00000000 00110000 00000000
     0x00e0: 00000f00 00080706 00000022 00000000
     0x00f0: 00000000 00000000 08050f87 00000000
  0:28:4: Intel 3400 PCIE
     0x0000: Vendor ID: 8086 Product ID: 3b4a
     0x0004: Command: 0147 Status ID: 0010
     0x0008: Class: 06 Subclass: 04 Interface: 00 Revision: 05
     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: da00 Memory Limit: ddf0
     0x0024: Prefetch Memory Base: fff1 Prefetch Memory Limit: 0001
     0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
     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: 00 Line: 00 Bridge Control: 0007
     0x0040: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x4 / x4
     0x0080: Capability 0x05: Message Signaled Interrupts (MSI)
     0x0090: Capability 0x0d: PCI-PCI
     0x00a0: Capability 0x01: Power Management
     0x0000: 3b4a8086 00100147 06040005 00810010
     0x0010: 00000000 00000000 00020200 200000f0
     0x0020: ddf0da00 0001fff1 00000000 00000000
     0x0030: 00000000 00000040 00000000 00070000
     0x0040: 00428010 00008000 00100006 05112c41
     0x0050: 30410040 00040000 01480000 00000006
     0x0060: 00000000 00000016 00000000 00000000
     0x0070: 00000001 00000000 00000000 00000000
     0x0080: 00009005 00000000 00000000 00000000
     0x0090: 0000a00d 02a31028 00000000 00000000
     0x00a0: c8020001 00000000 00000000 00000000
     0x00b0: 00000000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00001000 00000000 00110000 00000000
     0x00e0: 00000f00 00080706 00000022 00000000
     0x00f0: 00000000 00000000 08050f87 00000000
  0:29:0: Intel 3400 USB
     0x0000: Vendor ID: 8086 Product ID: 3b34
     0x0004: Command: 0146 Status ID: 0290
     0x0008: Class: 0c Subclass: 03 Interface: 20 Revision: 05
     0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
     0x0010: BAR mem 32bit addr: 0xdf0fe000/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: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 0e Min Gnt: 00 Max Lat: 00
     0x0050: Capability 0x01: Power Management
     0x0058: Capability 0x0a: Debug Port
     0x0098: Capability 0x13: PCI Advanced Features
     0x0000: 3b348086 02900146 0c032005 00000000
     0x0010: df0fe000 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 00000050 00000000 0000010e
     0x0040: 00000000 00000000 00000000 00000000
     0x0050: c9c25801 00000000 20a0980a 00000000
     0x0060: 01ff2020 00000000 00000001 c0082000
     0x0070: 3fdf0000 00000000 00000000 00000000
     0x0080: 00800000 130c8811 000000a0 00000000
     0x0090: 00000000 00000000 03060013 00000000
     0x00a0: 00000000 00000000 00000000 00000000
     0x00b0: 00000000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000000 00ffaa00 00000000 00000000
     0x00e0: 00000000 00000000 00000000 62023380
     0x00f0: 00000000 004f8588 08050f87 201b1768
  0:30:0: Intel 82801BA Hub-to-PCI
     0x0000: Vendor ID: 8086 Product ID: 244e
     0x0004: Command: 0147 Status ID: 0010
     0x0008: Class: 06 Subclass: 04 Interface: 01 Revision: a5
     0x000c: BIST: 00 Header Type: 01 Latency Timer: 00 Cache Line Size: 00
     0x0010: 00000000
     0x0014: 00000000
     0x0018: Primary Bus: 0 Secondary Bus: 1 Subordinate Bus: 1
             Secondary Latency Timer: 20
     0x001c: I/O Base: f0 I/O Limit: 00 Secondary Status: 2280
     0x0020: Memory Base: de00 Memory Limit: def0
     0x0024: Prefetch Memory Base: d581 Prefetch Memory Limit: d5f1
     0x0028: Prefetch Memory Base Upper 32 Bits: 00000000
     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: 00 Line: ff Bridge Control: 000b
     0x0050: Capability 0x0d: PCI-PCI
     0x0000: 244e8086 00100147 060401a5 00010000
     0x0010: 00000000 00000000 20010100 228000f0
     0x0020: def0de00 d5f1d581 00000000 00000000
     0x0030: 00000000 00000050 00000000 000b00ff
     0x0040: 00000000 00000000 00000000 10001240
     0x0050: 0000000d 02a31028 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 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 08050f87 00000000
  0:31:0: Intel 3420 LPC
     0x0000: Vendor ID: 8086 Product ID: 3b14
     0x0004: Command: 0147 Status ID: 0210
     0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: 05
     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: 1028 Product ID: 02a3
     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: 3b148086 02100147 06010005 00800000
     0x0010: 00000000 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 000000e0 00000000 00000000
     0x0040: 00000801 00000080 00000881 00000010
     0x0050: 000000f8 00000000 00000000 00000000
     0x0060: 0680050f 000000d0 800e0a0b 000000f1
     0x0070: 00f800f8 00f800f8 00f800f8 00f800f8
     0x0080: 140b0010 00000000 000c0ca1 000c00e1
     0x0090: 00000000 00000500 00000000 00000000
     0x00a0: 0020020a 000002e8 00004500 c0000300
     0x00b0: 00000000 00000000 04010008 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000000 00004567 0000ff80 00000000
     0x00e0: 11100009 1ce42291 5846b758 07fb8805
     0x00f0: feda8001 00000000 08050f87 00000000
  0:31:2: Intel 3400 SATA
     0x0000: Vendor ID: 8086 Product ID: 3b20
     0x0004: Command: 0047 Status ID: 02b0
     0x0008: Class: 01 Subclass: 01 Interface: 8f Revision: 05
     0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
     0x0010: BAR io addr: 0x0000fca0/0x0008
     0x0014: BAR io addr: 0x0000fc90/0x0004
     0x0018: BAR io addr: 0x0000fca8/0x0008
     0x001c: BAR io addr: 0x0000fc94/0x0004
     0x0020: BAR io addr: 0x0000fcc0/0x0010
     0x0024: BAR io addr: 0x0000fcd0/0x0010
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 0b Min Gnt: 00 Max Lat: 00
     0x0070: Capability 0x01: Power Management
     0x00b0: Capability 0x13: PCI Advanced Features
     0x0000: 3b208086 02b00047 01018f05 00000000
     0x0010: 0000fca1 0000fc91 0000fca9 0000fc95
     0x0020: 0000fcc1 0000fcd1 00000000 02a31028
     0x0030: 00000000 00000070 00000000 0000010b
     0x0040: 80008000 00000000 00000000 00000000
     0x0050: 00000000 00000000 00000000 00000000
     0x0060: 00000000 00000000 00000000 00000000
     0x0070: 0003b001 00000008 00000000 00000000
     0x0080: 00007005 00000000 00000000 00000000
     0x0090: 81012e00 2e000183 00590220 00000000
     0x00a0: 000000d4 10000000 00000000 00000000
     0x00b0: 03060013 00000000 00000000 00000000
     0x00c0: 00000000 00000005 00000000 00000000
     0x00d0: 00000000 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 08050f87 00000000
  0:31:5: Intel 3400 SATA
     0x0000: Vendor ID: 8086 Product ID: 3b26
     0x0004: Command: 0045 Status ID: 02b0
     0x0008: Class: 01 Subclass: 01 Interface: 85 Revision: 05
     0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
     0x0010: BAR io addr: 0x0000fcb0/0x0008
     0x0014: BAR io addr: 0x0000fc98/0x0004
     0x0018: BAR io addr: 0x0000fcb8/0x0008
     0x001c: BAR io addr: 0x0000fc9c/0x0004
     0x0020: BAR io addr: 0x0000fce0/0x0010
     0x0024: BAR io addr: 0x0000fcf0/0x0010
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 02 Line: 0a Min Gnt: 00 Max Lat: 00
     0x0070: Capability 0x01: Power Management
     0x00b0: Capability 0x13: PCI Advanced Features
     0x0000: 3b268086 02b00045 01018505 00000000
     0x0010: 0000fcb1 0000fc99 0000fcb9 0000fc9d
     0x0020: 0000fce1 0000fcf1 00000000 02a31028
     0x0030: 00000000 00000070 00000000 0000020a
     0x0040: 80008000 00000000 00000000 00000000
     0x0050: 00000000 00000000 00000000 00000000
     0x0060: 00000000 00000000 00000000 00000000
     0x0070: 0003b001 00000008 00000000 00000000
     0x0080: 00000000 00000000 00000000 00000000
     0x0090: 01010200 00000000 00000000 00000000
     0x00a0: 00000000 00000000 00000000 00000000
     0x00b0: 03060013 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000000 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 08050f87 00000000
  1:3:0: Matrox MGA G200eW
     0x0000: Vendor ID: 102b Product ID: 0532
     0x0004: Command: 0007 Status ID: 0290
     0x0008: Class: 03 Subclass: 00 Interface: 00 Revision: 0a
     0x000c: BIST: 00 Header Type: 00 Latency Timer: 20 Cache Line Size: 10
     0x0010: BAR mem prefetchable 32bit addr: 0xd5800000/0x00800000
     0x0014: BAR mem 32bit addr: 0xde7fc000/0x00004000
     0x0018: BAR mem 32bit addr: 0xde800000/0x00800000
     0x001c: BAR empty (00000000)
     0x0020: BAR empty (00000000)
     0x0024: BAR empty (00000000)
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 06 Min Gnt: 10 Max Lat: 20
     0x00dc: Capability 0x01: Power Management
     0x0000: 0532102b 02900007 0300000a 00002010
     0x0010: d5800008 de7fc000 de800000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 000000dc 00000000 20100106
     0x0040: 41000120 00003c00 01ff0001 02a31028
     0x0050: 0000b000 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 00000000 00000000
     0x00b0: 00000000 00000000 00000000 00000000
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 00000000 00000000 00000000 00210001
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 00000000 00000000
  2:0:0: Broadcom BCM5716
     0x0000: Vendor ID: 14e4 Product ID: 163b
     0x0004: Command: 0006 Status ID: 0010
     0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 20
     0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 10
     0x0010: BAR mem 64bit addr: 0x00000000da000000/0x02000000
     0x0018: BAR empty (00000000)
     0x001c: BAR empty (00000000)
     0x0020: BAR empty (00000000)
     0x0024: BAR empty (00000000)
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 00 Max Lat: 00
     0x0048: Capability 0x01: Power Management
     0x0050: Capability 0x03: Vital Product Data (VPD)
     0x0058: Capability 0x05: Message Signaled Interrupts (MSI)
     0x00a0: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
     0x00ac: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x4 / x4
     0x0000: 163b14e4 00100006 02000020 00800010
     0x0010: da000004 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 00000048 00000000 0000010f
     0x0040: 00000000 00000000 c8035001 19002008
     0x0050: 00005803 00000000 0088a005 00000000
     0x0060: 00000000 00000000 92000088 00000001
     0x0070: 00000000 00000000 0016fc10 00000000
     0x0080: 00000a70 0001d4ae 00000000 00000000
     0x0090: 00000000 00000000 00000000 00000000
     0x00a0: 0008ac11 0000c000 0000e000 00020010
     0x00b0: 00008d82 00192c1e 0000dc41 10410040
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 0000001f 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 00000000 00000000
  2:0:1: Broadcom BCM5716
     0x0000: Vendor ID: 14e4 Product ID: 163b
     0x0004: Command: 0006 Status ID: 0010
     0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 20
     0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 10
     0x0010: BAR mem 64bit addr: 0x00000000dc000000/0x02000000
     0x0018: BAR empty (00000000)
     0x001c: BAR empty (00000000)
     0x0020: BAR empty (00000000)
     0x0024: BAR empty (00000000)
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 1028 Product ID: 02a3
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 02 Line: 05 Min Gnt: 00 Max Lat: 00
     0x0048: Capability 0x01: Power Management
     0x0050: Capability 0x03: Vital Product Data (VPD)
     0x0058: Capability 0x05: Message Signaled Interrupts (MSI)
     0x00a0: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
     0x00ac: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x4 / x4
     0x0000: 163b14e4 00100006 02000020 00800010
     0x0010: dc000004 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 02a31028
     0x0030: 00000000 00000048 00000000 00000205
     0x0040: 00000000 00000000 c8035001 19002008
     0x0050: 00005803 00000000 0088a005 00000000
     0x0060: 00000000 00000000 92000088 00000001
     0x0070: 00000000 00000000 00105000 00000000
     0x0080: 0000b8cc 00040000 00000000 00000000
     0x0090: 00000000 00000000 00000000 00000000
     0x00a0: 0008ac11 0000c000 0000e000 00020010
     0x00b0: 00008d82 00192c1e 0000dc41 10410040
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 0000001f 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 00000000 00000000
  4:0:0: Broadcom BCM5709
     0x0000: Vendor ID: 14e4 Product ID: 1639
     0x0004: Command: 0006 Status ID: 0010
     0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 20
     0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 10
     0x0010: BAR mem 64bit addr: 0x00000000d6000000/0x02000000
     0x0018: BAR empty (00000000)
     0x001c: BAR empty (00000000)
     0x0020: BAR empty (00000000)
     0x0024: BAR empty (00000000)
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 14e4 Product ID: 0907
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 01 Line: 0f Min Gnt: 00 Max Lat: 00
     0x0048: Capability 0x01: Power Management
     0x0050: Capability 0x03: Vital Product Data (VPD)
     0x0058: Capability 0x05: Message Signaled Interrupts (MSI)
     0x00a0: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
     0x00ac: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x4 / x4
     0x0000: 163914e4 00100006 02000020 00800010
     0x0010: d6000004 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 090714e4
     0x0030: 00000000 00000048 00000000 0000010f
     0x0040: 00000000 00000000 c8035001 19002008
     0x0050: 00005803 00000000 0088a005 00000000
     0x0060: 00000000 00000000 92000088 00000001
     0x0070: 00000000 00000000 0016fc10 00000000
     0x0080: 00000a6f 0001db42 00000000 00000000
     0x0090: 00000000 00000000 00000000 00000000
     0x00a0: 0008ac11 0000c000 0000e000 00020010
     0x00b0: 00648d82 00192c1e 0000dc41 10410040
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 0000001f 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 00000000 00000000
  4:0:1: Broadcom BCM5709
     0x0000: Vendor ID: 14e4 Product ID: 1639
     0x0004: Command: 0006 Status ID: 0010
     0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 20
     0x000c: BIST: 00 Header Type: 80 Latency Timer: 00 Cache Line Size: 10
     0x0010: BAR mem 64bit addr: 0x00000000d8000000/0x02000000
     0x0018: BAR empty (00000000)
     0x001c: BAR empty (00000000)
     0x0020: BAR empty (00000000)
     0x0024: BAR empty (00000000)
     0x0028: Cardbus CIS: 00000000
     0x002c: Subsystem Vendor ID: 14e4 Product ID: 0907
     0x0030: Expansion ROM Base Address: 00000000
     0x0038: 00000000
     0x003c: Interrupt Pin: 02 Line: 05 Min Gnt: 00 Max Lat: 00
     0x0048: Capability 0x01: Power Management
     0x0050: Capability 0x03: Vital Product Data (VPD)
     0x0058: Capability 0x05: Message Signaled Interrupts (MSI)
     0x00a0: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
     0x00ac: Capability 0x10: PCI Express
             Link Speed: 2.5 / 2.5 GT/s Link Width: x4 / x4
     0x0000: 163914e4 00100006 02000020 00800010
     0x0010: d8000004 00000000 00000000 00000000
     0x0020: 00000000 00000000 00000000 090714e4
     0x0030: 00000000 00000048 00000000 00000205
     0x0040: 00000000 00000000 c8035001 19002008
     0x0050: 00005803 00000000 0088a005 00000000
     0x0060: 00000000 00000000 92000088 00000001
     0x0070: 00000000 00000000 0016f810 00000000
     0x0080: 00000a6f 00011f64 00000000 00000000
     0x0090: 00000000 00000000 00000000 00000000
     0x00a0: 0008ac11 0000c000 0000e000 00020010
     0x00b0: 00648d82 00192c1e 0000dc41 10410040
     0x00c0: 00000000 00000000 00000000 00000000
     0x00d0: 0000001f 00000000 00000000 00000000
     0x00e0: 00000000 00000000 00000000 00000000
     0x00f0: 00000000 00000000 00000000 00000000

acpidump:
begin-base64 644 NodeA.APIC.3
QVBJQ1IBAAABlERFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAADg/gEAAAAACAEAAQAAAAAIAgQB
AAAAAAgDAQEAAAAACAQFAQAAAAAIBSQAAAAAAAgGJQAAAAAACAcmAAAAAAAICCcAAAAAAAgJKAAA
AAAACAopAAAAAAAICyoAAAAAAAgMKwAAAAAACA0sAAAAAAAIDi0AAAAAAAgPLgAAAAAACBAvAAAA
AAAIETAAAAAAAAgSMQAAAAAACBMyAAAAAAAIFDMAAAAAAAgVNAAAAAAACBY1AAAAAAAIFzYAAAAA
AAgYNwAAAAAACBk4AAAAAAAIGjkAAAAAAAgbOgAAAAAACBw7AAAAAAAIHTwAAAAAAAgePQAAAAAA
CB8+AAAAAAAIID8AAAAABAb/BQABAgoAAAIAAAAAAAIKAAkJAAAADQABDAAAAADA/gAAAAA=
====
begin-base64 644 NodeA.BERT.12
QkVSVDAAAAAB2ERFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAAQAALCsan8AAAAA
====
begin-base64 644 NodeA.DM__.6
RE1fX6gAAAABxkRFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAIwAAAAAAAAAAAAAAAAAQAAEAAAAA
ANX+AAAAAAEAKAAAAAAAAIB8fwAAAAD//31/AAAAAAEIAAAAABoAAQgAAAAAHQABACAAAAAAAAAA
fH8AAAAA/w98fwAAAAABCAAAAAAaAAEAIAAAAAAAACB8fwAAAAD/L3x/AAAAAAEIAAAAAB0A
====
begin-base64 644 NodeA.DSDT.2
RFNEVKY+AAABtkRFTEwgIFBFX1NDMyAgAQAAAElOVEwkBgUgFAdEQklOAKMQThpcX1BSXwhQU0xM
CgBbgwtDUFUxARAIAAAGW4MLQ1BVMgIQCAAABluDC0NQVTMDEAgAAAZbgwtDUFU0BBAIAAAGW4ML
Q1BVNQUQCAAABluDC0NQVTYGEAgAAAZbgwtDUFU3BxAIAAAGW4MLQ1BVOAgQCAAABluDC0NQVTkJ
EAgAAAZbgwtDUFVBChAIAAAGW4MLQ1BVQgsQCAAABluDC0NQVUMMEAgAAAZbgwtDUFVEDRAIAAAG
W4MLQ1BVRQ4QCAAABluDC0NQVUYPEAgAAAZbgwtDUFVHEBAIAAAGW4MLQ1AxNxEQCAAABluDC0NQ
MTgSEAgAAAZbgwtDUDE5ExAIAAAGW4MLQ1AyMBQQCAAABluDC0NQMjEVEAgAAAZbgwtDUDIyFhAI
AAAGW4MLQ1AyMxcQCAAABluDC0NQMjQYEAgAAAZbgwtDUDI1GRAIAAAGW4MLQ1AyNhoQCAAABluD
C0NQMjcbEAgAAAZbgwtDUDI4HBAIAAAGW4MLQ1AyOR0QCAAABluDC0NQMzAeEAgAAAZbgwtDUDMx
HxAIAAAGW4MLQ1AzMiAQCAAABghcX1MwXxIKBAoACgAKAAoACFxfUzRfEgoECgcKAAoACgAIXF9T
NV8SCgQKBwoACgAKABQYXF9QVFMBcA1fUFRTAFsxcGhbMVsiCg8UFlxfV0FLAXANX1dBSwBbMXBo
WzGkABAeXF9TSV8UF19TU1QBcA1fU1NUAFsxcGhbMVsiCg8QK1wACFBJQ0YKAAhTV1pMCgAUGV9Q
SUMBcA1fUElDAFsxcGhbMXBoUElDRhBMGlxfU0JfCFdDQVAKABRNGV9PU0MEoEwRk2gREwoQbrAR
CCdK+USNYDy7wi57SHANUGxhdGZvcm0gX09TQwBbMYprCgBDRFcximsKBENEVzJwDVJldmlzaW9u
IABbMXBpWzFwDUNvdW50IABbMXBqWzFwDURXT1JEIDEgAFsxcENEVzFbMXANRFdPUkQgMiAAWzFw
Q0RXMlsxcENEVzJXQ0FQoEwEe1dDQVAKEFdDQVB9XC5fU0JfV1NVUAoBXC5fU0JfV1NVUHANUGxh
dGZvcm0gX09TQywgQVBFSSBpcyBpbXBsZW1lbnRlbmQAWzGgEJKTaQF9Q0RXMQoIQ0RXMaARkpNq
CgJ9Q0RXMQoCQ0RXMaAWkpNDRFcyV0NBUH1DRFcxChBDRFcxcFdDQVBDRFcyoTWgJpNoERMKEAxe
he2QbL9Hpiom3g/FrVykXC5fU0JfT1NDV2hpamuhDH1DRFcxCgRDRFcxe0NEVzEKHkNEVzFwDVJl
dHVybiBTdGF0dXMgIABbMXBDRFcxWzFwDVJldHVybiBTdXBwb3J0IABbMXBDRFcyWzGkaxBCGlxf
U0JfCFdTVVAKAAhXQ1RSCgAUTBhPU0NXBHANTWV0aG9kIF9PU0MgZm9yIFdIRUEAWzGgQBCTaBET
ChAMXoXtkGy/R6YqJt4Pxa1cimsKAENEVzGKawoEQ0RXMoprCghDRFczcA1SZXZpc2lvbiAAWzFw
aVsxcA1Db3VudCAAWzFwalsxcA1EV09SRCAxIABbMXBDRFcxWzFwDURXT1JEIDIgAFsxcENEVzJb
MXANRFdPUkQgMyAAWzFwQ0RXM1sxcENEVzJXU1VQcENEVzNXQ1RSoCJ7V1NVUAoBAHANV0hFQSBp
cyBpbXBsZW1lbnRlbmQAWzGhDH1DRFcxCgJDRFcxoBCSk2kBfUNEVzEKCENEVzGgFpKTQ0RXM1dD
VFJ9Q0RXMQoQQ0RXMXBXQ1RSQ0RXM6EMfUNEVzEKBENEVzF7Q0RXMQoeQ0RXMXANUmV0dXJuIFN0
YXR1cyAgAFsxcENEVzFbMXANUmV0dXJuIFN1cHBvcnQgAFsxcENEVzJbMXANUmV0dXJuIENvbnRy
b2wgAFsxcENEVzNbMaRrECxcX1NCX1uCJFdIRUEIX0hJRAxB0AwzCF9DSUQMQdAMAQhfVUlEDVdI
RUEAEEVgXF9TQl9bgkxfUE1JMAhfSElEDUFDUEkwMDBEAAhfQ0lEDEHQDAEIX1VJRA1QTUkACF9T
VEEKD1uASVBNSQcLWAYMAAABAFuBHElQTUkVAQUBU0NNRAhHQ01ECACILBVHUE1NCAhQVkFMCgAI
UEFWRwvQBwhITElNCgAIUE1JTgoACFBNQVgKABRKD19QTUMAcA1QTUkgLSBfUE1DAFsxCFJFVDAS
Ag5wCgWIUkVUMAoAAHAKAIhSRVQwCgEAcAoAiFJFVDAKAgBwDJBfAQCIUkVUMAoDAHAL0AeIUkVU
MAoEAHAL0AeIUkVUMAoFAHAMAIQMJIhSRVQwCgYAcAz/////iFJFVDAKBwBwAIhSRVQwCggACE1E
TF8NUG93ZXJFZGdlAAhTRVJfDQAIT0VNXw1fX19ERUxMAHBNRExfiFJFVDAKCwBwU0VSX4hSRVQw
CgwAcE9FTV+IUkVUMAoNAF9HSExwUE1JTohSRVQwCgkAcFBNQViIUkVUMAoKAKRSRVQwFBhfUE1E
AAhSRVQwEgcBXF9TQl+kUkVUMBRIJV9QTU0AcA1QTUkgLSBfUE1NAFsxoE4Mk1BBVkcL0AcIQlVG
RhEDCkKMQlVGRgoAU1RBVIxCVUZGCgFMRU5HcAoCTEVOR4xCVUZGCgJJTjAxcAoKSU4wMYxCVUZG
CgNJTjAycAoASU4wMoxCVUZGCgJDTVBDi0JVRkYKA0FQV1JwcEJVRkZHUE1NQlVGRqBDBZCTU1RB
VAoAk0NNUEMKAHANSW5zdGFudGFuZW91cyBQb3dlciByZWFkaW5nID0gAFsxcEFQV1JbMXBCVUZG
WzF3QVBXUgvoA1BWQUykUFZBTKT/oUIXCEJVRjIRAwpCjEJVRjIKAFNUQTKMQlVGMgoBTEVOMnAK
BExFTjKMQlVGMgoCSU4yMXAKAElOMjGMQlVGMgoDSU4yMnAK60lOMjKMQlVGMgoESU4yM3AKAElO
MjOMQlVGMgoFSU4yNHAKAElOMjSMQlVGMgoCQ01QMotCVUYyCgRBTUlOi0JVRjIKBkFIT1WLQlVG
MgoIQURBWYtCVUYyCgpBV0VFcHBCVUYyR0NNREJVRjKgSguQk1NUQTIKAJNDTVAyCgBwQlVGMlsx
cA1JbnN0YW50YW5lb3VzIFBvd2VyIHJlYWRpbmcgPSAAWzGgHJNQQVZHC2DqcEFNSU5bMXdBTUlO
C+gDUFZBTKAek1BBVkcMgO42AHBBSE9VWzF3QUhPVQvoA1BWQUygHpNQQVZHDABcJgVwQURBWVsx
d0FEQVkL6ANQVkFMoB6TUEFWRwwAhAwkcEFXRUVbMXdBV0VFC+gDUFZBTKRQVkFMpP8UIV9HQUkA
cA1QTUkgLSBfR0FJAFsxcFBBVkdbMaRQQVZHFEoUX0dITABwDVBNSSAtIF9HSEwAWzEIQlVGRhED
CkKMQlVGRgoAU1RBVIxCVUZGCgFMRU5HcAoETEVOR4xCVUZGCgJJTjAxcAoASU4wMYxCVUZGCgNJ
TjAycArqSU4wMoxCVUZGCgRJTjAzcAoASU4wM4xCVUZGCgVJTjA0cAoASU4wNIxCVUZGCgJDTVBD
i0JVRkYKBFBDQVCLQlVGRgoHTUFQV4tCVUZGCglNSVBXcHBCVUZGR0NNREJVRkagSQiQk1NUQVQK
AJNDTVBDCgBwDVBvd2VyIENhcCA9IABbMXBQQ0FQWzFwDU1heCBQb3dlciA9IABbMXBNQVBXWzFw
DU1pbiBQb3dlciA9IABbMXBNSVBXWzFwQlVGRlsxd1BDQVAL6ANITElNd01BUFcL6ANQTUFYd01J
UFcL6ANQTUlOpEhMSU2k/xQYX1NITAFwDVBNSSAtIF9TSEwAWzGkCgAUCV9QVFACpAoAFE0HX1BB
SQFwDVBNSSAtIF9QQUkAWzGgE5KVaAwAhAwkcAwAhAwkUEFWR6FIBKATkpVoDABcJgVwDABcJgVQ
QVZHoTGgE5KVaAyA7jYAcAyA7jYAUEFWR6EboA+SlWgLYOpwC2DqUEFWR6EJcAvQB1BBVkdwUEFW
R1sxpAoAFDBLREJHA3ANTWluOgBbMXBoWzFwDU1heDoAWzFwaVsxcA1MZW5ndGg6AFsxcGpbMVuA
U01JUgEKsgoCW4EQU01JUgFTTUlDCFNNSUQIWwFTTUlNARQ0U01JMgFbI1NNSU3//3BoU01JQ3BT
TUlDYHBTTUlEYHlgCghgclNNSUNgYFsnU01JTaRgFCRTTUk0AXJoCgFgcFNNSTJoYnBTTUkyYGF5
YQoQYXJhYmCkYFsBTVRYXwEURQRDTVJEAVsjU01JTf//cGhge2AKf2BwYFNNSURwCnJTTUlDcFNN
SUNgcApzU01JQ3BTTUlDYHBTTUlEYFsnU01JTaRgFEMEQ01XUgJbI1NNSU3//3BoYH1gCoBgcGBT
TUlEcApyU01JQ3BTTUlDYHBpU01JRHAKc1NNSUNwU01JQ2BbJ1NNSU0URQRVQ01SAVsjU01JTf//
cGhge2AKf2BwYFNNSURwCnRTTUlDcFNNSUNgcAp1U01JQ3BTTUlDYHBTTUlEYFsnU01JTaRgFBFH
Q0tCAKR7CkBVQ01SCn0AFBFHQ01TAKR7CiBVQ01SCn0AEE0iX1NCXxQRTUlOXwKgBpVoaaRooQOk
aRQMU0xFTgFwaGCkh2AUJFMyQkYBcGhgclNMRU5gAWAIQlVGRhECYHBoQlVGRqRCVUZGFEoGU0NN
UAJwaGBwUzJCRmBgcFMyQkZpYXAAZHBTTEVOaGVwU0xFTmlmcE1JTl9lZmeiJJVkZ3CDiGBkAGJw
g4hhZABjoAaUYmOkAaEIoAaVYmOk/3VkoAaVZGWkAaEMoAaVZGak/6EDpAAIVE9PUwoAFEUVSU5J
QwCgRAtbEl9PU0lgoBtcX09TSQ1XaW5kb3dzIDIwMDEAcAoFVE9PU6AdXF9PU0kNV2luZG93cyAy
MDAxLjEAcAoGVE9PU6AhXF9PU0kNV2luZG93cyAyMDAxLjEgU1AxAHAKB1RPT1OgG1xfT1NJDVdp
bmRvd3MgMjAwNgBwCghUT09ToB1cX09TSQ1XaW5kb3dzIDIwMDYuMQBwCghUT09ToBRcX09TSQ1M
aW51eABwCgFUT09ToUgJcFxfT1NfYHBTQ01QYA1NaWNyb3NvZnQgV2luZG93cyBOVABhoAuAYQBw
CgRUT09ToUUGcFNDTVBgDU1pY3Jvc29mdCBXaW5kb3dzAGKgC4BiAHAKAlRPT1OhPHBTQ01QYA1N
aWNyb3NvZnQgV2luZG93c01FOk1pbGxlbm5pdW0gRWRpdGlvbgBjoAuAYwBwCgNUT09TFBpfSU5J
AFwuX1NCX0lOSUNcLl9TQl9JTklTEItcAlxfU0JfFE0GSU5JUwCgOZKVXC5fU0JfVE9PUwoIcAxB
0AoIXC8DX1NCX1BDSTBfSElEcAxB0AoDXC8DX1NCX1BDSTBfQ0lEoStwDEHQCgNcLwNfU0JfUENJ
MF9ISURwDEHQCghcLwNfU0JfUENJMF9DSURbgobqAVBDSTAIX0hJRAxB0AoICF9DSUQMQdAKAwhf
QURSCgAIX0JCTgoAW4BQTVNSAAyoLEv+CghbgRJQTVNSAQAIQzEySAhDMTJJCFuBElBNU1ICACBD
UjA3EENSN0gQCF9QUlcSBgIKCwoFW4BNQ0hUAgoACwABW4EVTUNIVAIAEERJRF8QAEBWVE9MRBAU
Ti9fUFJUAKBEGZJQSUNGCFAxMDASQRgYEg0EC///CgBMSzAwCgASDwQM//8BAAoATEswMAoAEg8E
DP//AwAKAExLMDAKABIPBAz//wUACgBMSzAwCgASDwQM//8GAAoATEswMAoAEg8EDP//GAAKAExL
MDYKABIPBAz//xYACgBMSzAwCgASDwQM//8WAAoBTEswMwoAEg8EDP//GgAKAExLMDYKABIPBAz/
/xoACgFMSzA3CgASDwQM//8aAAoCTEswNwoAEg8EDP//GgAKA0xLMDMKABIPBAz//xwACgBMSzAw
CgASDwQM//8cAAoBTEswMQoAEg8EDP//HAAKAkxLMDIKABIPBAz//xwACgNMSzAzCgASDwQM//8d
AAoATEswNgoAEg8EDP//HQAKAUxLMDcKABIPBAz//x0ACgJMSzA3CgASDwQM//8dAAoDTEswNwoA
Eg8EDP//HwAKAExLMDQKABIPBAz//x8ACgFMSzA1CgASDwQM//8fAAoCTEswMgoAEg8EDP//HwAK
A0xLMDMKAHBQMTAwYKFPFQhBMTAwEkEVGBILBAv//woACgAKEBINBAz//wEACgAKAAoQEg0EDP//
AwAKAAoAChASDQQM//8FAAoACgAKEBINBAz//wYACgAKAAoQEg0EDP//GAAKAAoAChYSDQQM//8W
AAoACgAKEBINBAz//xYACgEKAAoTEg0EDP//GgAKAAoAChYSDQQM//8aAAoBCgAKFxINBAz//xoA
CgIKAAoXEg0EDP//GgAKAwoAChMSDQQM//8cAAoACgAKEBINBAz//xwACgEKAAoREg0EDP//HAAK
AgoAChISDQQM//8cAAoDCgAKExINBAz//x0ACgAKAAoWEg0EDP//HQAKAQoAChcSDQQM//8dAAoC
CgAKFxINBAz//x0ACgMKAAoXEg0EDP//HwAKAAoAChQSDQQM//8fAAoBCgAKFRINBAz//x8ACgIK
AAoSEg0EDP//HwAKAwoAChNwQTEwMGCkYFuCRgRJT0JBCF9BRFIMAQAIAAhfU1RBCg9bgFNDUkEC
CpgKIFuBIlNDUkEBU1IwNxBTUjdIEABACFNSMTIIUzEySAhTMTJJCFuCSApMWUQwCF9BRFIMAAAD
ABRHCV9QUlQAoE0EklBJQ0YIUDEwMRI6BBINBAv//woATEswMAoAEg0EC///CgFMSzAxCgASDQQL
//8KAkxLMDIKABINBAv//woDTEswMwoAcFAxMDFgoT8IQTEwMRIyBBILBAv//woACgAKEBILBAv/
/woBCgAKERILBAv//woCCgAKEhILBAv//woDCgAKE3BBMTAxYKRgW4JICkxZRDIIX0FEUgwAAAUA
FEcJX1BSVACgTQSSUElDRghQMTAyEjoEEg0EC///CgBMSzAwCgASDQQL//8KAUxLMDEKABINBAv/
/woCTEswMgoAEg0EC///CgNMSzAzCgBwUDEwMmChPwhBMTAyEjIEEgsEC///CgAKAAoQEgsEC///
CgEKAAoREgsEC///CgIKAAoSEgsEC///CgMKAAoTcEExMDJgpGBbgkgKSFZEMAhfQURSDAAAAQAU
RwlfUFJUAKBNBJJQSUNGCFAxMEUSOgQSDQQL//8KAExLMDAKABINBAv//woBTEswMQoAEg0EC///
CgJMSzAyCgASDQQL//8KA0xLMDMKAHBQMTBFYKE/CEExMEUSMgQSCwQL//8KAAoAChASCwQL//8K
AQoAChESCwQL//8KAgoAChISCwQL//8KAwoAChNwQTEwRWCkYFuCSApIVkQyCF9BRFIMAAAGABRH
CV9QUlQAoE0EklBJQ0YIUDEwRhI6BBINBAv//woATEswMAoAEg0EC///CgFMSzAxCgASDQQL//8K
AkxLMDIKABINBAv//woDTEswMwoAcFAxMEZgoT8IQTEwRhIyBBILBAv//woACgAKEBILBAv//woB
CgAKERILBAv//woCCgAKEhILBAv//woDCgAKE3BBMTBGYKRgW4JIClBFWDAIX0FEUgwAABwAFEcJ
X1BSVACgTQSSUElDRghQMTBCEjoEEg0EC///CgBMSzAwCgASDQQL//8KAUxLMDEKABINBAv//woC
TEswMgoAEg0EC///CgNMSzAzCgBwUDEwQmChPwhBMTBCEjIEEgsEC///CgAKAAoQEgsEC///CgEK
AAoREgsEC///CgIKAAoSEgsEC///CgMKAAoTcEExMEJgpGBbgkgKUEVYMghfQURSDAIAHAAURwlf
UFJUAKBNBJJQSUNGCFAxMDkSOgQSDQQL//8KAExLMDIKABINBAv//woBTEswMwoAEg0EC///CgJM
SzAwCgASDQQL//8KA0xLMDEKAHBQMTA5YKE/CEExMDkSMgQSCwQL//8KAAoAChISCwQL//8KAQoA
ChMSCwQL//8KAgoAChASCwQL//8KAwoAChFwQTEwOWCkYFuCSApQRVgzCF9BRFIMAwAcABRHCV9Q
UlQAoE0EklBJQ0YIUDEwQRI6BBINBAv//woATEswMwoAEg0EC///CgFMSzAwCgASDQQL//8KAkxL
MDEKABINBAv//woDTEswMgoAcFAxMEFgoT8IQTEwQRIyBBILBAv//woACgAKExILBAv//woBCgAK
EBILBAv//woCCgAKERILBAv//woDCgAKEnBBMTBBYKRgW4JIClBFWDQIX0FEUgwEABwAFEcJX1BS
VACgTQSSUElDRghQMTA4EjoEEg0EC///CgBMSzAwCgASDQQL//8KAUxLMDEKABINBAv//woCTEsw
MgoAEg0EC///CgNMSzAzCgBwUDEwOGChPwhBMTA4EjIEEgsEC///CgAKAAoQEgsEC///CgEKAAoR
EgsEC///CgIKAAoSEgsEC///CgMKAAoTcEExMDhgpGBbgiJVU0JBCF9BRFIMAAAaAAhfUzRECgII
X1BSVxIGAgoNCgBbgiJVU0JCCF9BRFIMAAAdAAhfUzRECgIIX1BSVxIGAgoNCgBbgk0FQ09NUAhf
QURSDAAAHgAUTARfUFJUAKAkklBJQ0YIUDExMBISARIPBAz//wMACgBMSzAzCgBwUDExMGChHQhB
MTEwEhABEg0EDP//AwAKAAoAChNwQTExMGCkYFuCS/1JU0FfCF9BRFIMAAAfAFuATFBDQwIKAAsA
AVuCQAVETUFfCF9ISUQMQdACABQ/X0NSUwAIRE1BQhEgCh1HAYAAgAABIEcBAAAAAAEgRwHAAMAA
ASAqEBJ5AHANRE1BXyBfQ1JTAFsxpERNQUJbgj5GUFVfCF9ISUQMQdAMBBQuX0NSUwAIRlBVQhEQ
Cg1HAfAA8AABECIAIHkAcA1GUFUgX0NSUwBbMaRGUFVCW4JNBFBJQ18IX0hJRAtB0BQ+X0NSUwAI
UElDQhEgCh1HASAAIAABIEcBoACgAAEgRwHQBNAEAQIiBAB5AHANUElDIF9DUlMAWzGkUElDQluC
RgRTUEtfCF9ISUQMQdAMAQhfVUlECgIULl9DUlMACFNQS0IRDQoKRwFhAGEAAQF5AHANU0JfTk1J
IF9DUlMAWzGkU1BLQluCPlJUQ18IX0hJRAxB0AsAFC5fQ1JTAAhSVENCERAKDUcBcABwAAEQIgAB
eQBwDVJUQyBfQ1JTAFsxpFJUQ0Jbgj5UTVJfCF9ISUQMQdABABQuX0NSUwAIVE1SQhEQCg1HAUAA
QAABICIBAHkAcA1UTVIgX0NSUwBbMaRUTVJCW4BOU0lPAQuuDAoCW4EQTlNJTwFJTkRYCERBVEEI
W4ZHBUlORFhEQVRBAQAQQ0ZHXwgAIExETl8IAEAMU0lJRAgASAdBQ1RSCABIF0lPQUgISU9BTAgA
QAdJTlRSCAAYRE1DSAgASD1PUFQxCE9QVDIIT1BUMwhbAU1UWF8BFCVTSU9EAXAKVUlORFhwaExE
Tl9wDUxETjogIABbMXBMRE5fWzFbgk0kQ09NQQhfSElEDEHQBQEIX1VJRAoBFEYGX1NUQQAIUkVU
XwBwDUNPTUEgX1NUQSAAWzFbI01UWF///1NJT0QKA6AMQUNUUnAKD1JFVF+hHKARkUlPQUhJT0FM
cAoNUkVUX6EIcAoAUkVUX1snTVRYX3BSRVRfWzGkUkVUXxQ1X0RJUwBwDUNPTUEgX0RJUyAAWzFb
I01UWF///1NJT0QKA3AASU5UUnAAQUNUUlsnTVRYXxRFDF9DUlMACENNQTAREAoNRwH4A/gDCAgi
EAB5AHANQ09NQSBfQ1JTIABbMYxDTUEwCgJJT0wwjENNQTAKA0lPSDCMQ01BMAoESU9MMYxDTUEw
CgVJT0gxi0NNQTAKCUlRUl9bI01UWF///1NJT0QKA3BJT0FMSU9MMHBJT0FMSU9MMXBJT0FISU9I
MHBJT0FISU9IMXkBSU5UUklRUl9wSU9IMFsxcElPTDBbMXANIABbMXBJUVJfWzFbJ01UWF+kQ01B
MBREBF9QUlMACENNQTERJwokMEcB+AP4AwgIIhAAMEcB6APoAwgIIhAAMEcB+AL4AggIIggAc0NN
QTFTQkNNYHBgWzGkYBRNCF9TUlMBcA1DT01BIF9TUlMAWzGLaAoCSU9BRIxoCgJJT0xPjGgKA0lP
SEmLaAoJSVFSX1sjTVRYX///U0lPRAoDcElPTE9JT0FMcElPSElJT0FIgklRUl9gdGAKAUlOVFJD
T01ESU9BRAoAcElPQURbMXANIABbMXBJTlRSWzFwAUFDVFJbJ01UWF9bgk4kQ09NQghfSElEDEHQ
BQEIX1VJRAoCFEYGX1NUQQAIUkVUXwBwDUNPTUIgX1NUQSAAWzFbI01UWF///1NJT0QKAqAMQUNU
UnAKD1JFVF+hHKARkUlPQUhJT0FMcAoNUkVUX6EIcAoAUkVUX1snTVRYX3BSRVRfWzGkUkVUXxQ1
X0RJUwBwDUNPTUIgX0RJUyAAWzFbI01UWF///1NJT0QKAnAASU5UUnAAQUNUUlsnTVRYXxRFDF9D
UlMACENNQjAREAoNRwH4AvgCCAgiCAB5AHANQ09NQiBfQ1JTIABbMYxDTUIwCgJJT0wwjENNQjAK
A0lPSDCMQ01CMAoESU9MMYxDTUIwCgVJT0gxi0NNQjAKCUlRUl9bI01UWF///1NJT0QKAnBJT0FM
SU9MMHBJT0FMSU9MMXBJT0FISU9IMHBJT0FISU9IMXkBSU5UUklRUl9wSU9IMFsxcElPTDBbMXAN
IABbMXBJUVJfWzFbJ01UWF+kQ01CMBREBF9QUlMACENNQjERJwokMEcB+AL4AggIIggAMEcB6ALo
AggIIggAMEcB+AP4AwgIIhAAc0NNQjFTQkNNYHBgWzGkYBROCF9TUlMBcA1DT01CIF9TUlMgAFsx
i2gKAklPQUSMaAoCSU9MT4xoCgNJT0hJi2gKCUlRUl9bI01UWF///1NJT0QKAnBJT0xPSU9BTHBJ
T0hJSU9BSIJJUVJfYHRgCgFJTlRSQ09NRElPQUQKAXBJT0FEWzFwDSAAWzFwSU5UUlsxcAFBQ1RS
WydNVFhfW4JOCU1CSU8IX0hJRAxB0AwBCF9VSUQKABRGCF9DUlMACFNCREIRTgUKWkcBAAgACAGA
RwHgAOAAAQhHAYAIgAgBgEcBAAkACQEgRwEgCSAJAQRHASQJJAkBAUcBoAygDAEIRwGpDKkMAQNH
Aa0MrQwBA0cBYABgAAEBRwFkAGQAAQF5AIxTQkRCCk9LQkwxjFNCREIKV0tCTDKkU0JEQluCSQ1O
SVBNCF9ISUQMJgkAAQhfQ0lEDEHQDAEIX1VJRAoFFC1fU1RBAKALk1RPT1MKAaQKD6EaoBORk1RP
T1MKB5NUT09TCgikCg+hBKQKABREB19DUlMAoCqRk1RPT1MKCJNUT09TCgGkERgKFUcBqAyoDAAB
RwGsDKwMAAEiAAB5AKFBBKAik1RPT1MKB6QRGAoVRwGoDKgMAAFHAawMrAwAASIAAHkAoRukERgK
FUcBqAyoDAAARwGsDKwMAAAiAAB5ABQJX0lGVACkCgEUCl9TUlYApAsAAluCRwpNQkkxCF9ISUQM
QdAMAQhfVUlECgEULV9TVEEAoBORk1RPT1MKCJNUT09TCgGkCg+hEqALk1RPT1MKB6QKD6EEpAoP
FEEGX0NSUwCgF5GTVE9PUwoIk1RPT1MKAaQRBQoCeQChQQSgIpNUT09TCgekERgKFUcBqAyoDAAA
RwGsDKwMAAAiAAB5AKEbpBEYChVHAagMqAwAAUcBrAysDAABIgAAeQBbgkxiVFBNXwhfSElEDEHQ
DDEIX1VJRAoAFCxfU1RBAKAgknsKBFVDTVIKYwCgDnsKMFVDTVIKTgCkCg+hBKQKAKEEpAoAFDxf
Q1JTAKAwknsKBFVDTVIKYwCgHnsKMFVDTVIKTgCkEREKDoYJAAEAANT+AFAAAHkAoQSkCgChBKQK
ABRKWl9EU00EoEJaknsKBFVDTVIKYwCgQVKTlmgAERMKEKb63T0bNrROpCSNEAidFlMIX1RfMABw
mWoAX1RfMKAOk19UXzAKAKQRBAoBP6FJTqAOk19UXzAKAaQNMS4wAKFHTaAkk19UXzAKAnBDTVJE
Cjpge2AK8GB9YJlrAGBDTVdSCjpgpAChT0qgQhWTX1RfMAoDcENNUkQKOmB7YAoPYAhfVF8xAHCZ
YABfVF8xoBCTX1RfMQoApBIGAgoACgChRBGgEJNfVF8xCgGkEgYCCgAKAaFAEKAQk19UXzEKAqQS
BgIKAAoCoUwOoBCTX1RfMQoDpBIGAgoACgOhSA2gEJNfVF8xCgSkEgYCCgAKBKFEDKAQk19UXzEK
BaQSBgIKAAoFoUALoBCTX1RfMQoGpBIGAgoACgahTAmgEJNfVF8xCgekEgYCCgAKB6FICKAQk19U
XzEKCKQSBgIKAAoIoUQHoBCTX1RfMQoJpBIGAgoACgmhQAagEJNfVF8xCgqkEgYCCgAKCqFMBKAQ
k19UXzEKC6QSBgIKAAoLoTigEJNfVF8xCgykEgYCCgAKDKEloBCTX1RfMQoNpBIGAgoACg2hEqAQ
k19UXzEKDqQSBgIKAAoOpBIGAgoBCgChSTWgC5NfVF8wCgSkCgKhSjSgQzGTX1RfMAoFcENNUkQK
OmB6YAoEYHBDTVJECjthe2EKf2GgQhaTYQoACF9UXzIAcJlgAF9UXzKgEpNfVF8yCgCkEggDCgAK
AAoAoUAToBKTX1RfMgoBpBIIAwoACgEKAKFKEaASk19UXzIKAqQSCAMKAAoCCgChRBCgEpNfVF8y
CgOkEggDCgAKAwoAoU4OoBKTX1RfMgoEpBIIAwoACgQKAKFIDaASk19UXzIKBaQSCAMKAAoFCgCh
QgygEpNfVF8yCgakEggDCgAKBgoAoUwKoBKTX1RfMgoHpBIIAwoACgcKAKFGCaASk19UXzIKCKQS
CAMKAAoICgChQAigEpNfVF8yCgmkEggDCgAKCQoAoUoGoBKTX1RfMgoKpBIIAwoACgoKAKFEBaAS
k19UXzIKC6QSCAMKAAoLCgChPqASk19UXzIKDKQSCAMKAAoMCgChKaASk19UXzIKDaQSCAMKAAoN
CgChFKASk19UXzIKDqQSCAMKAAoOCgCkEggDCgEKAAoAoUwYCF9UXzMAcJlgAF9UXzOgFZNfVF8z
CgCkEgsDCgAKAAzw////oUsVoBWTX1RfMwoBpBILAwoACgEM8P///6FCFKAVk19UXzMKAqQSCwMK
AAoCDPD///+hSRKgFZNfVF8zCgOkEgsDCgAKAwzw////oUARoBWTX1RfMwoEpBILAwoACgQM8P//
/6FHD6AVk19UXzMKBaQSCwMKAAoFDPD///+hTg2gFZNfVF8zCgakEgsDCgAKBgzw////oUUMoBWT
X1RfMwoHpBILAwoACgcM8P///6FMCqAVk19UXzMKCKQSCwMKAAoIDPD///+hQwmgFZNfVF8zCgmk
EgsDCgAKCQzw////oUoHoBWTX1RfMwoKpBILAwoACgoM8P///6FBBqAVk19UXzMKC6QSCwMKAAoL
DPD///+hSASgFZNfVF8zCgykEgsDCgAKDAzw////oS+gFZNfVF8zCg2kEgsDCgAKDQzw////oReg
FZNfVF8zCg6kEgsDCgAKDgzw////pBIIAwoBCgAKAKEzoCmTX1RfMAoGCF9UXzQNAHCca/8AX1Rf
NKAMk19UXzQNZW4ApAChA6QBoQekEQQKAQCgTAaTlmgAERMKEO1UYDcTzHVGkBxHVtfy1F0IX1Rf
NQBwmWoAX1RfNaAOk19UXzUKAKQRBAoBAaE0oDKTX1RfNQoBcENNUkQKO2B7YAp/YKAImWsAcAqA
YaEFcAoAYX1gYWBDTVdSCjtgpAoApBEECgEAW4JPB19UQ00IX0hJRAxpIwEBCF9VSUQKABQrX1NU
QQCgH3sKBFVDTVIKYwCgDnsKMFVDTVIKTgCkCg+hBKQKAKEEpAoAFDtfQ1JTAKAvewoEVUNNUgpj
AKAeewowVUNNUgpOAKQREQoOhgkAAAAA1P4AUAAAeQChBKQKAKEEpAoAW4IrTUNITQhfQURSDAAA
CABbgE1DSDACCgALAAFbgQ5NQ0gwAwBAaFRPTE0gW4JGDFBFSEIIX0hJRAxB0AwCCF9VSUQKABRO
Cl9DUlMACEhCUlMRHwochxcAAA0BAAAAAAAAAAAAAAAAAAAAAAAAABB5AIpIQlJTCgpIQkFMikhC
UlMKDkhCQVVwDAAAAOBIQkFMcAwAAADgYHpgChBgcgwAAAAQSEJBTEhCQVV2SEJBVXANUEVIQiBf
Q1JTAFsxcEhCUlNbMYpIQlJTChZIQkFToB2SlWAMAAABAHAASEJBU3BIQkFMSEJBVXZIQkFVpEhC
UlNbgEQ4MFABCoAKAluBC0Q4MFABRDgwUwgUQxZfQ1JTAAhIQjBfEUwICoiIDQACDAAAAAAA/wAA
AAABRwH4DPgMAQiIDQABDAMAAAAA9wwAAPgMiA0AAQ4DAAAADf//AAAA84cXAAAMAQAAAAAAAAoA
//8LAAAAAAAAAAIAhxcAAAwBAAAAAAAAABD////9AAAAAAAAwO6HFwAADAEAAAAAAADU/v9P1P4A
AAAAAFAAAHkAcAryRDgwU3AK8kQ4MFOKSEIwXwpcTUVNTYpIQjBfCmhNRU1McFwvA19TQl9QQ0kw
RElEX2F7YQvw/2GgHZKTYQsw0XBcLwNfU0JfUENJMFRPTERgeWAKEGChFnBcLwRfU0JfUENJME1D
SE1UT0xNYHtgDAAAAPxgfWAM////A2B1YHBgTUVNTXQM/////U1FTU1NRU1MdU1FTUxwDUhCMCBf
Q1JTLlRPTVIAWzFLREJHTUVNTQz////9TUVNTHBIQjBfWzGkSEIwXwhTVVBQCgAIQ1RSTAoAFEId
X09TQwRwDU1ldGhvZCBfT1NDAFsxoE8Uk2gREwoQW03bM/cfHECWV3RBwD3XZoprCgBDRFcximsK
BENEVzKKawoIQ0RXM3ANUmV2aXNpb24gAFsxcGlbMXANQ291bnQgAFsxcGpbMXANU3RhdHVzICAA
WzFwQ0RXMVsxcA1TdXBwb3J0IABbMXBDRFcyWzFwDUNvbnRyb2wgAFsxcENEVzNbMXBDRFcyU1VQ
UHBDRFczQ1RSTKAYkpN7U1VQUAoWAAoWe0NUUkwKHkNUUkygRQaAe0NEVzEKAQAAoDB7Q1RSTAoB
AHANVHVybiBvZmYgUENJRSBob3RwbHVnIEJJT1Mgc3VwcG9ydABbMaAne0NUUkwKBABwDVR1cm4g
b2ZmIFBNRSBCSU9TIHN1cHBvcnQAWzGgEJKTaQF9Q0RXMQoIQ0RXMaAWkpNDRFczQ1RSTH1DRFcx
ChBDRFcxcENUUkxDRFczoQx9Q0RXMQoEQ0RXMXtDRFcxCh5DRFcxcA1SZXR1cm4gU3RhdHVzICAA
WzFwQ0RXMVsxcA1SZXR1cm4gU3VwcG9ydCAAWzFwQ0RXMlsxcA1SZXR1cm4gQ29udHJvbCAAWzFw
Q0RXM1sxpGsUSgpfRFNNBHANTWV0aG9kIF9EU00AWzGgQweTaBETChDQN8nlUzV6TZEX6k0Zw0NN
cA1BcmcyAFsxcGpbMaAKk2oApBEECgEhoEIEk2oKBXANRG8gbm90IGFsbG93IE9TIHRvIGNvbnRy
b2wgUENJIHJlc291cmNlIHJlYmFsYW5jZQBbMaQRBAoBAHANVW5zdXBwb3J0ZWQgZnVuY3Rpb24A
WzGkEQQKAQBbgkELSFBFVAhfSElEDEHQAQMIX1VJRAoAW4BIUE9SAAwAAND+CgRbgQtIUE9SA0hQ
VkkgFBpfU1RBAKAOk0hQVkkM/////6QKAKEEpAoLFEMGX0NSUwAISFBSUxEfChyHFwAADQEAAAAA
AADQ/v8D0P4AAAAAAAQAAHkAcA1IUEVUIF9DUlMAWzGKSFBSUwoOSE1BWHIMAADQ/gsABEhNQVh2
SE1BWHBIUFJTWzGkSFBSU1uCM1ZURF8IX0hJRAxB0AwCCF9VSUQNVlRkABQZX0NSUwCkEREKDoYJ
AAEAANX+ACAAAHkAW4JMBVNSSU8IX0hJRA1QTlAwQzE0AAhfVUlEDVNSSU8ACF9XREcRFwoU8vl6
DqFEb0yksKdnhIDaYUFBAQIUCV9TVEEApAoPFBVXTUFBA3BoWzFwaVsxcGpbMaQKAFuBQwRcLwRf
U0JfUENJMElTQV9MUENDAQBAMFBSUTAIUFJRMQhQUlEyCFBSUTMIACBQUlE0CFBSUTUIUFJRNghQ
UlE3CFuCSwZMSzAwCF9ISUQMQdAMDwhfVUlECgEIX1BSUxEJCgYj+MwYeQAUD19TVEEApE1TVEFQ
UlEwFBNfRElTAHBNRElTUFJRMFBSUTAUD19DUlMApE1DUlNQUlEwFBBfU1JTAXBNU1JTaFBSUTBb
gksGTEswMQhfSElEDEHQDA8IX1VJRAoCCF9QUlMRCQoGI/jMGHkAFA9fU1RBAKRNU1RBUFJRMRQT
X0RJUwBwTURJU1BSUTFQUlExFA9fQ1JTAKRNQ1JTUFJRMRQQX1NSUwFwTVNSU2hQUlExW4JLBkxL
MDIIX0hJRAxB0AwPCF9VSUQKAwhfUFJTEQkKBiP4zBh5ABQPX1NUQQCkTVNUQVBSUTIUE19ESVMA
cE1ESVNQUlEyUFJRMhQPX0NSUwCkTUNSU1BSUTIUEF9TUlMBcE1TUlNoUFJRMluCSwZMSzAzCF9I
SUQMQdAMDwhfVUlECgQIX1BSUxEJCgYj+MwYeQAUD19TVEEApE1TVEFQUlEzFBNfRElTAHBNRElT
UFJRM1BSUTMUD19DUlMApE1DUlNQUlEzFBBfU1JTAXBNU1JTaFBSUTNbgksGTEswNAhfSElEDEHQ
DA8IX1VJRAoFCF9QUlMRCQoGI/jMGHkAFA9fU1RBAKRNU1RBUFJRNBQTX0RJUwBwTURJU1BSUTRQ
UlE0FA9fQ1JTAKRNQ1JTUFJRNBQQX1NSUwFwTVNSU2hQUlE0W4JLBkxLMDUIX0hJRAxB0AwPCF9V
SUQKBghfUFJTEQkKBiP4zBh5ABQPX1NUQQCkTVNUQVBSUTUUE19ESVMAcE1ESVNQUlE1UFJRNRQP
X0NSUwCkTUNSU1BSUTUUEF9TUlMBcE1TUlNoUFJRNVuCSwZMSzA2CF9ISUQMQdAMDwhfVUlECgcI
X1BSUxEJCgYj+MwYeQAUD19TVEEApE1TVEFQUlE2FBNfRElTAHBNRElTUFJRNlBSUTYUD19DUlMA
pE1DUlNQUlE2FBBfU1JTAXBNU1JTaFBSUTZbgksGTEswNwhfSElEDEHQDA8IX1VJRAoICF9QUlMR
CQoGI/jMGHkAFA9fU1RBAKRNU1RBUFJRNxQTX0RJUwBwTURJU1BSUTdQUlE3FA9fQ1JTAKRNQ1JT
UFJRNxQQX1NSUwFwTVNSU2hQUlE3FBdNU1RBAXAKC2CgCnsKgGgAcAoJYKRgFA1NRElTAX1oCoBg
pGAUPk1DUlMBCENSU0IRCQoGIwAAGHkAi0NSU0IKAUlRUl9waGCgDJKVYAqAcABJUVJfoQh5AWBJ
UVJfpENSU0IUGE1TUlMBi2gKAUlRUl+CSVFSX2B2YKRgW4EmXC8EX1NCX1BDSTBJU0FfTFBDQwEA
QEBOU0NBAwABTlNDQgMAAQhTQkNNER4KGzBHAfgD+AMICCL4EDBHAfgC+AIICCL4EDh5ABRPDkNP
TUQCoEQHkmmgDZNoC/gDcAoATlNDQaANk2gL+AJwCgFOU0NBoA2TaAsgAnAKAk5TQ0GgDZNoCygC
cAoDTlNDQaANk2gLOAJwCgROU0NBoA2TaAvoAnAKBU5TQ0GgDZNoCzgDcAoGTlNDQaANk2gL6ANw
CgdOU0NBoUIHoA2TaAv4A3AKAE5TQ0KgDZNoC/gCcAoBTlNDQqANk2gLIAJwCgJOU0NCoA2TaAso
AnAKA05TQ0KgDZNoCzgCcAoETlNDQqANk2gL6AJwCgVOU0NCoA2TaAs4A3AKBk5TQ0KgDZNoC+gD
cAoHTlNDQhBFj1xfR1BFFBhfTDBCAHANX0dQRS5MMEIgAFsxcAoBYBQGX0wwRAAUTYxfTDExAHAN
R1BFIDE3IG9jY3VyZWQAWzEIRUZMRwoAcAoARUZMR3BcLwNfU0JfUENJMERJRF9he2EL8P9hoENG
k2ELMNGgRCh7XC8EX1NCX1BDSTBJT0JBU1IwNwsAgABwDV9HUEUgUG93ZXIgQ2FwcGluZyBFdmVu
dABbMXAKAUVGTEcIUFNMMQoAe1wvBF9TQl9QQ0kwSU9CQVNSMDcL/39cLwRfU0JfUENJMElPQkFT
UjA3cFwvBF9TQl9QQ0kwSU9CQVNSMDdgcFwvBF9TQl9QQ0kwSU9CQVMxMklhcFwvBF9TQl9QQ0kw
SU9CQVMxMkhidGBiYKAHkpVgYaQAdGFgYXZhcGFcLl9QUl9QU0xMoEQOWxJcLwNfUFJfQ1BVMV9Q
U1NlhlwuX1BSX0NQVTEKgIZcLl9QUl9DUFUyCoCGXC5fUFJfQ1BVMwqAhlwuX1BSX0NQVTQKgIZc
Ll9QUl9DUFU1CoCGXC5fUFJfQ1BVNgqAhlwuX1BSX0NQVTcKgIZcLl9QUl9DUFU4CoCGXC5fUFJf
Q1BVOQqAhlwuX1BSX0NQVUEKgIZcLl9QUl9DUFVCCoCGXC5fUFJfQ1BVQwqAhlwuX1BSX0NQVUQK
gIZcLl9QUl9DUFVFCoCGXC5fUFJfQ1BVRgqAhlwuX1BSX0NQVUcKgKFCDYZcLl9QUl9DUFUxCr6G
XC5fUFJfQ1BVMgq+hlwuX1BSX0NQVTMKvoZcLl9QUl9DUFU0Cr6GXC5fUFJfQ1BVNQq+hlwuX1BS
X0NQVTYKvoZcLl9QUl9DUFU3Cr6GXC5fUFJfQ1BVOAq+hlwuX1BSX0NQVTkKvoZcLl9QUl9DUFVB
Cr6GXC5fUFJfQ1BVQgq+hlwuX1BSX0NQVUMKvoZcLl9QUl9DUFVECr6GXC5fUFJfQ1BVRQq+hlwu
X1BSX0NQVUYKvoZcLl9QUl9DUFVHCr6gRgd7XC8EX1NCX1BDSTBJT0JBU1I3SAsAgABwDV9HUEUg
UE1JIFBvd2VyIENhcCBDaGFuZ2UAWzFwCgFFRkxHe1wvBF9TQl9QQ0kwSU9CQVNSN0gL/39cLwRf
U0JfUENJMElPQkFTUjdIhlwuX1NCX1BNSTAKgqBDEntcLwRfU0JfUENJMElPQkFTUjdICwBAAHAN
X0dQRSBQTUkgUG93ZXIgQ2FwIEVuZm9yY2UAWzFwCgFFRkxHe1wvBF9TQl9QQ0kwSU9CQVNSN0gL
/79cLwRfU0JfUENJMElPQkFTUjdIcFwvA19TQl9QTUkwSExJTVsxcFwvA19TQl9QTUkwUFZBTFsx
oEQJkJKTXC8DX1NCX1BNSTBITElNCgCSk1wvA19TQl9QTUkwUFZBTAoAoEoGlFwvA19TQl9QTUkw
SExJTVwvA19TQl9QTUkwUFZBTHBcLwNfU0JfUE1JMEhMSU1cLwNfU0JfUE1JMFBWQUxwDU5vdGlm
eSBQb3dlciBDYXAgRW5mb3JjZQBbMYZcLl9TQl9QTUkwCoOgO5NFRkxHCgCgMntcLl9TQl9XU1VQ
CgEAcA1Ob3RpZnkgV0hFQSBldmVudABbMYZcLl9TQl9XSEVBCoChR0KgRSZ7XC8DX1NCX1BDSTBD
UjA3CwCAAHANX0dQRSBQb3dlciBDYXBwaW5nIEV2ZW50AFsxcAoBRUZMR3tcLwNfU0JfUENJMENS
MDcL/39cLwNfU0JfUENJMENSMDdwXC8DX1NCX1BDSTBDUjA3YHBcLwNfU0JfUENJMEMxMklhcFwv
A19TQl9QQ0kwQzEySGJ0YGJgoAeSlWBhpAB0YWBhdmFwYVwuX1BSX1BTTEygRA5bElwvA19QUl9D
UFUxX1BTU2WGXC5fUFJfQ1BVMQqAhlwuX1BSX0NQVTIKgIZcLl9QUl9DUFUzCoCGXC5fUFJfQ1BV
NAqAhlwuX1BSX0NQVTUKgIZcLl9QUl9DUFU2CoCGXC5fUFJfQ1BVNwqAhlwuX1BSX0NQVTgKgIZc
Ll9QUl9DUFU5CoCGXC5fUFJfQ1BVQQqAhlwuX1BSX0NQVUIKgIZcLl9QUl9DUFVDCoCGXC5fUFJf
Q1BVRAqAhlwuX1BSX0NQVUUKgIZcLl9QUl9DUFVGCoCGXC5fUFJfQ1BVRwqAoUINhlwuX1BSX0NQ
VTEKvoZcLl9QUl9DUFUyCr6GXC5fUFJfQ1BVMwq+hlwuX1BSX0NQVTQKvoZcLl9QUl9DUFU1Cr6G
XC5fUFJfQ1BVNgq+hlwuX1BSX0NQVTcKvoZcLl9QUl9DUFU4Cr6GXC5fUFJfQ1BVOQq+hlwuX1BS
X0NQVUEKvoZcLl9QUl9DUFVCCr6GXC5fUFJfQ1BVQwq+hlwuX1BSX0NQVUQKvoZcLl9QUl9DUFVF
Cr6GXC5fUFJfQ1BVRgq+hlwuX1BSX0NQVUcKvqBKBntcLwNfU0JfUENJMENSN0gLAIAAcA1fR1BF
IFBNSSBQb3dlciBDYXAgQ2hhbmdlAFsxcAoBRUZMR3tcLwNfU0JfUENJMENSN0gL/39cLwNfU0Jf
UENJMENSN0iGXC5fU0JfUE1JMAqCoEcRe1wvA19TQl9QQ0kwQ1I3SAsAQABwDV9HUEUgUE1JIFBv
d2VyIENhcCBFbmZvcmNlAFsxcAoBRUZMR3tcLwNfU0JfUENJMENSN0gL/79cLwNfU0JfUENJMENS
N0hwXC8DX1NCX1BNSTBITElNWzFwXC8DX1NCX1BNSTBQVkFMWzGgRAmQkpNcLwNfU0JfUE1JMEhM
SU0KAJKTXC8DX1NCX1BNSTBQVkFMCgCgSgaUXC8DX1NCX1BNSTBITElNXC8DX1NCX1BNSTBQVkFM
cFwvA19TQl9QTUkwSExJTVwvA19TQl9QTUkwUFZBTHANTm90aWZ5IFBvd2VyIENhcCBFbmZvcmNl
AFsxhlwuX1NCX1BNSTAKg6A7k0VGTEcKAKAye1wuX1NCX1dTVVAKAQBwDU5vdGlmeSBXSEVBIGV2
ZW50AFsxhlwuX1NCX1dIRUEKgKQA
====
begin-base64 644 NodeA.EINJ.13
RUlOSlABAAAB6URFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAADAAAAAAAAAAJAAAAAAMAAAAIAAFs
kGl/AAAAAAAAAAAAAAAA/wAAAAAAAAABAAAAAEAABHiQaX8AAAAAAAAAAAAAAAD/////AAAAAAIC
AAAAIAADdJBpfwAAAAAAAAAAAAAAAP////8AAAAAAwAAAAAgAANwkGl/AAAAAAAAAAAAAAAA////
/wAAAAAEAwAAAAgAAWyQaX8AAAAABAAAAAAAAAD/AAAAAAAAAAUDAAAACAABbZBpfwAAAAABAAAA
AAAAAP8AAAAAAAAABQMAAAAIAAFskGl/AAAAAAUAAAAAAAAA/wAAAAAAAAAGAQAAAAgAAW2QaX8A
AAAAAQAAAAAAAAD/AAAAAAAAAAcAAAAACAABbpBpfwAAAAAAAAAAAAAAAP8AAAAAAAAA
====
begin-base64 644 NodeA.ERST.10
RVJTVHACAAABwkRFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAADAAAAAAAAAASAAAAAAMAAAAIAAEA
kGl/AAAAAAAAAAAAAAAA/wAAAAAAAAABAwAAAAgAAQCQaX8AAAAAAQAAAAAAAAD/AAAAAAAAAAID
AAAACAABAJBpfwAAAAACAAAAAAAAAP8AAAAAAAAAAwMAAAAIAAEAkGl/AAAAAAMAAAAAAAAA/wAA
AAAAAAAEAgAAABAAAgKQaX8AAAAAAAAAAAAAAAD//wAAAAAAAAUDAAAACAABFZBpfwAAAAABAAAA
AAAAAP8AAAAAAAAABQMAAAAIAAEWkGl/AAAAAAUAAAAAAAAA/wAAAAAAAAAFAwAAAQgAAbIAAAAA
AAAAeQAAAAAAAAD/AAAAAAAAAAYBAAAACAABFZBpfwAAAAABAAAAAAAAAP8AAAAAAAAABwAAAAAI
AAEUkGl/AAAAAAAAAAAAAAAA/wAAAAAAAAAIAAAAAEAABAyQaX8AAAAAAAAAAAAAAAD/////////
/wkCAAAAQAAEDJBpfwAAAAAAAAAAAAAAAP//////////CgAAAAAIAAEBkGl/AAAAAAAAAAAAAAAA
/wAAAAAAAAANAAAAAEAABGCQaX8AAAAAAAAAAAAAAAD//////////w4AAAAAEAACaJBpfwAAAAAA
AAAAAAAAAP//AAAAAAAADwAAAAAQAAJqkGl/AAAAAAAAAAAAAAAA//8AAAAAAAALAwAAAAgAARaQ
aX8AAAAACwAAAAAAAAD/AAAAAAAAAAsDAAAACAABFpBpfwAAAAAAAAAAAAAAAP8AAAAAAAAA
====
begin-base64 644 NodeA.FACP.1
RkFDUHQAAAABBURFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAGBsfwDwan8BAAkAsgAAAHBxAAAA
CAAAAAAAAAQIAAAAAAAAUAgAAAgIAAAgCAAAAAAAAAQCAQQQAAAA9AGIEwAAAAAAAAAAMgAAAKUA
BAA=
====
begin-base64 644 NodeA.HEST.11
SEVTVKgDAAAB6URFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAACwAAAAYA4AAAAAMBBQAAAAUAAAAA
AAAAAAAAAAQAAAAAgBEAMXAOAMExAAAAAAAAAAAAAAcA4QAAAAMBBQAAAAUAAAAAAAAAAAAAAAQA
AAAAgBEAMXAOAMExAAAAAAAACADiAAAAAwEFAAAABQAAAAAAAAAAAAAABAAAAACAEQAxcA4AwTEA
AAAAAAA/JAAAwBsAAAAAAAAJAOCA4AAAAQUAAAAFAAAAAAQAAABAAAQgkGl/AAAAAAQcAADoAwAA
AAAAAAIAAAACAAAAAQAAAAEAAAAABAAACQDhgOEAAAEFAAAABQAAAAAEAAAAQAAEKJBpfwAAAAAE
HAAA6AMAAAAAAAACAAAAAgAAAAEAAAABAAAAAAQAAAkA4oDiAAABBQAAAAUAAAAABAAAAEAABDCQ
aX8AAAAABBwAAOgDAAAAAAAAAgAAAAIAAAABAAAAAQAAAAAEAAAJAOMA//8AAQUAAAACAAAAAAQA
AABAAAQ4kGl/AAAAAAQcAADoAwAAAAAAAAIAAAACAAAAAQAAAAEAAAAABAAACQDgwOAAAAEBAAAA
BQAAAAAEAAAAQAAEQJBpfwAAAAAAHAAA6AMAAAAAAAACAAAAAgAAAAEAAAABAAAAAAQAAAkA4cDh
AAABAQAAAAUAAAAABAAAAEAABEiQaX8AAAAAABwAAOgDAAAAAAAAAgAAAAIAAAABAAAAAQAAAAAE
AAAJAOLA4gAAAQEAAAAFAAAAAAQAAABAAARQkGl/AAAAAAAcAADoAwAAAAAAAAIAAAACAAAAAQAA
AAEAAAAABAAAAQDkAAAAAAEFAAAABQAAAAAcAADoAwAAAAAAAAABAAACAAAAAAEAAAC62wAJAAAA
AAEAAAAEAAD//////////wEEAAACBAAAAwQAAAEBAAAEBAAA//////////8FBAAABgQAAAcEAAAC
AQAACAQAAP//////////CQQAAAoEAAAAAAAAAwEAAAwEAAD//////////w0EAAAOBAAAAAAAAAQB
AAAQBAAA//////////8RBAAAAAAAAAAAAAAFAQAAFAQAAP//////////FQQAABYEAAAXBAAABgEA
ABgEAAD//////////xkEAAAaBAAAGwQAAAcBAAAcBAAA//////////8dBAAAAAAAAAAAAAAIAQAA
IAQAAP//////////IQQAACIEAAAjBAAA
====
begin-base64 644 NodeA.HPET.5
SFBFVDgAAAABrkRFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAaeGgAAAAAAAAND+AAAAAADoAwA=
====
begin-base64 644 NodeA.MCFG.7
TUNGRzwAAAABRkRFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAAAAAAAAAAAAAADgAAAAAAAAAP8A
AAAA
====
begin-base64 644 NodeA.RSDT.0
UlNEVFwAAAABAERFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAADRsf3g0bH/MNWx/IDZsf1w2bH9Q
OGx/kDhsf8g5bH8oMGt/mDJrf6gua3/YLmt/TDtsfwBwbH8=
====
begin-base64 644 NodeA.SLIC.9
U0xJQyQAAAABL0RFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAA
====
begin-base64 644 NodeA.SPCR.4
U1BDUlAAAAAB60RFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAAAAAAAAAAAAAAAAAAAAAAMEBAAA
AAAAAQIBAP////8AAAAAAAAAAAAAAAA=
====
begin-base64 644 NodeA.SSDT.15
U1NEVEASAAABRklOVEVMAFBQTSBSQ00gAQAAgElOVEwJEQYgEEZIXC5fUFJfQ1BVMQhUWVBFDAAA
AAAIUFNFTgwBAAAACENTRU4MAAAAAAhNV09TDAAAAAAIVFNFTgwAAAAAFEkHX1BEQwGKaAoIQ0FQ
QXBDQVBBVFlQRYpoCgBSRVZTimgKBFNJWkVwh2hgcHRgCggAYVsTaApAd2EKCABURU1QCFNUUzAR
BwoEAAAAAHNTVFMwVEVNUGJfT1NDERMKEBamd0AMKb5Hnr3YcFhxOVNSRVZTU0laRWIUTg9fT1ND
BIprCgRDQVBBcENBUEFUWVBFimsKAFNUUzCKawoEQ0FQMIpoCgBJSUQwimgKBElJRDGKaAoISUlE
MopoCgxJSUQzCFVJRDAREwoQFqZ3QAwpvkeevdhwWHE5U4poCgBFSUQwimgKBEVJRDGKaAoIRUlE
MopoCgxFSUQzoEcDkpCQk0lJRDBFSUQwk0lJRDFFSUQxkJNJSUQyRUlEMpNJSUQzRUlEM3AKBohT
VFMwCgAApGugRAGSk2kKAXAKCohTVFMwCgAApGugSAF7U1RTMAoBAHtDQVAwC/8LQ0FQMKRre0NB
UDAL/wtDQVAwcENBUDBUWVBFpGsUQx5fUFNTAKBJHVBTRU6kEkEdDhIgBgxuCwAADCgdAQAMCgAA
AAwKAAAADBYAAAAMFgAAABIgBgzpCgAADBj2AAAMCgAAAAwKAAAADBUAAAAMFQAAABIgBgxkCgAA
DJDiAAAMCgAAAAwKAAAADBQAAAAMFAAAABIgBgzfCQAADFDDAAAMCgAAAAwKAAAADBMAAAAMEwAA
ABIgBgxaCQAADJi3AAAMCgAAAAwKAAAADBIAAAAMEgAAABIgBgzVCAAADPinAAAMCgAAAAwKAAAA
DBEAAAAMEQAAABIgBgxQCAAADHCUAAAMCgAAAAwKAAAADBAAAAAMEAAAABIgBgzLBwAADLiIAAAM
CgAAAAwKAAAADA8AAAAMDwAAABIgBgxGBwAADOiAAAAMCgAAAAwKAAAADA4AAAAMDgAAABIgBgzB
BgAADEhxAAAMCgAAAAwKAAAADA0AAAAMDQAAABIgBgw8BgAADGBtAAAMCgAAAAwKAAAADAwAAAAM
DAAAABIgBgy3BQAADJBlAAAMCgAAAAwKAAAADAsAAAAMCwAAABIgBgwyBQAADMBdAAAMCgAAAAwK
AAAADAoAAAAMCgAAABIgBgytBAAADNhZAAAMCgAAAAwKAAAADAkAAAAMCQAAAKQAFDVfUENUAKQS
TQICERQKEYIMAH9AAACZAQAAAAAAAHkAERQKEYIMAH8QAACYAQAAAAAAAHkAFA1fUFBDAKRQU0xM
pAAUQgNfUFNEAKBIAntUWVBFDCAIAAAApBJJAQESFQUKBQoADAAAAAAM/gAAAAwEAAAApAAUQwdD
X1NUAKBJBkNTRU6gSQOQTVdPU3tUWVBFCwACAKQSRwICCgESIQQRFAoRggwAfwECAQAAAAAAAAAA
eQAKAQsBAAzoAwAApBJHAgIKARIhBBEUChGCDAB/AAAAAAAAAAAAAAB5AAoBCwEADOgDAACkABBG
SFwuX1BSX0NQVTIIVFlQRQwAAAAACFBTRU4MAQAAAAhDU0VODAAAAAAITVdPUwwAAAAACFRTRU4M
AAAAABRJB19QREMBimgKCENBUEFwQ0FQQVRZUEWKaAoAUkVWU4poCgRTSVpFcIdoYHB0YAoIAGFb
E2gKQHdhCggAVEVNUAhTVFMwEQcKBAAAAABzU1RTMFRFTVBiX09TQxETChAWpndADCm+R5692HBY
cTlTUkVWU1NJWkViFE4PX09TQwSKawoEQ0FQQXBDQVBBVFlQRYprCgBTVFMwimsKBENBUDCKaAoA
SUlEMIpoCgRJSUQximgKCElJRDKKaAoMSUlEMwhVSUQwERMKEBamd0AMKb5Hnr3YcFhxOVOKaAoA
RUlEMIpoCgRFSUQximgKCEVJRDKKaAoMRUlEM6BHA5KQkJNJSUQwRUlEMJNJSUQxRUlEMZCTSUlE
MkVJRDKTSUlEM0VJRDNwCgaIU1RTMAoAAKRroEQBkpNpCgFwCgqIU1RTMAoAAKRroEgBe1NUUzAK
AQB7Q0FQMAv/C0NBUDCka3tDQVAwC/8LQ0FQMHBDQVAwVFlQRaRrFEMeX1BTUwCgSR1QU0VOpBJB
HQ4SIAYMbgsAAAwoHQEADAoAAAAMCgAAAAwWAAAADBYAAAASIAYM6QoAAAwY9gAADAoAAAAMCgAA
AAwVAAAADBUAAAASIAYMZAoAAAyQ4gAADAoAAAAMCgAAAAwUAAAADBQAAAASIAYM3wkAAAxQwwAA
DAoAAAAMCgAAAAwTAAAADBMAAAASIAYMWgkAAAyYtwAADAoAAAAMCgAAAAwSAAAADBIAAAASIAYM
1QgAAAz4pwAADAoAAAAMCgAAAAwRAAAADBEAAAASIAYMUAgAAAxwlAAADAoAAAAMCgAAAAwQAAAA
DBAAAAASIAYMywcAAAy4iAAADAoAAAAMCgAAAAwPAAAADA8AAAASIAYMRgcAAAzogAAADAoAAAAM
CgAAAAwOAAAADA4AAAASIAYMwQYAAAxIcQAADAoAAAAMCgAAAAwNAAAADA0AAAASIAYMPAYAAAxg
bQAADAoAAAAMCgAAAAwMAAAADAwAAAASIAYMtwUAAAyQZQAADAoAAAAMCgAAAAwLAAAADAsAAAAS
IAYMMgUAAAzAXQAADAoAAAAMCgAAAAwKAAAADAoAAAASIAYMrQQAAAzYWQAADAoAAAAMCgAAAAwJ
AAAADAkAAACkABQ1X1BDVACkEk0CAhEUChGCDAB/QAAAmQEAAAAAAAB5ABEUChGCDAB/EAAAmAEA
AAAAAAB5ABQNX1BQQwCkUFNMTKQAFEIDX1BTRACgSAJ7VFlQRQwgCAAAAKQSSQEBEhUFCgUKAAwA
AAAADP4AAAAMBAAAAKQAFEMHQ19TVACgSQZDU0VOoEkDkE1XT1N7VFlQRQsAAgCkEkcCAgoBEiEE
ERQKEYIMAH8BAgEAAAAAAAAAAHkACgELAQAM6AMAAKQSRwICCgESIQQRFAoRggwAfwAAAAAAAAAA
AAAAeQAKAQsBAAzoAwAApAAQRkhcLl9QUl9DUFUzCFRZUEUMAAAAAAhQU0VODAEAAAAIQ1NFTgwA
AAAACE1XT1MMAAAAAAhUU0VODAAAAAAUSQdfUERDAYpoCghDQVBBcENBUEFUWVBFimgKAFJFVlOK
aAoEU0laRXCHaGBwdGAKCABhWxNoCkB3YQoIAFRFTVAIU1RTMBEHCgQAAAAAc1NUUzBURU1QYl9P
U0MREwoQFqZ3QAwpvkeevdhwWHE5U1JFVlNTSVpFYhROD19PU0MEimsKBENBUEFwQ0FQQVRZUEWK
awoAU1RTMIprCgRDQVAwimgKAElJRDCKaAoESUlEMYpoCghJSUQyimgKDElJRDMIVUlEMBETChAW
pndADCm+R5692HBYcTlTimgKAEVJRDCKaAoERUlEMYpoCghFSUQyimgKDEVJRDOgRwOSkJCTSUlE
MEVJRDCTSUlEMUVJRDGQk0lJRDJFSUQyk0lJRDNFSUQzcAoGiFNUUzAKAACka6BEAZKTaQoBcAoK
iFNUUzAKAACka6BIAXtTVFMwCgEAe0NBUDAL/wtDQVAwpGt7Q0FQMAv/C0NBUDBwQ0FQMFRZUEWk
axRDHl9QU1MAoEkdUFNFTqQSQR0OEiAGDG4LAAAMKB0BAAwKAAAADAoAAAAMFgAAAAwWAAAAEiAG
DOkKAAAMGPYAAAwKAAAADAoAAAAMFQAAAAwVAAAAEiAGDGQKAAAMkOIAAAwKAAAADAoAAAAMFAAA
AAwUAAAAEiAGDN8JAAAMUMMAAAwKAAAADAoAAAAMEwAAAAwTAAAAEiAGDFoJAAAMmLcAAAwKAAAA
DAoAAAAMEgAAAAwSAAAAEiAGDNUIAAAM+KcAAAwKAAAADAoAAAAMEQAAAAwRAAAAEiAGDFAIAAAM
cJQAAAwKAAAADAoAAAAMEAAAAAwQAAAAEiAGDMsHAAAMuIgAAAwKAAAADAoAAAAMDwAAAAwPAAAA
EiAGDEYHAAAM6IAAAAwKAAAADAoAAAAMDgAAAAwOAAAAEiAGDMEGAAAMSHEAAAwKAAAADAoAAAAM
DQAAAAwNAAAAEiAGDDwGAAAMYG0AAAwKAAAADAoAAAAMDAAAAAwMAAAAEiAGDLcFAAAMkGUAAAwK
AAAADAoAAAAMCwAAAAwLAAAAEiAGDDIFAAAMwF0AAAwKAAAADAoAAAAMCgAAAAwKAAAAEiAGDK0E
AAAM2FkAAAwKAAAADAoAAAAMCQAAAAwJAAAApAAUNV9QQ1QApBJNAgIRFAoRggwAf0AAAJkBAAAA
AAAAeQARFAoRggwAfxAAAJgBAAAAAAAAeQAUDV9QUEMApFBTTEykABRCA19QU0QAoEgCe1RZUEUM
IAgAAACkEkkBARIVBQoFCgAMAAAAAAz+AAAADAQAAACkABRDB0NfU1QAoEkGQ1NFTqBJA5BNV09T
e1RZUEULAAIApBJHAgIKARIhBBEUChGCDAB/AQIBAAAAAAAAAAB5AAoBCwEADOgDAACkEkcCAgoB
EiEEERQKEYIMAH8AAAAAAAAAAAAAAHkACgELAQAM6AMAAKQAEEZIXC5fUFJfQ1BVNAhUWVBFDAAA
AAAIUFNFTgwBAAAACENTRU4MAAAAAAhNV09TDAAAAAAIVFNFTgwAAAAAFEkHX1BEQwGKaAoIQ0FQ
QXBDQVBBVFlQRYpoCgBSRVZTimgKBFNJWkVwh2hgcHRgCggAYVsTaApAd2EKCABURU1QCFNUUzAR
BwoEAAAAAHNTVFMwVEVNUGJfT1NDERMKEBamd0AMKb5Hnr3YcFhxOVNSRVZTU0laRWIUTg9fT1ND
BIprCgRDQVBBcENBUEFUWVBFimsKAFNUUzCKawoEQ0FQMIpoCgBJSUQwimgKBElJRDGKaAoISUlE
MopoCgxJSUQzCFVJRDAREwoQFqZ3QAwpvkeevdhwWHE5U4poCgBFSUQwimgKBEVJRDGKaAoIRUlE
MopoCgxFSUQzoEcDkpCQk0lJRDBFSUQwk0lJRDFFSUQxkJNJSUQyRUlEMpNJSUQzRUlEM3AKBohT
VFMwCgAApGugRAGSk2kKAXAKCohTVFMwCgAApGugSAF7U1RTMAoBAHtDQVAwC/8LQ0FQMKRre0NB
UDAL/wtDQVAwcENBUDBUWVBFpGsUQx5fUFNTAKBJHVBTRU6kEkEdDhIgBgxuCwAADCgdAQAMCgAA
AAwKAAAADBYAAAAMFgAAABIgBgzpCgAADBj2AAAMCgAAAAwKAAAADBUAAAAMFQAAABIgBgxkCgAA
DJDiAAAMCgAAAAwKAAAADBQAAAAMFAAAABIgBgzfCQAADFDDAAAMCgAAAAwKAAAADBMAAAAMEwAA
ABIgBgxaCQAADJi3AAAMCgAAAAwKAAAADBIAAAAMEgAAABIgBgzVCAAADPinAAAMCgAAAAwKAAAA
DBEAAAAMEQAAABIgBgxQCAAADHCUAAAMCgAAAAwKAAAADBAAAAAMEAAAABIgBgzLBwAADLiIAAAM
CgAAAAwKAAAADA8AAAAMDwAAABIgBgxGBwAADOiAAAAMCgAAAAwKAAAADA4AAAAMDgAAABIgBgzB
BgAADEhxAAAMCgAAAAwKAAAADA0AAAAMDQAAABIgBgw8BgAADGBtAAAMCgAAAAwKAAAADAwAAAAM
DAAAABIgBgy3BQAADJBlAAAMCgAAAAwKAAAADAsAAAAMCwAAABIgBgwyBQAADMBdAAAMCgAAAAwK
AAAADAoAAAAMCgAAABIgBgytBAAADNhZAAAMCgAAAAwKAAAADAkAAAAMCQAAAKQAFDVfUENUAKQS
TQICERQKEYIMAH9AAACZAQAAAAAAAHkAERQKEYIMAH8QAACYAQAAAAAAAHkAFA1fUFBDAKRQU0xM
pAAUQgNfUFNEAKBIAntUWVBFDCAIAAAApBJJAQESFQUKBQoADAAAAAAM/gAAAAwEAAAApAAUQwdD
X1NUAKBJBkNTRU6gSQOQTVdPU3tUWVBFCwACAKQSRwICCgESIQQRFAoRggwAfwECAQAAAAAAAAAA
eQAKAQsBAAzoAwAApBJHAgIKARIhBBEUChGCDAB/AAAAAAAAAAAAAAB5AAoBCwEADOgDAACkAA==
====
begin-base64 644 NodeA.TCPA.14
VENQQWQAAAACAERFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAAQAAAAAAAQAAAAAAABBtfwAAAAAg
AQAAAAAAAAAAAAAAAAAAAADU/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
====
begin-base64 644 NodeA.WDAT.8
V0RBVDQBAAABAkRFTEwgIFBFX1NDMyAgAQAAAERFTEwBAAAAIAAAAP8A////AAAAWAIAAP8DAAAC
AAAAAQAAAAoAAAABggAAARAAAmAIAAAAAAAAAAAAAP8DAAAEAQAAARAAAmAIAAAAAAAAAAAAAP8D
AAAFAQAAARAAAnIIAAAAAAAAAAAAAP8DAAAGgwAAARAAAnIIAAAAAAAAAAAAAP8DAAAIAAAAARAA
AmgIAAAAAAAAAAAAAAAIAAAJggAAARAAAmgIAAAAAAAAAAAAAAAIAAAKAAAAARAAAmgIAAAAAAAA
AAgAAAAIAAALggAAARAAAmgIAAAAAAAAAAgAAAAIAAAgAAAAARAAAmoIAAAAAAAAEAAAABAAAAAh
ggAAARAAAmoIAAAAAAAAAAAAABAAAAA=
====
begin-base64 644 NodeA.headers
ClJTRCBQVFI6IENoZWNrc3VtPTg4LCBPRU1JRD1ERUxMLCBSc2R0QWRkcmVzcz0weDAwMGYxMzA0
CgoKUlNEVDogTGVuZ3RoPTkyLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0wLAoJT0VNSUQ9REVMTCwg
T0VNIFRhYmxlIElEPVBFX1NDMywgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9REVMTCwg
Q3JlYXRvciBSZXZpc2lvbj0weDEKCgoJRW50cmllcz17IDB4N2Y2YzM0MDAsIDB4N2Y2YzM0Nzgs
IDB4N2Y2YzM1Y2MsIDB4N2Y2YzM2MjAsIDB4N2Y2YzM2NWMsIDB4N2Y2YzM4NTAsIDB4N2Y2YzM4
OTAsIDB4N2Y2YzM5YzgsIDB4N2Y2YjMwMjgsIDB4N2Y2YjMyOTgsIDB4N2Y2YjJlYTgsIDB4N2Y2
YjJlZDgsIDB4N2Y2YzNiNGMsIDB4N2Y2YzcwMDAgfQoKCglEU0RUPTB4N2Y2YWYwMDAKCUlOVF9N
T0RFTD1BUElDCglTQ0lfSU5UPTkKCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHg3MCwgQUNQ
SV9ESVNBQkxFPTB4NzEsIFM0QklPU19SRVE9MHgwCglQTTFhX0VWVF9CTEs9MHg4MDAtMHg4MDMK
CVBNMWFfQ05UX0JMSz0weDgwNC0weDgwNQoJUE0yX0NOVF9CTEs9MHg4NTAtMHg4NTAKCVBNMl9U
TVJfQkxLPTB4ODA4LTB4ODBiCglQTTJfR1BFMF9CTEs9MHg4MjAtMHg4MmYKCVBfTFZMMl9MQVQ9
NTAwbXMsIFBfTFZMM19MQVQ9NTAwMG1zCglGTFVTSF9TSVpFPTAsIEZMVVNIX1NUUklERT0wCglE
VVRZX09GRlNFVD0wLCBEVVRZX1dJRFRIPTAKCURBWV9BTFJNPTAsIE1PTl9BTFJNPTAsIENFTlRV
Ulk9NTAKCUZsYWdzPXtXQklOVkQsUFJPQ19DMSxTTFBfQlVUVE9OLFJUQ19TNH0KCgpEU0RUOiBM
ZW5ndGg9MTYwMzgsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE4MiwKCU9FTUlEPURFTEwsIE9FTSBU
YWJsZSBJRD1QRV9TQzMsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPUlOVEwsIENyZWF0
b3IgUmV2aXNpb249MHgyMDA1MDYyNAoKCkFQSUM6IExlbmd0aD0zMzgsIFJldmlzaW9uPTEsIENo
ZWNrc3VtPTE0OCwKCU9FTUlEPURFTEwsIE9FTSBUYWJsZSBJRD1QRV9TQzMsIE9FTSBSZXZpc2lv
bj0weDEsCglDcmVhdG9yIElEPURFTEwsIENyZWF0b3IgUmV2aXNpb249MHgxCgoKU1BDUjogTGVu
Z3RoPTgwLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yMzUsCglPRU1JRD1ERUxMLCBPRU0gVGFibGUg
SUQ9UEVfU0MzLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1ERUxMLCBDcmVhdG9yIFJl
dmlzaW9uPTB4MQoKCkhQRVQ6IExlbmd0aD01NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MTc0LAoJ
T0VNSUQ9REVMTCwgT0VNIFRhYmxlIElEPVBFX1NDMywgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0
b3IgSUQ9REVMTCwgQ3JlYXRvciBSZXZpc2lvbj0weDEKCgpETV9fOiBMZW5ndGg9MTY4LCBSZXZp
c2lvbj0xLCBDaGVja3N1bT0xOTgsCglPRU1JRD1ERUxMLCBPRU0gVGFibGUgSUQ9UEVfU0MzLCBP
RU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1ERUxMLCBDcmVhdG9yIFJldmlzaW9uPTB4MQoK
Ck1DRkc6IExlbmd0aD02MCwgUmV2aXNpb249MSwgQ2hlY2tzdW09NzAsCglPRU1JRD1ERUxMLCBP
RU0gVGFibGUgSUQ9UEVfU0MzLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1ERUxMLCBD
cmVhdG9yIFJldmlzaW9uPTB4MQoKCldEQVQ6IExlbmd0aD0zMDgsIFJldmlzaW9uPTEsIENoZWNr
c3VtPTIsCglPRU1JRD1ERUxMLCBPRU0gVGFibGUgSUQ9UEVfU0MzLCBPRU0gUmV2aXNpb249MHgx
LAoJQ3JlYXRvciBJRD1ERUxMLCBDcmVhdG9yIFJldmlzaW9uPTB4MQoKClNMSUM6IExlbmd0aD0z
NiwgUmV2aXNpb249MSwgQ2hlY2tzdW09NDcsCglPRU1JRD1ERUxMLCBPRU0gVGFibGUgSUQ9UEVf
U0MzLCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1ERUxMLCBDcmVhdG9yIFJldmlzaW9u
PTB4MQoKCkVSU1Q6IExlbmd0aD02MjQsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE5NCwKCU9FTUlE
PURFTEwsIE9FTSBUYWJsZSBJRD1QRV9TQzMsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElE
PURFTEwsIENyZWF0b3IgUmV2aXNpb249MHgxCgoKSEVTVDogTGVuZ3RoPTkzNiwgUmV2aXNpb249
MSwgQ2hlY2tzdW09MjMzLAoJT0VNSUQ9REVMTCwgT0VNIFRhYmxlIElEPVBFX1NDMywgT0VNIFJl
dmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9REVMTCwgQ3JlYXRvciBSZXZpc2lvbj0weDEKCgpCRVJU
OiBMZW5ndGg9NDgsIFJldmlzaW9uPTEsIENoZWNrc3VtPTIxNiwKCU9FTUlEPURFTEwsIE9FTSBU
YWJsZSBJRD1QRV9TQzMsIE9FTSBSZXZpc2lvbj0weDEsCglDcmVhdG9yIElEPURFTEwsIENyZWF0
b3IgUmV2aXNpb249MHgxCgoKRUlOSjogTGVuZ3RoPTMzNiwgUmV2aXNpb249MSwgQ2hlY2tzdW09
MjMzLAoJT0VNSUQ9REVMTCwgT0VNIFRhYmxlIElEPVBFX1NDMywgT0VNIFJldmlzaW9uPTB4MSwK
CUNyZWF0b3IgSUQ9REVMTCwgQ3JlYXRvciBSZXZpc2lvbj0weDEKCgpUQ1BBOiBMZW5ndGg9MTAw
LCBSZXZpc2lvbj0yLCBDaGVja3N1bT0wLAoJT0VNSUQ9REVMTCwgT0VNIFRhYmxlIElEPVBFX1ND
MywgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9REVMTCwgQ3JlYXRvciBSZXZpc2lvbj0w
eDEKCgpTU0RUOiBMZW5ndGg9NDY3MiwgUmV2aXNpb249MSwgQ2hlY2tzdW09NzAsCglPRU1JRD1J
TlRFTCwgT0VNIFRhYmxlIElEPVBQTSBSQ00sIE9FTSBSZXZpc2lvbj0weDgwMDAwMDAxLAoJQ3Jl
YXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwNjExMDkKCg==
====

Reply | Threaded
Open this post in threaded view
|

Re: My Firewall crashed.

Alexander Bluhm
On Thu, Mar 14, 2013 at 03:20:06PM +0000, Keith wrote:
> uvm_fault(0xffffffff80d44ea0, 0x0x 0x 2) -> e
> kernel: page fault trap, code=0
> Stopped at      sounsplice+0x44:    andw $0xfeff,0x1a8(%r12)
> ddb{0}>

During OpenBSD 5.3 development I fixed a bug in this area.  Can you
upgrade your firewall to a -current snapshot?

> I wasn't very sure what to do and wanted the server back online asap so
> rebooted the server and it's backup and running now.

Type trace at the ddb prompt and report the stack trace.  It is
important to know the function names to understand what went wrong.

> >How-To-Repeat:
>     I don't know what caused this.

I guess you are running relayd.  It uses zero-copy socket splicing
shortcut for tcp data in the kernel.  There was a race.

> >Fix:
>     Don't know

Please test wether it has already been fixed in OpenBSD 5.3.

bluhm

Reply | Threaded
Open this post in threaded view
|

Re: My Firewall crashed.

Keith-125
On 16/03/2013 15:06, Alexander Bluhm wrote:
> On Thu, Mar 14, 2013 at 03:20:06PM +0000, Keith wrote:
>> uvm_fault(0xffffffff80d44ea0, 0x0x 0x 2) -> e
>> kernel: page fault trap, code=0
>> Stopped at      sounsplice+0x44:    andw $0xfeff,0x1a8(%r12)
>> ddb{0}>
> During OpenBSD 5.3 development I fixed a bug in this area.  Can you
> upgrade your firewall to a -current snapshot?

Thanks for getting in touch. I'll upgrade to the most recent snapshot
next week.

>
>> I wasn't very sure what to do and wanted the server back online asap so
>> rebooted the server and it's backup and running now.
> Type trace at the ddb prompt and report the stack trace.  It is
> important to know the function names to understand what went wrong.
>
>>> How-To-Repeat:
>>      I don't know what caused this.
> I guess you are running relayd.  It uses zero-copy socket splicing
> shortcut for tcp data in the kernel.  There was a race.
Yes we are. There seems to have been a few issues with relayd recently
If only there were binary patches :>(

>>> Fix:
>>      Don't know
> Please test wether it has already been fixed in OpenBSD 5.3.
>
> bluhm
Will do.

Thanks
Keith

Reply | Threaded
Open this post in threaded view
|

Re: My Firewall crashed.

Alexander Bluhm
In reply to this post by Keith-125
On Thu, Mar 14, 2013 at 03:20:06PM +0000, Keith wrote:
> uvm_fault(0xffffffff80d44ea0, 0x0x 0x 2) -> e
> kernel: page fault trap, code=0
> Stopped at      sounsplice+0x44:    andw $0xfeff,0x1a8(%r12)
> ddb{0}>

I was thinking about this crash again, and I concluded there is
another race.  It looks like that so or sosp in sounsplice() is
NULL.  Before calling sounsplice() we check that condition everywhere
exept in soidle().

When a timeout is fired, a network interrupt can unsplice() the
sockets before soidle() goes to splsoftnet().  In this case,
unsplice() is called twice.  So check wether splicing still exists
within the lock.

Keith, can you test this patch?

bluhm

Index: kern/uipc_socket.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_socket.c,v
retrieving revision 1.114
diff -u -p -r1.114 uipc_socket.c
--- kern/uipc_socket.c 16 Feb 2013 14:34:52 -0000 1.114
+++ kern/uipc_socket.c 17 Mar 2013 09:47:22 -0000
@@ -1443,8 +1443,10 @@ soidle(void *arg)
  int s;
 
  s = splsoftnet();
- so->so_error = ETIMEDOUT;
- sounsplice(so, so->so_splice, 1);
+ if (so->so_splice) {
+ so->so_error = ETIMEDOUT;
+ sounsplice(so, so->so_splice, 1);
+ }
  splx(s);
 }
 #endif /* SOCKET_SPLICE */

Reply | Threaded
Open this post in threaded view
|

Re: My Firewall crashed.

Keith-125
On 17/03/2013 10:04, Alexander Bluhm wrote:

> On Thu, Mar 14, 2013 at 03:20:06PM +0000, Keith wrote:
>> uvm_fault(0xffffffff80d44ea0, 0x0x 0x 2) -> e
>> kernel: page fault trap, code=0
>> Stopped at      sounsplice+0x44:    andw $0xfeff,0x1a8(%r12)
>> ddb{0}>
> I was thinking about this crash again, and I concluded there is
> another race.  It looks like that so or sosp in sounsplice() is
> NULL.  Before calling sounsplice() we check that condition everywhere
> exept in soidle().
>
> When a timeout is fired, a network interrupt can unsplice() the
> sockets before soidle() goes to splsoftnet().  In this case,
> unsplice() is called twice.  So check wether splicing still exists
> within the lock.
>
> Keith, can you test this patch?
>
> bluhm
>
> Index: kern/uipc_socket.c
> ===================================================================
> RCS file: /data/mirror/openbsd/cvs/src/sys/kern/uipc_socket.c,v
> retrieving revision 1.114
> diff -u -p -r1.114 uipc_socket.c
> --- kern/uipc_socket.c 16 Feb 2013 14:34:52 -0000 1.114
> +++ kern/uipc_socket.c 17 Mar 2013 09:47:22 -0000
> @@ -1443,8 +1443,10 @@ soidle(void *arg)
>   int s;
>  
>   s = splsoftnet();
> - so->so_error = ETIMEDOUT;
> - sounsplice(so, so->so_splice, 1);
> + if (so->so_splice) {
> + so->so_error = ETIMEDOUT;
> + sounsplice(so, so->so_splice, 1);
> + }
>   splx(s);
>   }
>   #endif /* SOCKET_SPLICE */
Hi again for looking into this. Unfortunately I don't know how to apply
the patch. I just usually run with the official releases of OBSD and
have only recently tried using snapshots. What i can say is that it took
about 1-2 weeks of uptime for the crash to happen and since I rebooted
the machine about 4 days ago the problem hasn't happened again (yet).

I was wondering if you have any idea how stable the most recent x64
snapshot might be for running a firewall with relayd on ? as I'm not
sure if I should upgrade everything to the snapshot or go back to an old
5.1 or 5.0 release as I need some stability. Unfortunalty I just
upgraded six server to either the last snapshot or the 5.2 release.

Keith