>Synopsis: Virtualized OpenBSD under FreeBSD/bhyve and PCI passthrough
>fails with interrupt errors
>Category: system
>Environment:
System : OpenBSD 5.9
Details : OpenBSD 5.9 (GENERIC) #1761: Fri Feb 26 01:15:04 MST 2016
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
Architecture: OpenBSD.amd64
Machine : amd64
>Description:
A virtualized OpenBSD under FreeBSD 11-beta4 and bhyve doesn't accept
any PCI devices via PCI passthrough (which are having MSI-(x) interrupts of
course) and giving following errors:
Aug 12 02:31:20 aphrodite /bsd: em0 at pci0 dev 5 function 0 "Intel I217-V" rev
0x00pci_intr_map: bad interrupt line 20
Aug 12 03:44:15 aphrodite /bsd: re0 at pci0 dev 5 function 0 "Realtek 8168" rev
0x0cpci_intr_map: bad interrupt line 19
The CPU is a broadwell one: CPU: Intel(R) Core(TM) i5-4570S CPU @ 2.90GHz
(2893.36-MHz K8-class CPU)
The same problem occurs on a broadwell CPU with a late 2014 Mac Mini. All other
OS(es) (FreeBSD/Linux) don't have the issue as guest. I also added the Issue
under: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=205445 (comment 4).
That configuration should work at least under possibly another CPU
configuration: https://forums.freebsd.org/threads/50470/
So, I'm not sure, on which parts (bhyve/passthrough or OpenBSD) the problem
is... so I adress it here, too. I also tried it on an actual Todays
6.0-snapshot. The same errors occurs.
>How-To-Repeat:
See above.
>Fix:
Don't use PCI passthrough and just use NICs without IP under FreeBSD
under Bridge mode.
dmesg:
OpenBSD 5.9 (GENERIC) #1761: Fri Feb 26 01:15:04 MST 2016
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 1056964608 (1008MB)
avail mem = 1021227008 (973MB)
warning: no entropy supplied by boot loader
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xf101f (9 entries)
bios0: vendor BHYVE version "1.00" date 03/14/2014
acpi0 at bios0: rev 2
acpi0: sleep states S5
acpi0: tables DSDT APIC FACP HPET MCFG
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM) i5-4570S CPU @ 2.90GHz, 2893.38 MHz
cpu0:
FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SS,HTT,PBE,SSE3,PCLMUL,DTES64,DS-CPL,SSSE3,FMA3,CX16,xTPR,PCID,SSE4.1,SSE4.2,MOVBE,POPCNT,AES,XSAVE,AVX,F16C,RDRAND,HV,NXE,PAGE1GB,LONG,LAHF,ABM,ITSC,FSGSBASE,BMI1,AVX2,BMI2,ERMS,INVPCID,ARAT
cpu0: 256KB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: CPU supports MTRRs but not enabled by BIOS
cpu0: apic clock running at 134MHz
ioapic0 at mainbus0: apid 0 pa 0xfec00000, version 11, 24 pins
acpihpet0 at acpi0: 10000000 Hz
acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255
acpiprt0 at acpi0: bus 0 (PC00)
pvbus0 at mainbus0: bhyve
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 unknown vendor 0x1275 product 0x1275 rev 0x00
virtio0 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00
vioblk0 at virtio0
scsibus1 at vioblk0: 2 targets
sd0 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd0: 40960MB, 512 bytes/sector, 83886080 sectors
virtio0: apic 0 int 16
virtio1 at pci0 dev 5 function 0 "Qumranet Virtio Network" rev 0x00
vio0 at virtio1: address 58:9c:fc:0e:54:a8
virtio1: apic 0 int 17
pcib0 at pci0 dev 31 function 0 "Intel 82371SB ISA" rev 0x00
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0 mux 1
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
/dev/ksyms: Symbol table not valid.
vscsi0 at root
scsibus2 at vscsi0: 256 targets
softraid0 at root
scsibus3 at softraid0: 256 targets
root on sd0a (6f79402a9067a2c7.a) swap on sd0b dump on sd0b
usbdevs:
usbdevs: no USB controllers found
pcidump:
Domain /dev/pci0:
0:0:0: unknown unknown
0x0000: Vendor ID: 1275 Product ID: 1275
0x0004: Command: 0007 Status: 0010
0x0008: Class: 06 Subclass: 00 Interface: 00 Revision: 00
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: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
0x0040: Capability 0x10: PCI Express
Link Speed: 2.5 / 2.5 GT/s Link Width: x1 / x1
0x0000: 12751275 00100007 06000000 00000000
0x0010: 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000040 00000000 000000ff
0x0040: 00420010 00000000 00000000 00000411
0x0050: 00110000 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 00000000
0x00e0: 00000000 00000000 00000000 00000000
0x00f0: 00000000 00000000 00000000 00000000
0:4:0: Qumranet Virtio Storage
0x0000: Vendor ID: 1af4 Product ID: 1001
0x0004: Command: 0007 Status: 0010
0x0008: Class: 01 Subclass: 00 Interface: 00 Revision: 00
0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
0x0010: BAR io addr: 0x00002000/0x0040
0x0014: BAR mem 32bit addr: 0xc0000000/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: 1af4 Product ID: 0002
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 01 Line: 05 Min Gnt: 00 Max Lat: 00
0x0040: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
0x004c: Capability 0x05: Message Signaled Interrupts (MSI)
0x0000: 10011af4 00100007 01000000 00000000
0x0010: 00002001 c0000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00021af4
0x0030: 00000000 00000040 00000000 00000105
0x0040: 00014c11 00000001 00001001 00800005
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 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:5:0: Qumranet Virtio Network
0x0000: Vendor ID: 1af4 Product ID: 1000
0x0004: Command: 0007 Status: 0010
0x0008: Class: 02 Subclass: 00 Interface: 00 Revision: 00
0x000c: BIST: 00 Header Type: 00 Latency Timer: 00 Cache Line Size: 00
0x0010: BAR io addr: 0x00002040/0x0020
0x0014: BAR mem 32bit addr: 0xc0002000/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: 1af4 Product ID: 0001
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 01 Line: 06 Min Gnt: 00 Max Lat: 00
0x0040: Capability 0x11: Extended Message Signaled Interrupts (MSI-X)
0x004c: Capability 0x05: Message Signaled Interrupts (MSI)
0x0000: 10001af4 00100007 02000000 00000000
0x0010: 00002041 c0002000 00000000 00000000
0x0020: 00000000 00000000 00000000 00011af4
0x0030: 00000000 00000040 00000000 00000106
0x0040: 00024c11 00000001 00001001 00800005
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 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:31:0: Intel 82371SB ISA
0x0000: Vendor ID: 8086 Product ID: 7000
0x0004: Command: 0007 Status: 0000
0x0008: Class: 06 Subclass: 01 Interface: 00 Revision: 00
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: 0000 Product ID: 0000
0x0030: Expansion ROM Base Address: 00000000
0x0038: 00000000
0x003c: Interrupt Pin: 00 Line: ff Min Gnt: 00 Max Lat: 00
0x0000: 70008086 00000007 06010000 00000000
0x0010: 00000000 00000000 00000000 00000000
0x0020: 00000000 00000000 00000000 00000000
0x0030: 00000000 00000000 00000000 000000ff
0x0040: 00000000 00000000 00000000 00000000
0x0050: 00000000 00000000 00000000 00000000
0x0060: 80800605 00000000 80808080 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 00000000 00000000
acpidump:
begin-base64 644 aphrodite.APIC.1
QVBJQ1oAAAABUEJIWVZFIEJWTUFEVCAgAQAAAElOVEwnBRYgAADg/gEAAAAACAAAAQAAAAEMAAAA
AMD+AAAAAAIKAAACAAAABQACCgAJCQAAAA8ABAb/BQAB
====
begin-base64 644 aphrodite.DSDT.3
RFNEVCwJAAAChkJIWVZFIEJWRFNEVCAgAQAAAElOVEwnBRYgCF9TNV8SBQIKBQAIUElDTQAUDF9Q
SUMBcGhQSUNNEECLX1NCX1uCSIpQQzAwCF9ISUQMQdAKAwhfQURSABQIX0JCTgCkAAhfQ1JTEUYJ
CpKIDQACDAAAAAAAAAAAAAEARwH4DPgMAQiIDQABDAMAAAAA9wwAAPgMiA0AAQwDAAAADf8fAAAA
E4gNAAEMAwAAACB/IAAAgACHFwAADAEAAAAAAAAAwP//H8AAAAAAAAAgAIorAAAMAQAAAAAAAAAA
AAAAANAAAAD//w8A0AAAAAAAAAAAAAAAAAAQAAAAAAB5AAhQUFJUEigCEhIEDP//BAAALklTQV9M
TktBABISBAz//wUAAC5JU0FfTE5LQgAIQVBSVBIaAhILBAz//wQAAAAKEBILBAz//wUAAAAKERQY
X1BSVACgClBJQ02kQVBSVKEGpFBQUlRbgkR4SVNBXwhfQURSDAAAHwBbgExQQ1ICAAsAAVuBM0xQ
Q1IAAEAwUElSQQhQSVJCCFBJUkMIUElSRAgAIFBJUkUIUElSRghQSVJHCFBJUkgIW4ItS0JEXwhf
SElEDEHQAwMIX0NSUxEYChVHAWAAYAABAUcBZABkAAEBIgIAeQBbgi1NT1VfCF9ISUQMQdAPEwhf
Q1JTERgKFUcBYABgAAEBRwFkAGQAAQEiABB5ABQuUElSVgGgCHtoCoAApAB7aAoPYKAHlWAKA6QA
oAeTYAoIpACgB5NgCg2kAKQBW4JKCkxOS0EIX0hJRAxB0AwPCF9VSUQBFBhfU1RBAKAMUElSVlBJ
UkGkCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjAxEQkKBiMAABh5AItDQjAxAUNJUkEUKV9DUlMA
e1BJUkEKj2CgDVBJUlZgeQFgQ0lSQaEHcABDSVJBpENCMDEUDV9ESVMAcAqAUElSQRQaX1NSUwGL
aAFTSVJBglNJUkFgcHZgUElSQVuCSwpMTktCCF9ISUQMQdAMDwhfVUlECgIUGF9TVEEAoAxQSVJW
UElSQqQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDIRCQoGIwAAGHkAi0NCMDIBQ0lSQhQpX0NS
UwB7UElSQgqPYKANUElSVmB5AWBDSVJCoQdwAENJUkKkQ0IwMhQNX0RJUwBwCoBQSVJCFBpfU1JT
AYtoAVNJUkKCU0lSQmBwdmBQSVJCW4JLCkxOS0MIX0hJRAxB0AwPCF9VSUQKAxQYX1NUQQCgDFBJ
UlZQSVJDpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwMxEJCgYjAAAYeQCLQ0IwMwFDSVJDFClf
Q1JTAHtQSVJDCo9goA1QSVJWYHkBYENJUkOhB3AAQ0lSQ6RDQjAzFA1fRElTAHAKgFBJUkMUGl9T
UlMBi2gBU0lSQ4JTSVJDYHB2YFBJUkNbgksKTE5LRAhfSElEDEHQDA8IX1VJRAoEFBhfU1RBAKAM
UElSVlBJUkSkCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA0EQkKBiMAABh5AItDQjA0AUNJUkQU
KV9DUlMAe1BJUkQKj2CgDVBJUlZgeQFgQ0lSRKEHcABDSVJEpENCMDQUDV9ESVMAcAqAUElSRBQa
X1NSUwGLaAFTSVJEglNJUkRgcHZgUElSRFuCSwpMTktFCF9ISUQMQdAMDwhfVUlECgUUGF9TVEEA
oAxQSVJWUElSRaQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDURCQoGIwAAGHkAi0NCMDUBQ0lS
RRQpX0NSUwB7UElSRQqPYKANUElSVmB5AWBDSVJFoQdwAENJUkWkQ0IwNRQNX0RJUwBwCoBQSVJF
FBpfU1JTAYtoAVNJUkWCU0lSRWBwdmBQSVJFW4JLCkxOS0YIX0hJRAxB0AwPCF9VSUQKBhQYX1NU
QQCgDFBJUlZQSVJGpAoLoQSkCgkIX1BSUxEJCgYj+N4YeQAIQ0IwNhEJCgYjAAAYeQCLQ0IwNgFD
SVJGFClfQ1JTAHtQSVJGCo9goA1QSVJWYHkBYENJUkahB3AAQ0lSRqRDQjA2FA1fRElTAHAKgFBJ
UkYUGl9TUlMBi2gBU0lSRoJTSVJGYHB2YFBJUkZbgksKTE5LRwhfSElEDEHQDA8IX1VJRAoHFBhf
U1RBAKAMUElSVlBJUkekCguhBKQKCQhfUFJTEQkKBiP43hh5AAhDQjA3EQkKBiMAABh5AItDQjA3
AUNJUkcUKV9DUlMAe1BJUkcKj2CgDVBJUlZgeQFgQ0lSR6EHcABDSVJHpENCMDcUDV9ESVMAcAqA
UElSRxQaX1NSUwGLaAFTSVJHglNJUkdgcHZgUElSR1uCSwpMTktICF9ISUQMQdAMDwhfVUlECggU
GF9TVEEAoAxQSVJWUElSSKQKC6EEpAoJCF9QUlMRCQoGI/jeGHkACENCMDgRCQoGIwAAGHkAi0NC
MDgBQ0lSSBQpX0NSUwB7UElSSAqPYKANUElSVmB5AWBDSVJIoQdwAENJUkikQ0IwOBQNX0RJUwBw
CoBQSVJIFBpfU1JTAYtoAVNJUkiCU0lSSGBwdmBQSVJIW4JIBlNJT18IX0hJRAxB0AwCCF9DUlMR
QgUKTkcBIAIgAgEERwEkAiQCAQSGCQABAAAA4AAAABBHAdAE0AQBAkcBYQBhAAEBRwEABAAEAQhH
AbIAsgABAUcBhACEAAEBRwFyAHIAAQZ5AFuCK0NPTTEIX0hJRAxB0AUBCF9VSUQBCF9DUlMREAoN
RwH4A/gDAQgiEAB5AFuCLENPTTIIX0hJRAxB0AUBCF9VSUQKAghfQ1JTERAKDUcB+AL4AgEIIggA
eQBbgiVSVENfCF9ISUQMQdALAAhfQ1JTERAKDUcBcABwAAECIgABeQBbgitQSUNfCF9ISUQLQdAI
X0NSUxEYChVHASAAIAABAkcBoACgAAECIgQAeQBbgiVUSU1SCF9ISUQMQdABAAhfQ1JTERAKDUcB
QABAAAEEIgEAeQAQOC5fU0JfUEMwMFuCLEhQRVQIX0hJRAxB0AEDCF9VSUQACF9DUlMREQoOhgkA
AQAA0P4ABAAAeQA=
====
begin-base64 644 aphrodite.FACP.2
RkFDUAwBAAAF/0JIWVZFIEJWRkFDUCAgAQAAAElOVEwnBRYgwCcPAAAoDwABAAkAsgAAAKChAAAA
BAAAAAAAAAQEAAAAAAAAAAAAAAgEAAAAAAAAAAAAAAQCAAQAAAAAAAAAAAAAAAAAAAAAMhQAACUV
CAABCAAB+QwAAAAAAAAGAAABwCcPAAAAAAAAKA8AAAAAAAEgAAIABAAAAAAAAAEAAAAAAAAAAAAA
AAEQAAIEBAAAAAAAAAEAAAAAAAAAAAAAAAEIAAAAAAAAAAAAAAEgAAMIBAAAAAAAAAEAAAEAAAAA
AAAAAAEAAAAAAAAAAAAAAAEIAAEAAAAAAAAAAAEIAAEAAAAAAAAAAA==
====
begin-base64 644 aphrodite.HPET.4
SFBFVDgAAAABeEJIWVZFIEJWSFBFVCAgAQAAAElOVEwnBRYgAQeGgAAAAAAAAND+AAAAAAAAAAE=
====
begin-base64 644 aphrodite.MCFG.5
TUNGRzwAAAABmkJIWVZFIEJWTUNGRyAgAQAAAElOVEwnBRYgAAAAAAAAAAAAAADgAAAAAAAAAP8A
AAAA
====
begin-base64 644 aphrodite.RSDT.0
UlNEVDQAAAABrEJIWVZFIEJWUlNEVCAgAQAAAElOVEwnBRYgACUPAAAmDwBAJw8AgCcPAA==
====
begin-base64 644 aphrodite.headers
ClJTRCBQVFI6IENoZWNrc3VtPTIwNiwgT0VNSUQ9QkhZVkUsIFJzZHRBZGRyZXNzPTB4MDAwZjI0
NDAKCgpSU0RUOiBMZW5ndGg9NTIsIFJldmlzaW9uPTEsIENoZWNrc3VtPTE3MiwKCU9FTUlEPUJI
WVZFLCBPRU0gVGFibGUgSUQ9QlZSU0RULCBPRU0gUmV2aXNpb249MHgxLAoJQ3JlYXRvciBJRD1J
TlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAxNjA1MjcKCgoJRW50cmllcz17IDB4MDAwZjI1MDAs
IDB4MDAwZjI2MDAsIDB4MDAwZjI3NDAsIDB4MDAwZjI3ODAgfQoKCkFQSUM6IExlbmd0aD05MCwg
UmV2aXNpb249MSwgQ2hlY2tzdW09ODAsCglPRU1JRD1CSFlWRSwgT0VNIFRhYmxlIElEPUJWTUFE
VCwgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0w
eDIwMTYwNTI3CgoKCURTRFQ9MHhmMjgwMAoJSU5UX01PREVMPUFQSUMKCVNDSV9JTlQ9OQoJU01J
X0NNRD0weGIyLCBBQ1BJX0VOQUJMRT0weGEwLCBBQ1BJX0RJU0FCTEU9MHhhMSwgUzRCSU9TX1JF
UT0weDAKCVBNMWFfRVZUX0JMSz0weDQwMC0weDQwMwoJUE0xYV9DTlRfQkxLPTB4NDA0LTB4NDA1
CglQTTJfVE1SX0JMSz0weDQwOC0weDQwYgoJUF9MVkwyX0xBVD0wbXMsIFBfTFZMM19MQVQ9MG1z
CglGTFVTSF9TSVpFPTAsIEZMVVNIX1NUUklERT0wCglEVVRZX09GRlNFVD0wLCBEVVRZX1dJRFRI
PTAKCURBWV9BTFJNPTAsIE1PTl9BTFJNPTAsIENFTlRVUlk9NTAKCUZsYWdzPXtXQklOVkQsUFJP
Q19DMSxTTFBfQlVUVE9OLFRNUl9WQUxfRVhUfQoKCkRTRFQ6IExlbmd0aD0yMzQ4LCBSZXZpc2lv
bj0yLCBDaGVja3N1bT0xMzQsCglPRU1JRD1CSFlWRSwgT0VNIFRhYmxlIElEPUJWRFNEVCwgT0VN
IFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTYw
NTI3CgoKSFBFVDogTGVuZ3RoPTU2LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xMjAsCglPRU1JRD1C
SFlWRSwgT0VNIFRhYmxlIElEPUJWSFBFVCwgT0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9
SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMTYwNTI3CgoKTUNGRzogTGVuZ3RoPTYwLCBSZXZp
c2lvbj0xLCBDaGVja3N1bT0xNTQsCglPRU1JRD1CSFlWRSwgT0VNIFRhYmxlIElEPUJWTUNGRywg
T0VNIFJldmlzaW9uPTB4MSwKCUNyZWF0b3IgSUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIw
MTYwNTI3Cgo=
====