Re: [Luv] Results and a few questions

Darren Bilby <[email protected]> Thu, 29 Oct 2015 00:54:51 +0000
Newsgroups dev.linux.lists.oe-chipsec
Message-ID <CAFzMC==o-psxN3joBm102N+UF6CM_F04N=n01Dt6sYCPCjuSfg@mail.gmail.com>
--===============6913055259448937714==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

I'm actually not convinced Chipsec on LUV has ever worked.
The configuration in setup.py for Chipsec doesn't include the XML files in
the deployment, thus no XML files in LUV, and therefore the errors.
There is a fix for it in a pull request here
https://github.com/chipsec/chipsec/pull/7 but there are a bunch of other
very old pull requests that don't seem to be being looked at.

On Thu, Oct 29, 2015 at 9:26 AM Ricardo Neri <
[email protected]> wrote:

> Actually including the CHIPSEC mailing list this time.
> On Mon, 2015-10-26 at 19:51 +0000, Neri, Ricardo wrote:
> > +CHIPSEC mailing list
> >
> > Hi Jason,
> >
> > Thanks for your report.
> >
> > On Mon, 2015-10-26 at 12:04 -0700, Jason Barbier wrote:
> > > Hey all,
> > > I ran LUV-Live and my results are attached as a zip, I sort of was
> > > wondering about the errors in the chipsec log though,
> > > These were similar errors that I got last week that caused some issues
> > > with my clock being reset using version 1.2, the latest RC seems to n=
ot
> > > do that but It still can not seem to run all the tests.
> > >
> > > --
> > > WARNING: 'SPIBAR' MMIO BAR definition not found/correct in XML config
> > > [pci] reading B/D/F: 0/31/0, offset: 0xF0, value: 0xFED1C001
> > > [spi] SPI MMIO base: 0x00000000FED1F800 (assuming below 4GB)
> > > [spi] SPI MMIO base: 0x00000000FED1F800 (assuming below 4GB)
> > > [-] Traceback (most recent call last):
> > >   File "/usr/lib/python2.7/site-packages/chipsec_main.py", line 291, =
in
> > >   run_module
> > >     result =3D modx.run( module_argv )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/module.py", line 69,
> in
> > >   run
> > >     result =3D self.get_module_object()
> > >   File "/usr/lib/python2.7/site-packages/chipsec/module.py", line 101,
> > >   in get_module_object
> > >     self.mod_obj =3D iref()
> > >   File
> > >   "/usr/lib/python2.7/site-packages/chipsec/modules/common/bios_wp.py=
",
> > >   line 51, in __init__
> > >     self.spi    =3D SPI( self.cs )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/hal/spi.py", line 17=
6,
> > >   in __init__
> > >     self.hsfs_off   =3D int(chipsec.chipset.get_register_def( self.cs,
> > >     "HSFS" )['offset'],16)
> > >   File "/usr/lib/python2.7/site-packages/chipsec/chipset.py", line 46=
7,
> > >   in get_register_def
> > >     return _cs.Cfg.REGISTERS[ reg_name ]
> > > KeyError: 'HSFS'
> > > --
> > > [-] Traceback (most recent call last):
> > >   File "/usr/lib/python2.7/site-packages/chipsec_main.py", line 291, =
in
> > >   run_module
> > >     result =3D modx.run( module_argv )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/module.py", line 80,
> in
> > >   run
> > >     result =3D self.mod_obj.run(module_argv)
> > >   File
> > >
>  "/usr/lib/python2.7/site-packages/chipsec/modules/common/spi_desc.py",
> > >   line 68, in run
> > >     return self.check_flash_access_permissions()
> > >   File
> > >
>  "/usr/lib/python2.7/site-packages/chipsec/modules/common/spi_desc.py",
> > >   line 48, in check_flash_access_permissions
> > >     frap =3D chipsec.chipset.read_register( self.cs, 'FRAP' )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/chipset.py", line 47=
0,
> > >   in read_register
> > >     reg =3D _cs.Cfg.REGISTERS[ reg_name ]
> > > KeyError: 'FRAP'
> > >
> > > ERROR: Exception occurred during chipsec.modules.common.spi_desc.run(=
):
> > > ''FRAP''
> > > --
> > > [-] Traceback (most recent call last):
> > >   File "/usr/lib/python2.7/site-packages/chipsec_main.py", line 291, =
in
> > >   run_module
> > >     result =3D modx.run( module_argv )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/module.py", line 80,
> in
> > >   run
> > >     result =3D self.mod_obj.run(module_argv)
> > >   File
> > >
>  "/usr/lib/python2.7/site-packages/chipsec/modules/common/spi_lock.py",
> > >   line 59, in run
> > >     return self.check_spi_lock()
> > >   File
> > >
>  "/usr/lib/python2.7/site-packages/chipsec/modules/common/spi_lock.py",
> > >   line 46, in check_spi_lock
> > >     hsfs_reg =3D chipsec.chipset.read_register( self.cs, 'HSFS' )
> > >   File "/usr/lib/python2.7/site-packages/chipsec/chipset.py", line 47=
0,
> > >   in read_register
> > >     reg =3D _cs.Cfg.REGISTERS[ reg_name ]
> > > KeyError: 'HSFS'
> > >
> > > ERROR: Exception occurred during chipsec.modules.common.spi_lock.run(=
):
> > > ''HSFS''
> > > --
> > >
> > I added the CHIPSEC mailing list. Perhaps they can give further insight
> > on what the problem might be.
> >
> > As per LUV, it seems that this exception somehow caused a crash in the
> > LUV test manager and it prevented it from running the tests of the
> > tests. It seems we need to add some safeguards so that LUV can handle
> > these errors more gracefully.
> >
> > Thanks and BR,
> > Ricardo
> >
> > >
> > > _______________________________________________
> > > Luv mailing list
> > > Luv(a)lists.01.org
> > > https://lists.01.org/mailman/listinfo/luv
> >
> > _______________________________________________
> > Luv mailing list
> > Luv(a)lists.01.org
> > https://lists.01.org/mailman/listinfo/luv
>
>
> _______________________________________________
> chipsec mailing list
> chipsec(a)lists.01.org
> https://lists.01.org/mailman/listinfo/chipsec
>

