<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>152197</bug_id>
          
          <creation_ts>2015-12-11 16:01:32 -0800</creation_ts>
          <short_desc>[MediaStream] Add a setting to allow the mock media capture devices to be enabled and disabled</short_desc>
          <delta_ts>2015-12-11 17:53:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Media</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Carlson">eric.carlson</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1148588</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-12-11 16:01:32 -0800</bug_when>
    <thetext>Add a setting to allow the mock media capture devices to be enabled and disabled</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148598</commentid>
    <comment_count>1</comment_count>
      <attachid>267201</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2015-12-11 16:14:45 -0800</bug_when>
    <thetext>Created attachment 267201
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148607</commentid>
    <comment_count>2</comment_count>
      <attachid>267201</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-12-11 16:39:02 -0800</bug_when>
    <thetext>Comment on attachment 267201
Proposed patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=267201&amp;action=review

&gt; Source/WebKit2/UIProcess/API/C/WKPreferences.cpp:1432
&gt; -void WKPreferencesSetResourceUsageOverlayVisible(WKPreferencesRef preferencesRef, bool javaEnabled)
&gt; +void WKPreferencesSetResourceUsageOverlayVisible(WKPreferencesRef preferencesRef, bool enabled)
&gt;  {
&gt; -    toImpl(preferencesRef)-&gt;setResourceUsageOverlayVisible(javaEnabled);
&gt; +    toImpl(preferencesRef)-&gt;setResourceUsageOverlayVisible(enabled);

Nice!

&gt; LayoutTests/fast/mediastream/mock-media-source.html:17
&gt; +                debug(`&lt;br&gt;*** Disable mock capture devices`);
&gt; +                if (window.internals)
&gt; +                    evalAndLog(`internals.setMockMediaCaptureDevicesEnabled(false)`);
&gt; +                navigator.mediaDevices
&gt; +                    .getUserMedia({audio:{}, video:{}})
&gt; +                    .then(function(stream) {
&gt; +                        mediaStream = stream;
&gt; +                        testFailed(`mediaDevices.getUserMedia() succeeded when no devices should be available`);

Not a suggestion to fix, but I don&apos;t like the way the backtick looks, so I use regular quotes if I don&apos;t have any of the ${} stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148634</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-11 17:52:17 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 267201:

transitions/default-timing-function.html bug 138901 (author: simon.fraser@apple.com)
http/tests/media/media-source/mediasource-append-buffer.html bug 152206 (author: jer.noble@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148635</commentid>
    <comment_count>4</comment_count>
      <attachid>267201</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-11 17:53:06 -0800</bug_when>
    <thetext>Comment on attachment 267201
Proposed patch.

Clearing flags on attachment: 267201

Committed r194000: &lt;http://trac.webkit.org/changeset/194000&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1148636</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-11 17:53:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267201</attachid>
            <date>2015-12-11 16:14:45 -0800</date>
            <delta_ts>2015-12-11 17:53:06 -0800</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>mock_device_preference_patch_1.txt</filename>
            <type>text/plain</type>
            <size>23461</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5Mzk1NykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE1LTEyLTExICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0g
QWRkIGEgc2V0dGluZyB0byBhbGxvdyB0aGUgbW9jayBtZWRpYSBjYXB0dXJlIGRldmljZXMgdG8g
YmUgZW5hYmxlZCBhbmQgZGlzYWJsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1MjE5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvbWVkaWFzdHJlYW0vbW9jay1tZWRpYS1zb3VyY2Uu
aHRtbAorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6bW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpT
ZXR0aW5nczo6c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCk6CisgICAgICAgICogcGFnZS9T
ZXR0aW5ncy5oOgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNl
Q2VudGVyOjpzZXRTaGFyZWRTdHJlYW1DZW50ZXJPdmVycmlkZSk6IFJlbmFtZWQuCisgICAgICAg
IChXZWJDb3JlOjpSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRTaGFyZWRTdHJlYW1DZW50
ZXIpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXIuaDoKKworICAgICAgICAqIHBsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1l
TWVkaWFTb3VyY2VDZW50ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TW9ja1JlYWx0aW1lTWVk
aWFTb3VyY2VDZW50ZXI6OnNldE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyRW5hYmxlZCk6
IFJlbmFtZWQuIEFsbG93CisgICAgICAgICAgaXQgdG8gYmUgZW5hYmxlZCBhbmQgZGlzYWJsZWQu
CisgICAgICAgIChXZWJDb3JlOjpNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cmVnaXN0
ZXJNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcik6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oOgorCisgICAgICAgICog
dGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpJbnRl
cm5hbHMpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpzZXRNb2NrTWVkaWFDYXB0dXJl
RGV2aWNlc0VuYWJsZWQpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAg
ICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDE1LTEyLTExICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2UgdGhlIG51bWJlciBvZiBldmVudHMgdGhh
dCBjYW4gYmUgY3JlYXRlZCBieSBEb2N1bWVudC5jcmVhdGVFdmVudApJbmRleDogU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5jcHAJKHJldmlzaW9uIDE5Mzk1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2Uv
U2V0dGluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSwxMCBAQAogI2luY2x1ZGUg
PHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAor
I2lmIEVOQUJMRShNRURJQV9TVFJFQU0pCisjaW5jbHVkZSAiTW9ja1JlYWx0aW1lTWVkaWFTb3Vy
Y2VDZW50ZXIuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyB2b2lk
IHNldEltYWdlTG9hZGluZ1NldHRpbmdzKFBhZ2UqIHBhZ2UpCkBAIC04MCw2ICs4NCwxMCBAQCBi
b29sIFNldHRpbmdzOjpnUVRLaXRFbmFibGVkID0gZmFsc2U7CiBib29sIFNldHRpbmdzOjpnTW9j
a1Njcm9sbGJhcnNFbmFibGVkID0gZmFsc2U7CiBib29sIFNldHRpbmdzOjpnVXNlc092ZXJsYXlT
Y3JvbGxiYXJzID0gZmFsc2U7CiAKKyNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQorYm9vbCBTZXR0
aW5nczo6Z01vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQgPSBmYWxzZTsKKyNlbmRpZgorCiAjaWYg
UExBVEZPUk0oV0lOKQogYm9vbCBTZXR0aW5nczo6Z1Nob3VsZFVzZUhpZ2hSZXNvbHV0aW9uVGlt
ZXJzID0gdHJ1ZTsKICNlbmRpZgpAQCAtNTk0LDYgKzYwMiwxOSBAQCB2b2lkIFNldHRpbmdzOjpz
ZXRRVEtpdEVuYWJsZWQoYm9vbCBlbmFiCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCitib29sIFNldHRpbmdzOjptb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKCkKK3sKKyAg
ICByZXR1cm4gZ01vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ7Cit9CisKK3ZvaWQgU2V0dGluZ3M6
OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIGdNb2Nr
Q2FwdHVyZURldmljZXNFbmFibGVkID0gZW5hYmxlZDsKKyAgICBNb2NrUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlcjo6c2V0TW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXJFbmFibGVkKGVuYWJs
ZWQpOworfQorI2VuZGlmCisKIHZvaWQgU2V0dGluZ3M6OnNldFNjcm9sbGluZ1BlcmZvcm1hbmNl
TG9nZ2luZ0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewogICAgIG1fc2Nyb2xsaW5nUGVyZm9ybWFu
Y2VMb2dnaW5nRW5hYmxlZCA9IGVuYWJsZWQ7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCShy
ZXZpc2lvbiAxOTM5NTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgJKHdvcmtp
bmcgY29weSkKQEAgLTI4MSw2ICsyODEsOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKICAgICB2b2lkIHNldE1lZGlhRGV2aWNlSWRlbnRpZmllclN0b3JhZ2VEaXJlY3Rvcnko
Y29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpIHsgbV9tZWRpYURldmljZUlkZW50aWZpZXJTdG9yYWdl
RGlyZWN0b3J5ID0gZGlyZWN0b3J5OyB9CiAgICAgY29uc3QgU3RyaW5nJiBtZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9tZWRpYURldmljZUlk
ZW50aWZpZXJTdG9yYWdlRGlyZWN0b3J5OyB9CisKKyAgICBzdGF0aWMgYm9vbCBtb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkKCk7CisgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIHZvaWQgc2V0TW9j
a0NhcHR1cmVEZXZpY2VzRW5hYmxlZChib29sKTsKICNlbmRpZgogCiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBzZXRGb3JjZVBlbmRpbmdXZWJHTFBvbGljeShib29sKTsKQEAgLTM1Niw3ICszNTks
NyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFdFQkNPUkVfRVhQT1JUIHN0
YXRpYyBib29sIGdRVEtpdEVuYWJsZWQ7CiAjZW5kaWYKLSAgICAgICAgCisKICAgICBzdGF0aWMg
Ym9vbCBnTW9ja1Njcm9sbGJhcnNFbmFibGVkOwogICAgIHN0YXRpYyBib29sIGdVc2VzT3Zlcmxh
eVNjcm9sbGJhcnM7CiAKQEAgLTM3OCw2ICszODEsNyBAQCBwcml2YXRlOgogICAgIAogI2lmIEVO
QUJMRShNRURJQV9TVFJFQU0pCiAgICAgU3RyaW5nIG1fbWVkaWFEZXZpY2VJZGVudGlmaWVyU3Rv
cmFnZURpcmVjdG9yeTsKKyAgICBzdGF0aWMgYm9vbCBnTW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxl
ZDsKICNlbmRpZgogCiAgICAgc3RhdGljIGJvb2wgZ0xvd1Bvd2VyVmlkZW9BdWRpb0J1ZmZlclNp
emVFbmFibGVkOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5jcHAJKHJldmlz
aW9uIDE5Mzk1NykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JlYWx0
aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBA
IFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXImIFJlYWx0aW1lTWVkaWEKICAgICByZXR1cm4gUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcjo6cGxhdGZvcm1DZW50ZXIoKTsKIH0KIAotdm9pZCBSZWFs
dGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRTaGFyZWRTdHJlYW1DZW50ZXIoUmVhbHRpbWVNZWRp
YVNvdXJjZUNlbnRlciogY2VudGVyKQordm9pZCBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
ZXRTaGFyZWRTdHJlYW1DZW50ZXJPdmVycmlkZShSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKiBj
ZW50ZXIpCiB7CiAgICAgbWVkaWFTdHJlYW1DZW50ZXJPdmVycmlkZSgpID0gY2VudGVyOwogfQpJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNv
dXJjZUNlbnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlh
c3RyZWFtL1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAkocmV2aXNpb24gMTkzOTU3KQorKysg
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw3ICs1Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIH5SZWFsdGltZU1lZGlhU291cmNlQ2VudGVyKCk7CiAKICAgICBXRUJDT1JFX0VYUE9SVCBz
dGF0aWMgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciYgc2luZ2xldG9uKCk7Ci0gICAgc3RhdGlj
IHZvaWQgc2V0U2hhcmVkU3RyZWFtQ2VudGVyKFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIqKTsK
KyAgICBzdGF0aWMgdm9pZCBzZXRTaGFyZWRTdHJlYW1DZW50ZXJPdmVycmlkZShSZWFsdGltZU1l
ZGlhU291cmNlQ2VudGVyKik7CiAKICAgICB2aXJ0dWFsIHZvaWQgdmFsaWRhdGVSZXF1ZXN0Q29u
c3RyYWludHMoTWVkaWFTdHJlYW1DcmVhdGlvbkNsaWVudCosIFJlZlB0cjxNZWRpYUNvbnN0cmFp
bnRzPiYgYXVkaW9Db25zdHJhaW50cywgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+JiB2aWRlb0Nv
bnN0cmFpbnRzKSA9IDA7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svTW9j
a1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuY3BwCShyZXZp
c2lvbiAxOTM5NTcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tb2NrL01vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTMgKzQ2LDEzIEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotdm9pZCBNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNl
bnRlcjo6cmVnaXN0ZXJNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpCit2b2lkIE1vY2tS
ZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpzZXRNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
ckVuYWJsZWQoYm9vbCBlbmFibGVkKQogewotICAgIERFUFJFQ0FURURfREVGSU5FX1NUQVRJQ19M
T0NBTChNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlciwgY2VudGVyLCAoKSk7Ci0gICAgc3Rh
dGljIGJvb2wgcmVnaXN0ZXJlZCA9IGZhbHNlOwotICAgIGlmICghcmVnaXN0ZXJlZCkgewotICAg
ICAgICByZWdpc3RlcmVkID0gdHJ1ZTsKLSAgICAgICAgUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRl
cjo6c2V0U2hhcmVkU3RyZWFtQ2VudGVyKCZjZW50ZXIpOworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxNb2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlcj4gY2VudGVyOworICAgIHN0YXRpYyBi
b29sIGFjdGl2ZSA9IGZhbHNlOworICAgIGlmIChhY3RpdmUgIT0gZW5hYmxlZCkgeworICAgICAg
ICBhY3RpdmUgPSBlbmFibGVkOworICAgICAgICBSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpz
ZXRTaGFyZWRTdHJlYW1DZW50ZXJPdmVycmlkZShlbmFibGVkID8gJmNlbnRlci5nZXQoKSA6IG51
bGxwdHIpOwogICAgIH0KIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9N
b2NrUmVhbHRpbWVNZWRpYVNvdXJjZUNlbnRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21vY2svTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIuaAkocmV2aXNp
b24gMTkzOTU3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9Nb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyIGZp
bmFsIDogcHVibGljIFJlYWx0aW1lTWVkaWFTb3VyY2VDZW50ZXIgewogcHVibGljOgotICAgIFdF
QkNPUkVfRVhQT1JUIHN0YXRpYyB2b2lkIHJlZ2lzdGVyTW9ja1JlYWx0aW1lTWVkaWFTb3VyY2VD
ZW50ZXIoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgdm9pZCBzZXRNb2NrUmVhbHRpbWVN
ZWRpYVNvdXJjZUNlbnRlckVuYWJsZWQoYm9vbCk7CiAKIHByaXZhdGU6CisgICAgZnJpZW5kIE5l
dmVyRGVzdHJveWVkPE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyPjsKICAgICBNb2NrUmVh
bHRpbWVNZWRpYVNvdXJjZUNlbnRlcigpOwogCiAgICAgdm9pZCB2YWxpZGF0ZVJlcXVlc3RDb25z
dHJhaW50cyhNZWRpYVN0cmVhbUNyZWF0aW9uQ2xpZW50KiwgUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+JiBhdWRpb0NvbnN0cmFpbnRzLCBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4mIHZpZGVvQ29u
c3RyYWludHMpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cAkocmV2aXNpb24gMTkzOTU3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MDcsNyArNDA3LDcgQEAgSW50ZXJuYWxzOjpJbnRlcm5h
bHMoRG9jdW1lbnQqIGRvY3VtZW50KQogI2VuZGlmCiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFN
KQotICAgIE1vY2tSZWFsdGltZU1lZGlhU291cmNlQ2VudGVyOjpyZWdpc3Rlck1vY2tSZWFsdGlt
ZU1lZGlhU291cmNlQ2VudGVyKCk7CisgICAgc2V0TW9ja01lZGlhQ2FwdHVyZURldmljZXNFbmFi
bGVkKHRydWUpOwogICAgIGVuYWJsZU1vY2tSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXIoKTsKICNl
bmRpZgogCkBAIC05NTksNiArOTU5LDExIEBAIHZvaWQgSW50ZXJuYWxzOjplbmFibGVNb2NrUlRD
UGVlckNvbm5lY3QKIHsKICAgICBSVENQZWVyQ29ubmVjdGlvbkhhbmRsZXI6OmNyZWF0ZSA9IFJU
Q1BlZXJDb25uZWN0aW9uSGFuZGxlck1vY2s6OmNyZWF0ZTsKIH0KKwordm9pZCBJbnRlcm5hbHM6
OnNldE1vY2tNZWRpYUNhcHR1cmVEZXZpY2VzRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAg
V2ViQ29yZTo6U2V0dGluZ3M6OnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQoZW5hYmxlZCk7
Cit9CiAjZW5kaWYKIAogUmVmPENsaWVudFJlY3Q+IEludGVybmFsczo6YWJzb2x1dGVDYXJldEJv
dW5kcyhFeGNlcHRpb25Db2RlJiBlYykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAkocmV2aXNpb24gMTkzOTU3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAkod29ya2luZyBjb3B5KQpAQCAtMzQ5LDYgKzM0OSw3IEBAIHB1YmxpYzoKIAogI2lmIEVOQUJM
RShNRURJQV9TVFJFQU0pCiAgICAgdm9pZCBlbmFibGVNb2NrUlRDUGVlckNvbm5lY3Rpb25IYW5k
bGVyKCk7CisgICAgdm9pZCBzZXRNb2NrTWVkaWFDYXB0dXJlRGV2aWNlc0VuYWJsZWQoYm9vbCk7
CiAjZW5kaWYKIAogICAgIFN0cmluZyBnZXRJbWFnZVNvdXJjZVVSTChFbGVtZW50KiwgRXhjZXB0
aW9uQ29kZSYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAkocmV2aXNp
b24gMTkzOTU3KQorKysgU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNzksNiArMzc5LDcgQEAgZW51bSBNZWRpYUNvbnRyb2xFdmVudCB7CiAg
ICAgW0NvbmRpdGlvbmFsPVZJREVPLCBSYWlzZXNFeGNlcHRpb25dIHZvaWQgcG9zdFJlbW90ZUNv
bnRyb2xDb21tYW5kKERPTVN0cmluZyBjb21tYW5kKTsKICAgICBbQ29uZGl0aW9uYWw9V0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUXSB2b2lkIHNldE1vY2tNZWRpYVBsYXliYWNrVGFyZ2V0UGlja2Vy
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIFtDb25kaXRpb25hbD1XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQsIFJhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRNb2NrTWVkaWFQbGF5YmFja1Rh
cmdldFBpY2tlclN0YXRlKERPTVN0cmluZyBkZXZpY2VOYW1lLCBET01TdHJpbmcgZGV2aWNlU3Rh
dGUpOworICAgIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIHZvaWQgc2V0TW9ja01lZGlhQ2Fw
dHVyZURldmljZXNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAKICAgICBbQ29uZGl0aW9uYWw9
VklERU9dIHZvaWQgc2ltdWxhdGVTeXN0ZW1TbGVlcCgpOwogICAgIFtDb25kaXRpb25hbD1WSURF
T10gdm9pZCBzaW11bGF0ZVN5c3RlbVdha2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5
Mzk1NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxIEBACisyMDE1LTEyLTExICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFtNZWRpYVN0cmVhbV0gQWRkIGEgc2V0dGluZyB0byBhbGxvdyB0aGUg
bW9jayBtZWRpYSBjYXB0dXJlIGRldmljZXMgdG8gYmUgZW5hYmxlZCBhbmQgZGlzYWJsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MjE5NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2hhcmVkL1dl
YlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tQ
cmVmZXJlbmNlcy5jcHA6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0TW9ja0NhcHR1cmVEZXZp
Y2VzRW5hYmxlZCk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2
YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1ByZWZlcmVuY2VzLm1tOgor
ICAgICAgICAoLVtXS1ByZWZlcmVuY2VzIF9tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkXSk6Cisg
ICAgICAgICgtW1dLUHJlZmVyZW5jZXMgX3NldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQ6XSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTUtMTItMTAgIEVyaWMgQ2Fy
bHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3RyZWFtXSBF
eHBvc2UgbWVkaWEgY2FwdHVyZSBkZXZpY2VzIHBlcnNpc3RlbnQgcGVybWlzc2lvbnMgdG8gV2Vi
Q29yZQpJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlv
bnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNE
ZWZpbml0aW9ucy5oCShyZXZpc2lvbiAxOTM5NTcpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMTQsNiArMjE0
LDcgQEAKICAgICBtYWNybyhOZXdCbG9ja0luc2lkZUlubGluZU1vZGVsRW5hYmxlZCwgbmV3Qmxv
Y2tJbnNpZGVJbmxpbmVNb2RlbEVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFj
cm8oQW50aWFsaWFzZWRGb250RGlsYXRpb25FbmFibGVkLCBhbnRpYWxpYXNlZEZvbnREaWxhdGlv
bkVuYWJsZWQsIEJvb2wsIGJvb2wsIGZhbHNlKSBcCiAgICAgbWFjcm8oSFRUUEVxdWl2RW5hYmxl
ZCwgaHR0cEVxdWl2RW5hYmxlZCwgQm9vbCwgYm9vbCwgdHJ1ZSkgXAorICAgIG1hY3JvKE1vY2tD
YXB0dXJlRGV2aWNlc0VuYWJsZWQsIG1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQsIEJvb2wsIGJv
b2wsIGZhbHNlKSBcCiAKICNkZWZpbmUgRk9SX0VBQ0hfV0VCS0lUX0RPVUJMRV9QUkVGRVJFTkNF
KG1hY3JvKSBcCiAgICAgbWFjcm8oSW5jcmVtZW50YWxSZW5kZXJpbmdTdXBwcmVzc2lvblRpbWVv
dXQsIGluY3JlbWVudGFsUmVuZGVyaW5nU3VwcHJlc3Npb25UaW1lb3V0LCBEb3VibGUsIGRvdWJs
ZSwgNSkgXApJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcAkocmV2aXNpb24gMTkzOTU3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDI3LDkgKzE0
MjcsOSBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRBbGxvd3NBaXJQbGF5Rm9yTWVkCiAgICAgcmV0
dXJuIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNr
KCk7CiB9CiAKLXZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJs
ZShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGphdmFFbmFibGVkKQordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0UmVzb3VyY2VVc2FnZU92ZXJsYXlWaXNpYmxlKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIGJvb2wgZW5hYmxlZCkKIHsKLSAgICB0b0ltcGwocHJlZmVy
ZW5jZXNSZWYpLT5zZXRSZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUoamF2YUVuYWJsZWQpOwor
ICAgIHRvSW1wbChwcmVmZXJlbmNlc1JlZiktPnNldFJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJs
ZShlbmFibGVkKTsKIH0KIAogYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VVc2FnZU92ZXJs
YXlWaXNpYmxlKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCkBAIC0xNDM3LDMgKzE0
MzcsMTIgQEAgYm9vbCBXS1ByZWZlcmVuY2VzR2V0UmVzb3VyY2VVc2FnZU92ZXJsYQogICAgIHJl
dHVybiB0b0ltcGwocHJlZmVyZW5jZXNSZWYpLT5yZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUo
KTsKIH0KIAordm9pZCBXS1ByZWZlcmVuY2VzU2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBib29sIGVuYWJsZWQpCit7CisgICAgdG9J
bXBsKHByZWZlcmVuY2VzUmVmKS0+c2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChlbmFibGVk
KTsKK30KKworYm9vbCBXS1ByZWZlcmVuY2VzR2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0ltcGwocHJl
ZmVyZW5jZXNSZWYpLT5tb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKCk7Cit9CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1JlZlByaXZhdGUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1Jl
ZlByaXZhdGUuaAkocmV2aXNpb24gMTkzOTU3KQorKysgU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXNSZWZQcml2YXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM5NSw2
ICszOTUsMTAgQEAgV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dldEhUVFBFcXVpdgogV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFJlc291cmNlVXNhZ2VPdmVybGF5VmlzaWJsZShX
S1ByZWZlcmVuY2VzUmVmLCBib29sKTsKIFdLX0VYUE9SVCBib29sIFdLUHJlZmVyZW5jZXNHZXRS
ZXNvdXJjZVVzYWdlT3ZlcmxheVZpc2libGUoV0tQcmVmZXJlbmNlc1JlZik7CiAKKy8vIERlZmF1
bHRzIHRvIGZhbHNlLgorV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldE1vY2tDYXB0dXJl
RGV2aWNlc0VuYWJsZWQoV0tQcmVmZXJlbmNlc1JlZiwgYm9vbCk7CitXS19FWFBPUlQgYm9vbCBX
S1ByZWZlcmVuY2VzR2V0TW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVm
KTsKKwogI2lmZGVmIF9fY3BsdXNwbHVzCiB9CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJlbmNlcy5tbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLUHJlZmVyZW5jZXMubW0JKHJldmlzaW9u
IDE5Mzk1NykKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tQcmVmZXJl
bmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtMzc3LDYgKzM3NywxNiBAQCAtICh2b2lkKV9zZXRG
aXhlZFBpdGNoRm9udEZhbWlseTooTlNTdHJpCiAgICAgX3ByZWZlcmVuY2VzLT5zZXRGaXhlZEZv
bnRGYW1pbHkoZml4ZWRQaXRjaEZvbnRGYW1pbHkpOwogfQogCistIChCT09MKV9tb2NrQ2FwdHVy
ZURldmljZXNFbmFibGVkCit7CisgICAgcmV0dXJuIF9wcmVmZXJlbmNlcy0+bW9ja0NhcHR1cmVE
ZXZpY2VzRW5hYmxlZCgpOworfQorCistICh2b2lkKV9zZXRNb2NrQ2FwdHVyZURldmljZXNFbmFi
bGVkOihCT09MKW1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQKK3sKKyAgICBfcHJlZmVyZW5jZXMt
PnNldE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWQobW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZCk7
Cit9CisKIEBlbmQKIAogI2VuZGlmIC8vIFdLX0FQSV9FTkFCTEVECkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxOTM5NTcp
CisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI5MDIsNiArMjkwMiwxMCBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKGNvbnN0IFdlCiAgICAgc2V0dGluZ3Muc2V0TWVkaWFTb3VyY2VFbmFibGVkKHN0b3Jl
LmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6bWVkaWFTb3VyY2VFbmFibGVk
S2V5KCkpKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICBzZXR0aW5n
cy5zZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6bW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZEtleSgpKSk7CisjZW5k
aWYKKwogICAgIHNldHRpbmdzLnNldFNob3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5KHN0
b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c2hvdWxkQ29udmVydFBv
c2l0aW9uU3R5bGVPbkNvcHlLZXkoKSkpOwogCiAgICAgc2V0dGluZ3Muc2V0U3RhbmRhbG9uZShz
dG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0YW5kYWxvbmVLZXko
KSkpOwpJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNpb24gMTkzOTkxKQorKysgU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTUt
MTItMTEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAg
W01lZGlhU3RyZWFtXSBBZGQgYSBzZXR0aW5nIHRvIGFsbG93IHRoZSBtb2NrIG1lZGlhIGNhcHR1
cmUgZGV2aWNlcyB0byBiZSBlbmFibGVkIGFuZCBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyMTk3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlz
UHJpdmF0ZS5oOgorICAgICAgICAqIFdlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW06CisgICAgICAg
ICgrW1dlYlByZWZlcmVuY2VzIGluaXRpYWxpemVdKToKKyAgICAgICAgKC1bV2ViUHJlZmVyZW5j
ZXMgbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNl
cyBzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkOl0pOgorICAgICAgICAqIFdlYlZpZXcvV2Vi
UHJlZmVyZW5jZXNQcml2YXRlLmg6CisgICAgICAgICogV2ViVmlldy9XZWJWaWV3Lm1tOgorICAg
ICAgICAoLVtXZWJWaWV3IF9wcmVmZXJlbmNlc0NoYW5nZWQ6XSk6CisKIDIwMTUtMTItMTAgIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW01lZGlhU3Ry
ZWFtXSBFeHBvc2UgbWVkaWEgY2FwdHVyZSBkZXZpY2VzIHBlcnNpc3RlbnQgcGVybWlzc2lvbnMg
dG8gV2ViQ29yZQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNl
S2V5c1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dl
YlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCShyZXZpc2lvbiAxOTM5NTcpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTYsMyArMTk2LDUgQEAKIAogI2RlZmluZSBXZWJLaXRFbmFibGVJbmhlcml0VVJJUXVl
cnlDb21wb25lbnRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0RW5hYmxlSW5oZXJpdFVSSVF1ZXJ5Q29t
cG9uZW50IgogI2RlZmluZSBXZWJLaXRNZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHlQcmVmZXJl
bmNlS2V5IEAiV2ViS2l0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5IgorI2RlZmluZSBXZWJL
aXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdE1vY2tDYXB0
dXJlRGV2aWNlc0VuYWJsZWQiCisKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
UHJlZmVyZW5jZXMubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJQcmVmZXJlbmNlcy5tbQkocmV2aXNpb24gMTkzOTU3KQorKysgU291cmNlL1dlYktpdC9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQkod29ya2luZyBjb3B5KQpAQCAtNjAwLDYgKzYwMCw5
IEBAICsgKHZvaWQpaW5pdGlhbGl6ZQogI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUFfVjIpCiAg
ICAgICAgIEAifi9MaWJyYXJ5L1dlYktpdC9NZWRpYUtleXMiLCBXZWJLaXRNZWRpYUtleXNTdG9y
YWdlRGlyZWN0b3J5S2V5LAogI2VuZGlmCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKKyAgICAg
ICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0TW9ja0NhcHR1cmVEZXZpY2Vz
RW5hYmxlZFByZWZlcmVuY2VLZXksCisjZW5kaWYKICAgICAgICAgbmlsXTsKIAogI2lmICFQTEFU
Rk9STShJT1MpCkBAIC0yNjA3LDYgKzI2MTAsMTYgQEAgLSAodm9pZClzZXRNZWRpYURhdGFMb2Fk
c0F1dG9tYXRpY2FsbHk6KAogICAgIFtzZWxmIF9zZXRCb29sVmFsdWU6ZmxhZyBmb3JLZXk6V2Vi
S2l0TWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5UHJlZmVyZW5jZUtleV07CiB9CiAKKy0gKEJP
T0wpbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZAoreworICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdE1vY2tDYXB0dXJlRGV2aWNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsK
K30KKworLSAodm9pZClzZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkOihCT09MKWZsYWcKK3sK
KyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZsYWcgZm9yS2V5OldlYktpdE1vY2tDYXB0dXJlRGV2
aWNlc0VuYWJsZWRQcmVmZXJlbmNlS2V5XTsKK30KKwogQGVuZAogCiBAaW1wbGVtZW50YXRpb24g
V2ViUHJlZmVyZW5jZXMgKFdlYkludGVybmFsKQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCShyZXZpc2lvbiAxOTM5NTcpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NTgsNiArNDU4LDkgQEAgQGludGVyZmFjZSBXZWJQcmVmZXJlbmNlcyAo
V2ViUHJpdmF0ZSkKIC0gKHZvaWQpc2V0SFRUUEVxdWl2RW5hYmxlZDooQk9PTClmbGFnOwogLSAo
Qk9PTClodHRwRXF1aXZFbmFibGVkOwogCistICh2b2lkKXNldE1vY2tDYXB0dXJlRGV2aWNlc0Vu
YWJsZWQ6KEJPT0wpZmxhZzsKKy0gKEJPT0wpbW9ja0NhcHR1cmVEZXZpY2VzRW5hYmxlZDsKKwog
QHByb3BlcnR5IChub25hdG9taWMpIEJPT0wgamF2YVNjcmlwdE1hcmt1cEVuYWJsZWQ7CiBAcHJv
cGVydHkgKG5vbmF0b21pYykgQk9PTCBtZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHk7CiAKSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9uIDE5Mzk1NykKKysr
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjQyNyw2ICsyNDI3LDEwIEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJlZmVy
ZW4KICAgICBzZXR0aW5ncy5zZXRBVkZvdW5kYXRpb25FbmFibGVkKFtwcmVmZXJlbmNlcyBpc0FW
Rm91bmRhdGlvbkVuYWJsZWRdKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkK
KyAgICBzZXR0aW5ncy5zZXRNb2NrQ2FwdHVyZURldmljZXNFbmFibGVkKFtwcmVmZXJlbmNlcyBt
b2NrQ2FwdHVyZURldmljZXNFbmFibGVkXSk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShXRUJfQVVE
SU8pCiAgICAgc2V0dGluZ3Muc2V0V2ViQXVkaW9FbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJBdWRp
b0VuYWJsZWRdKTsKICNlbmRpZgpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTkzOTU3KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTUtMTIt
MTEgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW01l
ZGlhU3RyZWFtXSBBZGQgYSBzZXR0aW5nIHRvIGFsbG93IHRoZSBtb2NrIG1lZGlhIGNhcHR1cmUg
ZGV2aWNlcyB0byBiZSBlbmFibGVkIGFuZCBkaXNhYmxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUyMTk3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L21lZGlhc3RyZWFtL21vY2stbWVkaWEt
c291cmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9tZWRpYXN0cmVhbS9t
b2NrLW1lZGlhLXNvdXJjZS5odG1sOiBBZGRlZC4KKwogMjAxNS0xMi0xMSAgRGFyaW4gQWRsZXIg
IDxkYXJpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVkdWNlIHRoZSBudW1iZXIgb2YgZXZlbnRz
IHRoYXQgY2FuIGJlIGNyZWF0ZWQgYnkgRG9jdW1lbnQuY3JlYXRlRXZlbnQKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbW9jay1tZWRpYS1zb3VyY2UtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbW9jay1tZWRpYS1zb3Vy
Y2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9tZWRpYXN0
cmVhbS9tb2NrLW1lZGlhLXNvdXJjZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwyMiBAQAorVGVzdCBlbmFibGluZy9kaXNhYmxpbmcgbW9jayBtZWRpYSBjYXB0dXJlIGRl
dmljZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworKioqIE1vY2sgY2FwdHVy
ZSBkZXZpY2VzIHNob3VsZCBiZSBlbmFibGVkIGJ5IGRlZmF1bHQKK1BBU1MgbWVkaWFTdHJlYW0g
aXMgYW4gaW5zdGFuY2Ugb2YgT2JqZWN0CitQQVNTIG1lZGlhU3RyZWFtLmdldFRyYWNrcygpLmxl
bmd0aCBpcyAyCisKKyoqKiBEaXNhYmxlIG1vY2sgY2FwdHVyZSBkZXZpY2VzCitpbnRlcm5hbHMu
c2V0TW9ja01lZGlhQ2FwdHVyZURldmljZXNFbmFibGVkKGZhbHNlKQorUEFTUyBtZWRpYURldmlj
ZXMuZ2V0VXNlck1lZGlhKCkgZmFpbGVkIHdpdGggUGVybWlzc2lvbkRlbmllZEVycm9yCisKKyoq
KiBFbmFibGUgbW9jayBjYXB0dXJlIGRldmljZXMKK2ludGVybmFscy5zZXRNb2NrTWVkaWFDYXB0
dXJlRGV2aWNlc0VuYWJsZWQodHJ1ZSkKK1BBU1MgbWVkaWFTdHJlYW0gaXMgYW4gaW5zdGFuY2Ug
b2YgT2JqZWN0CitQQVNTIG1lZGlhU3RyZWFtLmdldFRyYWNrcygpLmxlbmd0aCBpcyAyCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYXN0cmVhbS9tb2NrLW1lZGlhLXNvdXJjZS5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbW9jay1tZWRpYS1zb3VyY2UuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvbWVkaWFzdHJlYW0vbW9jay1tZWRp
YS1zb3VyY2UuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcyIEBACis8IURPQ1RZUEUg
SFRNTD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAg
ICAgICAgIHZhciBtZWRpYVN0cmVhbTsKKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFdoZW5E
aXNhYmxlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVidWcoYDxicj4qKiog
RGlzYWJsZSBtb2NrIGNhcHR1cmUgZGV2aWNlc2ApOworICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQorICAgICAgICAgICAgICAgICAgICBldmFsQW5kTG9nKGBpbnRlcm5hbHMu
c2V0TW9ja01lZGlhQ2FwdHVyZURldmljZXNFbmFibGVkKGZhbHNlKWApOworICAgICAgICAgICAg
ICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMKKyAgICAgICAgICAgICAgICAgICAgLmdldFVzZXJN
ZWRpYSh7YXVkaW86e30sIHZpZGVvOnt9fSkKKyAgICAgICAgICAgICAgICAgICAgLnRoZW4oZnVu
Y3Rpb24oc3RyZWFtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBtZWRpYVN0cmVhbSA9IHN0
cmVhbTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoYG1lZGlhRGV2aWNlcy5n
ZXRVc2VyTWVkaWEoKSBzdWNjZWVkZWQgd2hlbiBubyBkZXZpY2VzIHNob3VsZCBiZSBhdmFpbGFi
bGVgKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbmlzaEpTVGVzdCgpOworICAgICAgICAg
ICAgICAgICAgICB9KQorICAgICAgICAgICAgICAgICAgICAuY2F0Y2goZnVuY3Rpb24oZXJyKSB7
CisgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKGBtZWRpYURldmljZXMuZ2V0VXNl
ck1lZGlhKCkgZmFpbGVkIHdpdGggJHtlcnIubmFtZX1gKTsKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGRlYnVnKGA8YnI+KioqIEVuYWJsZSBtb2NrIGNhcHR1cmUgZGV2aWNlc2ApOworICAgICAg
ICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZXZhbEFuZExvZyhgaW50ZXJuYWxzLnNldE1vY2tNZWRpYUNhcHR1cmVEZXZp
Y2VzRW5hYmxlZCh0cnVlKWApOworICAgICAgICAgICAgICAgICAgICAgICAgdGVzdFdoZW5FbmFi
bGVkKG51bGwpOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKworICAg
ICAgICAgICAgZnVuY3Rpb24gdGVzdFdoZW5FbmFibGVkKG5leHRUZXN0KQorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgIG5hdmlnYXRvci5tZWRpYURldmljZXMKKyAgICAgICAgICAgICAg
ICAgICAgLmdldFVzZXJNZWRpYSh7YXVkaW86e30sIHZpZGVvOnt9fSkKKyAgICAgICAgICAgICAg
ICAgICAgLnRoZW4oZnVuY3Rpb24oc3RyZWFtKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBt
ZWRpYVN0cmVhbSA9IHN0cmVhbTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlVHlw
ZSgibWVkaWFTdHJlYW0iLCAiT2JqZWN0Iik7CisgICAgICAgICAgICAgICAgICAgICAgICBzaG91
bGRCZSgibWVkaWFTdHJlYW0uZ2V0VHJhY2tzKCkubGVuZ3RoIiwgIjIiKTsKKworICAgICAgICAg
ICAgICAgICAgICAgICAgaWYgKG5leHRUZXN0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IG5leHRUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0KCk7CisgICAgICAgICAgICAgICAgICAgIH0pCisg
ICAgICAgICAgICAgICAgICAgIC5jYXRjaChmdW5jdGlvbihlcnIpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RGYWlsZWQoYG1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEoKSBmYWlsZWQg
d2l0aCAke2Vyci5uYW1lfWApOworICAgICAgICAgICAgICAgICAgICAgICAgZmluaXNoSlNUZXN0
KCk7CisgICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBmdW5jdGlvbiBzdGFydCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZGVidWco
YDxicj4qKiogTW9jayBjYXB0dXJlIGRldmljZXMgc2hvdWxkIGJlIGVuYWJsZWQgYnkgZGVmYXVs
dGApOworICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5zZXRVc2VyTWVkaWFQZXJtaXNzaW9uKHRydWUpOworCisgICAg
ICAgICAgICAgICAgdGVzdFdoZW5FbmFibGVkKHRlc3RXaGVuRGlzYWJsZWQpOworICAgICAgICAg
ICAgfQorCisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKworICAgIDxib2R5IG9ubG9h
ZD0ic3RhcnQoKSI+CisgICAgICAgIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorICAgICAgICA8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGRl
c2NyaXB0aW9uKCJUZXN0IGVuYWJsaW5nL2Rpc2FibGluZyBtb2NrIG1lZGlhIGNhcHR1cmUgZGV2
aWNlcyIpOworICAgICAgICAgICAgd2luZG93LmpzVGVzdElzQXN5bmMgPSB0cnVlOworCisgICAg
ICAgICAgICB3aW5kb3cuc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKyAgICAgICAgPC9zY3Jp
cHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>