--===============6913055259448937714==
Content-Type: text/html
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="attachment.html"

PGRpdiBkaXI9Imx0ciI+SSYjMzk7bSBhY3R1YWxseSBub3QgY29udmluY2VkIENoaXBzZWMgb24g
TFVWIGhhcyBldmVyIHdvcmtlZC7CoDxkaXY+VGhlIGNvbmZpZ3VyYXRpb24gaW4gc2V0dXAucHkg
Zm9yIENoaXBzZWMgZG9lc24mIzM5O3QgaW5jbHVkZSB0aGUgWE1MIGZpbGVzIGluIHRoZSBkZXBs
b3ltZW50LCB0aHVzIG5vIFhNTCBmaWxlcyBpbiBMVVYsIGFuZCB0aGVyZWZvcmUgdGhlIGVycm9y
cy7CoDwvZGl2PjxkaXY+VGhlcmUgaXMgYSBmaXggZm9yIGl0IGluIGEgcHVsbCByZXF1ZXN0IGhl
cmUgPGEgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NoaXBzZWMvY2hpcHNlYy9wdWxsLzciPmh0
dHBzOi8vZ2l0aHViLmNvbS9jaGlwc2VjL2NoaXBzZWMvcHVsbC83PC9hPsKgYnV0IHRoZXJlIGFy
ZSBhIGJ1bmNoIG9mIG90aGVyIHZlcnkgb2xkIHB1bGwgcmVxdWVzdHMgdGhhdCBkb24mIzM5O3Qg
c2VlbSB0byBiZSBiZWluZyBsb29rZWQgYXQuwqA8L2Rpdj48L2Rpdj48YnI+PGRpdiBjbGFzcz0i
Z21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiPk9uIFRodSwgT2N0IDI5LCAyMDE1IGF0IDk6MjYg
QU0gUmljYXJkbyBOZXJpICZsdDs8YSBocmVmPSJtYWlsdG86cmljYXJkby5uZXJpLWNhbGRlcm9u
QGxpbnV4LmludGVsLmNvbSI+cmljYXJkby5uZXJpLWNhbGRlcm9uQGxpbnV4LmludGVsLmNvbTwv
YT4mZ3Q7IHdyb3RlOjxicj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0
eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5n
LWxlZnQ6MWV4Ij5BY3R1YWxseSBpbmNsdWRpbmcgdGhlIENISVBTRUMgbWFpbGluZyBsaXN0IHRo
aXMgdGltZS48YnI+Ck9uIE1vbiwgMjAxNS0xMC0yNiBhdCAxOTo1MSArMDAwMCwgTmVyaSwgUmlj
YXJkbyB3cm90ZTo8YnI+CiZndDsgK0NISVBTRUMgbWFpbGluZyBsaXN0PGJyPgomZ3Q7PGJyPgom
Z3Q7IEhpIEphc29uLDxicj4KJmd0Ozxicj4KJmd0OyBUaGFua3MgZm9yIHlvdXIgcmVwb3J0Ljxi
cj4KJmd0Ozxicj4KJmd0OyBPbiBNb24sIDIwMTUtMTAtMjYgYXQgMTI6MDQgLTA3MDAsIEphc29u
IEJhcmJpZXIgd3JvdGU6PGJyPgomZ3Q7ICZndDsgSGV5IGFsbCw8YnI+CiZndDsgJmd0OyBJIHJh
biBMVVYtTGl2ZSBhbmQgbXkgcmVzdWx0cyBhcmUgYXR0YWNoZWQgYXMgYSB6aXAsIEkgc29ydCBv
ZiB3YXM8YnI+CiZndDsgJmd0OyB3b25kZXJpbmcgYWJvdXQgdGhlIGVycm9ycyBpbiB0aGUgY2hp
cHNlYyBsb2cgdGhvdWdoLDxicj4KJmd0OyAmZ3Q7IFRoZXNlIHdlcmUgc2ltaWxhciBlcnJvcnMg
dGhhdCBJIGdvdCBsYXN0IHdlZWsgdGhhdCBjYXVzZWQgc29tZSBpc3N1ZXM8YnI+CiZndDsgJmd0
OyB3aXRoIG15IGNsb2NrIGJlaW5nIHJlc2V0IHVzaW5nIHZlcnNpb24gMS4yLCB0aGUgbGF0ZXN0
IFJDIHNlZW1zIHRvIG5vdDxicj4KJmd0OyAmZ3Q7IGRvIHRoYXQgYnV0IEl0IHN0aWxsIGNhbiBu
b3Qgc2VlbSB0byBydW4gYWxsIHRoZSB0ZXN0cy48YnI+CiZndDsgJmd0Ozxicj4KJmd0OyAmZ3Q7
IC0tPGJyPgomZ3Q7ICZndDsgV0FSTklORzogJiMzOTtTUElCQVImIzM5OyBNTUlPIEJBUiBkZWZp
bml0aW9uIG5vdCBmb3VuZC9jb3JyZWN0IGluIFhNTCBjb25maWc8YnI+CiZndDsgJmd0OyBbcGNp
XSByZWFkaW5nIEIvRC9GOiAwLzMxLzAsIG9mZnNldDogMHhGMCwgdmFsdWU6IDB4RkVEMUMwMDE8
YnI+CiZndDsgJmd0OyBbc3BpXSBTUEkgTU1JTyBiYXNlOiAweDAwMDAwMDAwRkVEMUY4MDAgKGFz
c3VtaW5nIGJlbG93IDRHQik8YnI+CiZndDsgJmd0OyBbc3BpXSBTUEkgTU1JTyBiYXNlOiAweDAw
MDAwMDAwRkVEMUY4MDAgKGFzc3VtaW5nIGJlbG93IDRHQik8YnI+CiZndDsgJmd0OyBbLV0gVHJh
Y2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOjxicj4KJmd0OyAmZ3Q7wqAgwqBGaWxlICZx
dW90Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2NoaXBzZWNfbWFpbi5weSZxdW90
OywgbGluZSAyOTEsIGluPGJyPgomZ3Q7ICZndDvCoCDCoHJ1bl9tb2R1bGU8YnI+CiZndDsgJmd0
O8KgIMKgIMKgcmVzdWx0ID0gbW9keC5ydW4oIG1vZHVsZV9hcmd2ICk8YnI+CiZndDsgJmd0O8Kg
IMKgRmlsZSAmcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9jaGlwc2VjL21v
ZHVsZS5weSZxdW90OywgbGluZSA2OSwgaW48YnI+CiZndDsgJmd0O8KgIMKgcnVuPGJyPgomZ3Q7
ICZndDvCoCDCoCDCoHJlc3VsdCA9IHNlbGYuZ2V0X21vZHVsZV9vYmplY3QoKTxicj4KJmd0OyAm
Z3Q7wqAgwqBGaWxlICZxdW90Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2NoaXBz
ZWMvbW9kdWxlLnB5JnF1b3Q7LCBsaW5lIDEwMSw8YnI+CiZndDsgJmd0O8KgIMKgaW4gZ2V0X21v
ZHVsZV9vYmplY3Q8YnI+CiZndDsgJmd0O8KgIMKgIMKgc2VsZi5tb2Rfb2JqID0gaXJlZigpPGJy
PgomZ3Q7ICZndDvCoCDCoEZpbGU8YnI+CiZndDsgJmd0O8KgIMKgJnF1b3Q7L3Vzci9saWIvcHl0
aG9uMi43L3NpdGUtcGFja2FnZXMvY2hpcHNlYy9tb2R1bGVzL2NvbW1vbi9iaW9zX3dwLnB5JnF1
b3Q7LDxicj4KJmd0OyAmZ3Q7wqAgwqBsaW5lIDUxLCBpbiBfX2luaXRfXzxicj4KJmd0OyAmZ3Q7
wqAgwqAgwqBzZWxmLnNwacKgIMKgID0gU1BJKCBzZWxmLmNzICk8YnI+CiZndDsgJmd0O8KgIMKg
RmlsZSAmcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9jaGlwc2VjL2hhbC9z
cGkucHkmcXVvdDssIGxpbmUgMTc2LDxicj4KJmd0OyAmZ3Q7wqAgwqBpbiBfX2luaXRfXzxicj4K
Jmd0OyAmZ3Q7wqAgwqAgwqBzZWxmLmhzZnNfb2ZmwqAgwqA9IGludChjaGlwc2VjLmNoaXBzZXQu
Z2V0X3JlZ2lzdGVyX2RlZiggc2VsZi5jcyw8YnI+CiZndDsgJmd0O8KgIMKgIMKgJnF1b3Q7SFNG
UyZxdW90OyApWyYjMzk7b2Zmc2V0JiMzOTtdLDE2KTxicj4KJmd0OyAmZ3Q7wqAgwqBGaWxlICZx
dW90Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2NoaXBzZWMvY2hpcHNldC5weSZx
dW90OywgbGluZSA0NjcsPGJyPgomZ3Q7ICZndDvCoCDCoGluIGdldF9yZWdpc3Rlcl9kZWY8YnI+
CiZndDsgJmd0O8KgIMKgIMKgcmV0dXJuIF9jcy5DZmcuUkVHSVNURVJTWyByZWdfbmFtZSBdPGJy
PgomZ3Q7ICZndDsgS2V5RXJyb3I6ICYjMzk7SFNGUyYjMzk7PGJyPgomZ3Q7ICZndDsgLS08YnI+
CiZndDsgJmd0OyBbLV0gVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOjxicj4KJmd0
OyAmZ3Q7wqAgwqBGaWxlICZxdW90Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2No
aXBzZWNfbWFpbi5weSZxdW90OywgbGluZSAyOTEsIGluPGJyPgomZ3Q7ICZndDvCoCDCoHJ1bl9t
b2R1bGU8YnI+CiZndDsgJmd0O8KgIMKgIMKgcmVzdWx0ID0gbW9keC5ydW4oIG1vZHVsZV9hcmd2
ICk8YnI+CiZndDsgJmd0O8KgIMKgRmlsZSAmcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1w
YWNrYWdlcy9jaGlwc2VjL21vZHVsZS5weSZxdW90OywgbGluZSA4MCwgaW48YnI+CiZndDsgJmd0
O8KgIMKgcnVuPGJyPgomZ3Q7ICZndDvCoCDCoCDCoHJlc3VsdCA9IHNlbGYubW9kX29iai5ydW4o
bW9kdWxlX2FyZ3YpPGJyPgomZ3Q7ICZndDvCoCDCoEZpbGU8YnI+CiZndDsgJmd0O8KgIMKgJnF1
b3Q7L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvY2hpcHNlYy9tb2R1bGVzL2NvbW1v
bi9zcGlfZGVzYy5weSZxdW90Oyw8YnI+CiZndDsgJmd0O8KgIMKgbGluZSA2OCwgaW4gcnVuPGJy
PgomZ3Q7ICZndDvCoCDCoCDCoHJldHVybiBzZWxmLmNoZWNrX2ZsYXNoX2FjY2Vzc19wZXJtaXNz
aW9ucygpPGJyPgomZ3Q7ICZndDvCoCDCoEZpbGU8YnI+CiZndDsgJmd0O8KgIMKgJnF1b3Q7L3Vz
ci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2FnZXMvY2hpcHNlYy9tb2R1bGVzL2NvbW1vbi9zcGlf
ZGVzYy5weSZxdW90Oyw8YnI+CiZndDsgJmd0O8KgIMKgbGluZSA0OCwgaW4gY2hlY2tfZmxhc2hf
YWNjZXNzX3Blcm1pc3Npb25zPGJyPgomZ3Q7ICZndDvCoCDCoCDCoGZyYXAgPSBjaGlwc2VjLmNo
aXBzZXQucmVhZF9yZWdpc3Rlciggc2VsZi5jcywgJiMzOTtGUkFQJiMzOTsgKTxicj4KJmd0OyAm
Z3Q7wqAgwqBGaWxlICZxdW90Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2NoaXBz
ZWMvY2hpcHNldC5weSZxdW90OywgbGluZSA0NzAsPGJyPgomZ3Q7ICZndDvCoCDCoGluIHJlYWRf
cmVnaXN0ZXI8YnI+CiZndDsgJmd0O8KgIMKgIMKgcmVnID0gX2NzLkNmZy5SRUdJU1RFUlNbIHJl
Z19uYW1lIF08YnI+CiZndDsgJmd0OyBLZXlFcnJvcjogJiMzOTtGUkFQJiMzOTs8YnI+CiZndDsg
Jmd0Ozxicj4KJmd0OyAmZ3Q7IEVSUk9SOiBFeGNlcHRpb24gb2NjdXJyZWQgZHVyaW5nIGNoaXBz
ZWMubW9kdWxlcy5jb21tb24uc3BpX2Rlc2MucnVuKCk6PGJyPgomZ3Q7ICZndDsgJiMzOTsmIzM5
O0ZSQVAmIzM5OyYjMzk7PGJyPgomZ3Q7ICZndDsgLS08YnI+CiZndDsgJmd0OyBbLV0gVHJhY2Vi
YWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOjxicj4KJmd0OyAmZ3Q7wqAgwqBGaWxlICZxdW90
Oy91c3IvbGliL3B5dGhvbjIuNy9zaXRlLXBhY2thZ2VzL2NoaXBzZWNfbWFpbi5weSZxdW90Oywg
bGluZSAyOTEsIGluPGJyPgomZ3Q7ICZndDvCoCDCoHJ1bl9tb2R1bGU8YnI+CiZndDsgJmd0O8Kg
IMKgIMKgcmVzdWx0ID0gbW9keC5ydW4oIG1vZHVsZV9hcmd2ICk8YnI+CiZndDsgJmd0O8KgIMKg
RmlsZSAmcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9jaGlwc2VjL21vZHVs
ZS5weSZxdW90OywgbGluZSA4MCwgaW48YnI+CiZndDsgJmd0O8KgIMKgcnVuPGJyPgomZ3Q7ICZn
dDvCoCDCoCDCoHJlc3VsdCA9IHNlbGYubW9kX29iai5ydW4obW9kdWxlX2FyZ3YpPGJyPgomZ3Q7
ICZndDvCoCDCoEZpbGU8YnI+CiZndDsgJmd0O8KgIMKgJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43
L3NpdGUtcGFja2FnZXMvY2hpcHNlYy9tb2R1bGVzL2NvbW1vbi9zcGlfbG9jay5weSZxdW90Oyw8
YnI+CiZndDsgJmd0O8KgIMKgbGluZSA1OSwgaW4gcnVuPGJyPgomZ3Q7ICZndDvCoCDCoCDCoHJl
dHVybiBzZWxmLmNoZWNrX3NwaV9sb2NrKCk8YnI+CiZndDsgJmd0O8KgIMKgRmlsZTxicj4KJmd0
OyAmZ3Q7wqAgwqAmcXVvdDsvdXNyL2xpYi9weXRob24yLjcvc2l0ZS1wYWNrYWdlcy9jaGlwc2Vj
L21vZHVsZXMvY29tbW9uL3NwaV9sb2NrLnB5JnF1b3Q7LDxicj4KJmd0OyAmZ3Q7wqAgwqBsaW5l
IDQ2LCBpbiBjaGVja19zcGlfbG9jazxicj4KJmd0OyAmZ3Q7wqAgwqAgwqBoc2ZzX3JlZyA9IGNo
aXBzZWMuY2hpcHNldC5yZWFkX3JlZ2lzdGVyKCBzZWxmLmNzLCAmIzM5O0hTRlMmIzM5OyApPGJy
PgomZ3Q7ICZndDvCoCDCoEZpbGUgJnF1b3Q7L3Vzci9saWIvcHl0aG9uMi43L3NpdGUtcGFja2Fn
ZXMvY2hpcHNlYy9jaGlwc2V0LnB5JnF1b3Q7LCBsaW5lIDQ3MCw8YnI+CiZndDsgJmd0O8KgIMKg
aW4gcmVhZF9yZWdpc3Rlcjxicj4KJmd0OyAmZ3Q7wqAgwqAgwqByZWcgPSBfY3MuQ2ZnLlJFR0lT
VEVSU1sgcmVnX25hbWUgXTxicj4KJmd0OyAmZ3Q7IEtleUVycm9yOiAmIzM5O0hTRlMmIzM5Ozxi
cj4KJmd0OyAmZ3Q7PGJyPgomZ3Q7ICZndDsgRVJST1I6IEV4Y2VwdGlvbiBvY2N1cnJlZCBkdXJp
bmcgY2hpcHNlYy5tb2R1bGVzLmNvbW1vbi5zcGlfbG9jay5ydW4oKTo8YnI+CiZndDsgJmd0OyAm
IzM5OyYjMzk7SFNGUyYjMzk7JiMzOTs8YnI+CiZndDsgJmd0OyAtLTxicj4KJmd0OyAmZ3Q7PGJy
PgomZ3Q7IEkgYWRkZWQgdGhlIENISVBTRUMgbWFpbGluZyBsaXN0LiBQZXJoYXBzIHRoZXkgY2Fu
IGdpdmUgZnVydGhlciBpbnNpZ2h0PGJyPgomZ3Q7IG9uIHdoYXQgdGhlIHByb2JsZW0gbWlnaHQg
YmUuPGJyPgomZ3Q7PGJyPgomZ3Q7IEFzIHBlciBMVVYsIGl0IHNlZW1zIHRoYXQgdGhpcyBleGNl
cHRpb24gc29tZWhvdyBjYXVzZWQgYSBjcmFzaCBpbiB0aGU8YnI+CiZndDsgTFVWIHRlc3QgbWFu
YWdlciBhbmQgaXQgcHJldmVudGVkIGl0IGZyb20gcnVubmluZyB0aGUgdGVzdHMgb2YgdGhlPGJy
PgomZ3Q7IHRlc3RzLiBJdCBzZWVtcyB3ZSBuZWVkIHRvIGFkZCBzb21lIHNhZmVndWFyZHMgc28g
dGhhdCBMVVYgY2FuIGhhbmRsZTxicj4KJmd0OyB0aGVzZSBlcnJvcnMgbW9yZSBncmFjZWZ1bGx5
Ljxicj4KJmd0Ozxicj4KJmd0OyBUaGFua3MgYW5kIEJSLDxicj4KJmd0OyBSaWNhcmRvPGJyPgom
Z3Q7PGJyPgomZ3Q7ICZndDs8YnI+CiZndDsgJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXzxicj4KJmd0OyAmZ3Q7IEx1diBtYWlsaW5nIGxpc3Q8YnI+
CiZndDsgJmd0OyA8YSBocmVmPSJtYWlsdG86THV2QGxpc3RzLjAxLm9yZyIgdGFyZ2V0PSJfYmxh
bmsiPkx1dkBsaXN0cy4wMS5vcmc8L2E+PGJyPgomZ3Q7ICZndDsgPGEgaHJlZj0iaHR0cHM6Ly9s
aXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9sdXYiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0
PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vbHV2PC9hPjxi
cj4KJmd0Ozxicj4KJmd0OyBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXzxicj4KJmd0OyBMdXYgbWFpbGluZyBsaXN0PGJyPgomZ3Q7IDxhIGhyZWY9Im1haWx0
bzpMdXZAbGlzdHMuMDEub3JnIiB0YXJnZXQ9Il9ibGFuayI+THV2QGxpc3RzLjAxLm9yZzwvYT48
YnI+CiZndDsgPGEgaHJlZj0iaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9s
dXYiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vbGlzdHMuMDEub3Jn
L21haWxtYW4vbGlzdGluZm8vbHV2PC9hPjxicj4KPGJyPgo8YnI+Cl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPgpjaGlwc2VjIG1haWxpbmcgbGlzdDxi
cj4KPGEgaHJlZj0ibWFpbHRvOmNoaXBzZWNAbGlzdHMuMDEub3JnIiB0YXJnZXQ9Il9ibGFuayI+
Y2hpcHNlY0BsaXN0cy4wMS5vcmc8L2E+PGJyPgo8YSBocmVmPSJodHRwczovL2xpc3RzLjAxLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL2NoaXBzZWMiIHJlbD0ibm9yZWZlcnJlciIgdGFyZ2V0PSJfYmxh
bmsiPmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vY2hpcHNlYzwvYT48YnI+
CjwvYmxvY2txdW90ZT48L2Rpdj4K

--===============6913055259448937714==--