<?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>74417</bug_id>
          
          <creation_ts>2011-12-13 09:34:04 -0800</creation_ts>
          <short_desc>[Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock</short_desc>
          <delta_ts>2011-12-14 01:57:46 -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>WebKit Qt</component>
          <version>528+ (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="Alexander Færøy">ahf</reporter>
          <assigned_to name="Alexander Færøy">ahf</assigned_to>
          <cc>hausmann</cc>
    
    <cc>kenneth</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>520128</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-13 09:34:04 -0800</bug_when>
    <thetext>SSIA.

Patch coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520394</commentid>
    <comment_count>1</comment_count>
      <attachid>119089</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-13 15:00:32 -0800</bug_when>
    <thetext>Created attachment 119089
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520759</commentid>
    <comment_count>2</comment_count>
      <attachid>119089</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-14 00:44:06 -0800</bug_when>
    <thetext>Comment on attachment 119089
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=74417
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

As this is based on my code and I did it together with you :-) You should add me and I shouldnt review it officially.

&gt; Source/WebKit/qt/Api/qwebframe.cpp:474
&gt;      WebCore::Frame* frame = core(q);
&gt;  
&gt;      switch (m_orientation.reading()-&gt;orientation()) {
&gt; -    case QtMobility::QOrientationReading::TopUp:
&gt; +    case QOrientationReading::TopUp:
&gt;          orientation = 0;
&gt;          break;
&gt; -    case QtMobility::QOrientationReading::TopDown:
&gt; +    case QOrientationReading::TopDown:
&gt;          orientation = 180;
&gt;          break;
&gt; -    case QtMobility::QOrientationReading::LeftUp:
&gt; +    case QOrientationReading::LeftUp:
&gt;          orientation = -90;
&gt;          break;
&gt; -    case QtMobility::QOrientationReading::RightUp:
&gt; +    case QOrientationReading::RightUp:
&gt;          orientation = 90;
&gt;          break;
&gt; -    case QtMobility::QOrientationReading::FaceUp:
&gt; -    case QtMobility::QOrientationReading::FaceDown:
&gt; +    case QOrientationReading::FaceUp:
&gt; +    case QOrientationReading::FaceDown:
&gt;          // WebCore unable to handle it
&gt;      default:
&gt;          return;

All this code is wrong. This is for the browser window orientation on the device. It may not always follow device orientation as you could for instance have a finger on the window and block it from changing browser window orientation

&gt; Source/WebKit/qt/Api/qwebframe_p.h:40
&gt; +#if ENABLE(ORIENTATION_EVENTS)

ORIENTATION_EVENTS are for browser orientation! But if this is not your code (ie unrelated to the patch) it can be fixed in a follow up

&gt; Source/WebKit/qt/Api/qwebpage.cpp:326
&gt; +    if (QWebPagePrivate::drtRun)
&gt; +        pageClients.deviceOrientationClient = new DeviceOrientationClientMock;
&gt; +    else
&gt; +        pageClients.deviceOrientationClient = new DeviceOrientationClientQt;

Maybe the below is clearer?

bool useMock = QWebPagePrivate::drtRun;

pageClients.deviceOrientationClient = useMock ? new DeviceOrientationClientMock : new DeviceOrientationClientQt;

?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520778</commentid>
    <comment_count>3</comment_count>
      <attachid>119177</attachid>
    <who name="Alexander Færøy">ahf</who>
    <bug_when>2011-12-14 01:29:51 -0800</bug_when>
    <thetext>Created attachment 119177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520782</commentid>
    <comment_count>4</comment_count>
      <attachid>119177</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-12-14 01:38:40 -0800</bug_when>
    <thetext>Comment on attachment 119177
Patch

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

r=me but watch the bot when landing :)

&gt; Tools/DumpRenderTree/qt/LayoutTestControllerQt.cpp:853
&gt; +    QList&lt;WebCore::WebPage*&gt; pages = m_drt-&gt;getAllPages();
&gt; +    foreach (WebCore::WebPage* page, pages)
&gt; +        DumpRenderTreeSupportQt::setMockDeviceOrientation(page, canProvideAlpha, alpha, canProvideBeta, beta, canProvideGamma, gamma);

The loop could also be moved into setMockDeviceOrientation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520790</commentid>
    <comment_count>5</comment_count>
      <attachid>119177</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-14 01:57:42 -0800</bug_when>
    <thetext>Comment on attachment 119177
Patch

Clearing flags on attachment: 119177

Committed r102755: &lt;http://trac.webkit.org/changeset/102755&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>520791</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-14 01:57:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119089</attachid>
            <date>2011-12-13 15:00:32 -0800</date>
            <delta_ts>2011-12-14 01:29:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74417-20111214000028.patch</filename>
            <type>text/plain</type>
            <size>31692</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjQ5NjdlNTNlNTEzYWY5
NDZlYjRhZGM0ZTRiNGY3NjU1N2E3YWU2ZS4uNTM4NTIyMDI5ZmI1OWQ2NjMxYzZkZTFlOTI0MzI3
MjE3NzU3NzQwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEyLTEzICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFoZkAweDkwLmRrPgorCisgICAgICAgIFtRdF0gRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogZG9tL0RldmljZU9y
aWVudGF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyOjpjbGllbnQpOgorCiAyMDExLTEyLTA5ICBaaGVueWFvIE1vICA8em1vQGdv
b2dsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IEdMRVMyIENoZWNrRnJhbWVidWZmZXJTdGF0
dXMoKSBiZWhhdmlvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA2M2FkNWRlYzFjNGZhOWZiZTg5YThlMmE4
NDAyYmMxNjJiNmMyMWFhLi4xMTkwOTY4ZWMxYjg0MTI2ZGE5YWMwZDY0ZGQwNDVlMTFmNDBhMGZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDExLTEyLTEzICBBbGV4YW5kZXIg
RsOmcsO4eSAgPGFoZkAweDkwLmRrPgorCisgICAgICAgIFtRdF0gRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQXBpL3F3ZWJmcmFtZS5jcHA6CisgICAgICAgIChRV2ViRnJhbWVQcml2YXRlOjpfcV9v
cmllbnRhdGlvbkNoYW5nZWQpOgorICAgICAgICAqIEFwaS9xd2ViZnJhbWVfcC5oOgorICAgICAg
ICAqIEFwaS9xd2VicGFnZS5jcHA6CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdl
UHJpdmF0ZSk6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlkZXJR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Qcm92aWRlclF0OjpEZXZpY2VN
b3Rpb25Qcm92aWRlclF0KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvblByb3ZpZGVy
UXQ6OmZpbHRlcik6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlk
ZXJRdC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50
TW9ja1F0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2tRdC5oOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
T3JpZW50YXRpb25DbGllbnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojp+RGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0Ojps
YXN0T3JpZW50YXRpb24pOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0
aW9uQ2xpZW50UXQuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0OjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQpOgorICAgICAgICAoV2ViQ29yZTo6
RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpzZXRDb250cm9sbGVyKToKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6c3RhcnQpOgorICAgICAgICAoV2Vi
Q29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpzdG9wKToKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6ZmlsdGVyKToKKyAgICAgICAgKiBXZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdDo6aXNBY3RpdmUpOgorICAgICAgICAoV2Vi
Q29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpsYXN0T3JpZW50YXRpb24pOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpoYXNBbHBoYSk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwOgorICAg
ICAgICAodG9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2spOgorICAgICAgICAoRHVtcFJlbmRl
clRyZWVTdXBwb3J0UXQ6OnNldE1vY2tEZXZpY2VPcmllbnRhdGlvbik6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaDoKKwogMjAxMS0xMi0xMiAgTsOh
bmRvciBIdXN6a2EgIDxodXN6a2EubmFuZG9yQHN0dWQudS1zemVnZWQuaHU+CiAKICAgICAgICAg
W1F0XSBNaXNzaW5nIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBXaWxsQ2FjaGVSZXNwb25zZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxl
ci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCmlu
ZGV4IGJiZWE2ZDA1MDUzZmEzNWM2ZDRjYWViYTQ0MWExMDMxNTU3NjkyMjcuLjBmYjA4Mjk4OTk5
OWU2Zjc0NDg4YWE5ZGY3YzAzZWM2ZDEzZmE2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgKQEAgLTUzLDYgKzUzLDggQEAgcHVibGlj
OgogCiAgICAgYm9vbCBpc0FjdGl2ZSgpIHsgcmV0dXJuICFtX2xpc3RlbmVycy5pc0VtcHR5KCk7
IH0KIAorICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVy
biBtX2NsaWVudDsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgdGltZXJGaXJlZChUaW1lcjxEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+Kik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2ViZnJhbWUuY3Bw
CmluZGV4IGU3MDY4ZjkwNDEzOGVjMmEzY2EyNWU3ZmRkNDEzZTI5NzY0ZTAyZmYuLjE4OTZhOWIy
YmVmODc5OTRiZjk0ZDQ3OWQ0ZTZmMDZmZTBhOTI2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJmcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZy
YW1lLmNwcApAQCAtNDU1LDIwICs0NTUsMjAgQEAgdm9pZCBRV2ViRnJhbWVQcml2YXRlOjpfcV9v
cmllbnRhdGlvbkNoYW5nZWQoKQogICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IGNvcmUocSk7
CiAKICAgICBzd2l0Y2ggKG1fb3JpZW50YXRpb24ucmVhZGluZygpLT5vcmllbnRhdGlvbigpKSB7
Ci0gICAgY2FzZSBRdE1vYmlsaXR5OjpRT3JpZW50YXRpb25SZWFkaW5nOjpUb3BVcDoKKyAgICBj
YXNlIFFPcmllbnRhdGlvblJlYWRpbmc6OlRvcFVwOgogICAgICAgICBvcmllbnRhdGlvbiA9IDA7
CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUXRNb2JpbGl0eTo6UU9yaWVudGF0aW9uUmVhZGlu
Zzo6VG9wRG93bjoKKyAgICBjYXNlIFFPcmllbnRhdGlvblJlYWRpbmc6OlRvcERvd246CiAgICAg
ICAgIG9yaWVudGF0aW9uID0gMTgwOwogICAgICAgICBicmVhazsKLSAgICBjYXNlIFF0TW9iaWxp
dHk6OlFPcmllbnRhdGlvblJlYWRpbmc6OkxlZnRVcDoKKyAgICBjYXNlIFFPcmllbnRhdGlvblJl
YWRpbmc6OkxlZnRVcDoKICAgICAgICAgb3JpZW50YXRpb24gPSAtOTA7CiAgICAgICAgIGJyZWFr
OwotICAgIGNhc2UgUXRNb2JpbGl0eTo6UU9yaWVudGF0aW9uUmVhZGluZzo6UmlnaHRVcDoKKyAg
ICBjYXNlIFFPcmllbnRhdGlvblJlYWRpbmc6OlJpZ2h0VXA6CiAgICAgICAgIG9yaWVudGF0aW9u
ID0gOTA7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgUXRNb2JpbGl0eTo6UU9yaWVudGF0aW9u
UmVhZGluZzo6RmFjZVVwOgotICAgIGNhc2UgUXRNb2JpbGl0eTo6UU9yaWVudGF0aW9uUmVhZGlu
Zzo6RmFjZURvd246CisgICAgY2FzZSBRT3JpZW50YXRpb25SZWFkaW5nOjpGYWNlVXA6CisgICAg
Y2FzZSBRT3JpZW50YXRpb25SZWFkaW5nOjpGYWNlRG93bjoKICAgICAgICAgLy8gV2ViQ29yZSB1
bmFibGUgdG8gaGFuZGxlIGl0CiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaCBiL1NvdXJjZS9XZWJLaXQv
cXQvQXBpL3F3ZWJmcmFtZV9wLmgKaW5kZXggY2NlZjQ3YTUyMDI4MTY1NTBkODk1MjZkOTI4ZmUx
MGE1ZWMyOWNjZC4uZWZiOGQ1NzRiYzllMGNhMGJmMTAxNDhlZDQyZjFlNTczOWViOTUwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmZyYW1lX3AuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L0FwaS9xd2ViZnJhbWVfcC5oCkBAIC0yOCw5ICsyOCw2IEBACiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0LmgiCiAjaW5jbHVkZSAiS1VSTC5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCi0jaWYgRU5BQkxFKE9SSUVOVEFUSU9OX0VWRU5UUykKLSNpbmNsdWRlICJxb3Jp
ZW50YXRpb25zZW5zb3IuaCIKLSNlbmRpZgogI2luY2x1ZGUgInF3ZWJlbGVtZW50LmgiCiAjaW5j
bHVkZSAid3RmL1JlZlB0ci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCkBAIC00MCw2ICszNywxMiBA
QAogI2luY2x1ZGUgInRleG1hcC9UZXh0dXJlTWFwcGVyLmgiCiAjZW5kaWYKIAorI2lmIEVOQUJM
RShPUklFTlRBVElPTl9FVkVOVFMpCisjaW5jbHVkZSA8UU9yaWVudGF0aW9uU2Vuc29yPgorI2lm
IFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDApCitRVE1fVVNFX05BTUVTUEFD
RQorI2VuZGlmIC8vIFFUX1ZFUlNJT04gPCBRVF9WRVJTSU9OX0NIRUNLKDUsIDAsIDAKKyNlbmRp
ZiAvLyBFTkFCTEUoT1JJRU5UQVRJT05fRVZFTlRTKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAg
ICAgY2xhc3MgRnJhbWVMb2FkZXJDbGllbnRRdDsKQEAgLTEyNyw4ICsxMzAsOCBAQCBwdWJsaWM6
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShPUklFTlRBVElPTl9FVkVOVFMpCi0gICAgUXRNb2JpbGl0
eTo6UU9yaWVudGF0aW9uU2Vuc29yIG1fb3JpZW50YXRpb247Ci0jZW5kaWYKKyAgICBRT3JpZW50
YXRpb25TZW5zb3IgbV9vcmllbnRhdGlvbjsKKyNlbmRpZiAvLyBFTkFCTEUoT1JJRU5UQVRJT05f
RVZFTlRTKS4KIAogcHJpdmF0ZToKICNpZiBVU0UoSlNDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2Uu
Y3BwCmluZGV4IGZjYjlmZTY5YjM5OWQxYjlmMTY2M2JmOGE1Zjc2NWM5NzUzOWJmNjUuLjIxOWE4
MDlkMzQxZDBkMzgwODY0ZGYyMjE4NWNjYmMyYmQzMDExNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
cGFnZS5jcHAKQEAgLTQ2LDYgKzQ2LDcgQEAKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudFF0
LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1lbnVDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGV2aWNl
TW90aW9uQ2xpZW50UXQuaCIKKyNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2su
aCIKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJEcmFnQ2xpZW50UXQuaCIKQEAgLTMxOSw3ICszMjAs
MTEgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZhdGUoUVdlYlBhZ2UgKnFxKQogICAg
IHBhZ2VDbGllbnRzLmRyYWdDbGllbnQgPSBuZXcgRHJhZ0NsaWVudFF0KHEpOwogICAgIHBhZ2VD
bGllbnRzLmluc3BlY3RvckNsaWVudCA9IG5ldyBJbnNwZWN0b3JDbGllbnRRdChxKTsKICNpZiBF
TkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIHBhZ2VDbGllbnRzLmRldmljZU9yaWVudGF0
aW9uQ2xpZW50ID0gbmV3IERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQocSk7CisgICAgaWYgKFFX
ZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuKQorICAgICAgICBwYWdlQ2xpZW50cy5kZXZpY2VPcmllbnRh
dGlvbkNsaWVudCA9IG5ldyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2s7CisgICAgZWxzZQor
ICAgICAgICBwYWdlQ2xpZW50cy5kZXZpY2VPcmllbnRhdGlvbkNsaWVudCA9IG5ldyBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudFF0OworCiAgICAgcGFnZUNsaWVudHMuZGV2aWNlTW90aW9uQ2xpZW50
ID0gbmV3IERldmljZU1vdGlvbkNsaWVudFF0KHEpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENMSUVO
VF9CQVNFRF9HRU9MT0NBVElPTikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0RldmljZU1vdGlvblByb3ZpZGVyUXQuY3BwCmluZGV4IGNjZjc2OTdhMzU1
ZDZhYWMyNzE3NDgxNDQ4ZTY5NWRlNWMwNTUwOTQuLjIzYTQ3MjgzMWMyZjM5YjYxZjlmOTQyN2Vi
YWQ4ODlkZmMwYjU5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0LmNwcApAQCAtMjgsNyArMjgsNyBAQCBE
ZXZpY2VNb3Rpb25Qcm92aWRlclF0OjpEZXZpY2VNb3Rpb25Qcm92aWRlclF0KCkKIHsKICAgICBt
X2FjY2VsZXJhdGlvbi5hZGRGaWx0ZXIodGhpcyk7CiAgICAgbV9tb3Rpb24gPSBEZXZpY2VNb3Rp
b25EYXRhOjpjcmVhdGUoKTsKLSAgICBtX2RldmljZU9yaWVudGF0aW9uID0gbmV3IERldmljZU9y
aWVudGF0aW9uUHJvdmlkZXJRdCgpOworICAgIG1fZGV2aWNlT3JpZW50YXRpb24gPSBuZXcgRGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OwogfQogCiBEZXZpY2VNb3Rpb25Qcm92aWRlclF0Ojp+
RGV2aWNlTW90aW9uUHJvdmlkZXJRdCgpCkBAIC01Niw5ICs1Niw5IEBAIGJvb2wgRGV2aWNlTW90
aW9uUHJvdmlkZXJRdDo6ZmlsdGVyKFFBY2NlbGVyb21ldGVyUmVhZGluZyogcmVhZGluZykKICAg
ICAgICAgICAgIC8qIHogYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPnooKSk7CiAKICAgICBS
ZWZQdHI8RGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlPiByb3RhdGlvbiA9IERldmljZU1v
dGlvbkRhdGE6OlJvdGF0aW9uUmF0ZTo6Y3JlYXRlKAotICAgICAgICAgICAgbV9kZXZpY2VPcmll
bnRhdGlvbi0+aGFzQWxwaGEoKSwgbV9kZXZpY2VPcmllbnRhdGlvbi0+b3JpZW50YXRpb24oKS0+
YWxwaGEoKSwKLSAgICAgICAgICAgIC8qIGJldGEgYXZhaWxhYmxlICovIHRydWUsIG1fZGV2aWNl
T3JpZW50YXRpb24tPm9yaWVudGF0aW9uKCktPmJldGEoKSwKLSAgICAgICAgICAgIC8qIGdhbW1h
IGF2YWlsYWJsZSAqLyB0cnVlLCBtX2RldmljZU9yaWVudGF0aW9uLT5vcmllbnRhdGlvbigpLT5n
YW1tYSgpKTsKKyAgICAgICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb24tPmhhc0FscGhhKCksIG1f
ZGV2aWNlT3JpZW50YXRpb24tPmxhc3RPcmllbnRhdGlvbigpLT5hbHBoYSgpLAorICAgICAgICAg
ICAgLyogYmV0YSBhdmFpbGFibGUgKi8gdHJ1ZSwgbV9kZXZpY2VPcmllbnRhdGlvbi0+bGFzdE9y
aWVudGF0aW9uKCktPmJldGEoKSwKKyAgICAgICAgICAgIC8qIGdhbW1hIGF2YWlsYWJsZSAqLyB0
cnVlLCBtX2RldmljZU9yaWVudGF0aW9uLT5sYXN0T3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7CiAK
ICAgICBtX21vdGlvbiA9IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZShhY2NlbCwKICAgICAgICAg
ICAgIGFjY2VsLCAvKiBGSVhNRTogTmVlZHMgdG8gcHJvdmlkZSBhY2NlbGVyYXRpb24gaW5jbHVk
ZSBncmF2aXR5LiAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBw
b3J0L0RldmljZU1vdGlvblByb3ZpZGVyUXQuaAppbmRleCBmMzIwMGQ1OGEwOTViNWVlOTJiNTIx
NjE5NGJhMTRlYWRjZjg2OTUzLi43YjBjMWRiZmVjMTk4NDg1YWYyODM4MDU1NjZhODViZTE4Nzlj
ZGVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1v
dGlvblByb3ZpZGVyUXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU1vdGlvblByb3ZpZGVyUXQuaApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgPFFBY2Nl
bGVyb21ldGVyRmlsdGVyPgogI2luY2x1ZGUgPFFPYmplY3Q+CiAKKyNpZiBRVF9WRVJTSU9OIDwg
UVRfVkVSU0lPTl9DSEVDSyg1LCAwLCAwKQogUVRNX1VTRV9OQU1FU1BBQ0UKKyNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29y
ZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdC5jcHAKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxZGRhYTIzZTkwOGNkZmNiNWI2MGQwMjMyMDk0
ZTAzYzA2MDEzYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2tRdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0g
Ki8KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2tRdC5oIgotCi0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKLSNpbmNsdWRlICJE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1ib29sIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9ja1F0Ojptb2NrSXNBY3RpdmUgPSBmYWxzZTsKLQotRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQqIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpjbGllbnQo
KQotewotICAgIHN0YXRpYyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCogY2xpZW50ID0g
MDsKLSAgICBpZiAoIWNsaWVudCkKLSAgICAgICAgY2xpZW50ID0gbmV3IERldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9ja1F0OwotCi0gICAgcmV0dXJuIGNsaWVudDsKLX0KLQotRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQ6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0KCkKLSAgICA6
IG1fY2xpZW50TW9jayhuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrKCkpCi17Ci0gICAg
bV9vcmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUoKTsKLX0KLQotRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrUXQ6On5EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCgp
Ci17Ci0gICAgZGVsZXRlIG1fY2xpZW50TW9jazsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2tRdDo6c2V0Q29udHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIpCi17Ci0gICAgbV9jbGllbnRNb2NrLT5zZXRDb250cm9sbGVyKG1fY29udHJv
bGxlcik7Ci19Ci0KLXZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQ6OnN0YXJ0VXBk
YXRpbmcoKQotewotICAgIG1fY2xpZW50TW9jay0+c3RhcnRVcGRhdGluZygpOwotfQotCi12b2lk
IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpzdG9wVXBkYXRpbmcoKQotewotICAgIG1f
Y2xpZW50TW9jay0+c3RvcFVwZGF0aW5nKCk7Ci19Ci0KLURldmljZU9yaWVudGF0aW9uKiBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdDo6bGFzdE9yaWVudGF0aW9uKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2tRdDo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKLXsK
LSAgICBkZWxldGUgdGhpczsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tR
dDo6c2V0T3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9v
bCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3Vi
bGUgZ2FtbWEpCi17Ci0gICAgbV9vcmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVh
dGUoY2FuUHJvdmlkZUFscGhhLCBhbHBoYSwKLSAgICAgICAgICAgIGNhblByb3ZpZGVCZXRhLCBi
ZXRhLAotICAgICAgICAgICAgY2FuUHJvdmlkZUdhbW1hLCBnYW1tYSk7Ci0gICAgbV9jbGllbnRN
b2NrLT5zZXRPcmllbnRhdGlvbihtX29yaWVudGF0aW9uKTsKLQotICAgIGVtaXQgbW9ja09yaWVu
dGF0aW9uQ2hhbmdlZChtX29yaWVudGF0aW9uLmdldCgpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jaW5jbHVkZSAibW9jX0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0LmNw
cCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrUXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggY2M1OTEzZDlhZGJlZmU4YjAxMGMwMzU2N2JlNWUxNTUyMDI0YzdhMC4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0LmgKKysrIC9kZXYvbnVs
bApAQCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBv
cmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0g
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLSNpZm5kZWYgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXRfaAotI2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tR
dF9oCi0KLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIgotI2luY2x1ZGUgIlJl
ZlB0ci5oIgotCi0jaW5jbHVkZSA8UU9iamVjdD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBEZXZpY2VPcmllbnRhdGlvbjsKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9j
azsKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjsKLQotY2xhc3MgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrUXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50IHsKLSAgICBRX09CSkVDVAotcHVibGljOgotICAgIHN0YXRpYyBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2tRdCogY2xpZW50KCk7Ci0gICAgdmlydHVhbCB+RGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrUXQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVy
KERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciopOwotICAgIHZpcnR1YWwgdm9pZCBzdGFydFVw
ZGF0aW5nKCk7Ci0gICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwotICAgIHZpcnR1YWwg
RGV2aWNlT3JpZW50YXRpb24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0OwotICAgIHZpcnR1YWwg
dm9pZCBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKLSAgICB2b2lkIHNl
dE9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2Fu
UHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdh
bW1hKTsKLSAgICBzdGF0aWMgYm9vbCBtb2NrSXNBY3RpdmU7Ci0KLVFfU0lHTkFMUzoKLSAgICB2
b2lkIG1vY2tPcmllbnRhdGlvbkNoYW5nZWQoRGV2aWNlT3JpZW50YXRpb24qKTsKLQotcHJpdmF0
ZToKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCgpOwotCi0gICAgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrKiBtX2NsaWVudE1vY2s7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyKiBtX2NvbnRyb2xsZXI7Ci0gICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBt
X29yaWVudGF0aW9uOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8g
RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAK
aW5kZXggMDFjYmU3M2Y3Zjg0ZTY5NWY0ODRjMGU0ZDExZWI5ZDk0Nzc3ODI2ZC4uODJmOWI3Zjlh
NjM4NWU0ZGE5YTQ2NDQ4OGEyOWVhYmE1OTliOTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQu
Y3BwCkBAIC0yMCwyNCArMjAsMTkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJE
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmgiCiAKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2tRdC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oIgotI2luY2x1ZGUgInF3
ZWJwYWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRGV2aWNlT3JpZW50YXRpb25DbGll
bnRRdDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFnZSogcGFnZSkKLSAgICA6IG1f
cGFnZShwYWdlKQotICAgICwgbV9jb250cm9sbGVyKDApCitEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dFF0OjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCkKKyAgICA6IG1fY29udHJvbGxlcigwKQog
ICAgICwgbV9wcm92aWRlcihuZXcgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KCkpCiB7Ci0g
ICAgY29ubmVjdChtX3Byb3ZpZGVyLCBTSUdOQUwoZGV2aWNlT3JpZW50YXRpb25DaGFuZ2VkKERl
dmljZU9yaWVudGF0aW9uKikpLCBTTE9UKGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9y
aWVudGF0aW9uKikpKTsKIH0KIAogRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6fkRldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQoKQogewotICAgIGRpc2Nvbm5lY3QoKTsKICAgICBkZWxldGUgbV9w
cm92aWRlcjsKIH0KIApAQCAtNTgsNyArNTMsNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xp
ZW50UXQ6OnN0b3BVcGRhdGluZygpCiAKIERldmljZU9yaWVudGF0aW9uKiBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudFF0OjpsYXN0T3JpZW50YXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBtX3By
b3ZpZGVyLT5vcmllbnRhdGlvbigpOworICAgIHJldHVybiBtX3Byb3ZpZGVyLT5sYXN0T3JpZW50
YXRpb24oKTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQpAQCAtNzUsNSArNzAsMyBAQCB2b2lkIERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50UXQ6OmNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVu
dGF0aW9uKiBvcmllbgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNpbmNsdWRlICJt
b2NfRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaCBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCmlu
ZGV4IDYxOTY4YzRlMThhMmU4NGUzM2MyMjYyNTEzNzQzMDlmNjYyNzYyNjEuLjQxNzQyMGUyNWM1
NmZjYjgwZjljMjk4YzBlNjRhMDE2YzRmZTZiYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCkBA
IC0yMywxOCArMjMsMTMgQEAKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiCiAKLSNpbmNsdWRlIDxRT2JqZWN0PgotCi1j
bGFzcyBRV2ViUGFnZTsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQ7CiAKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQgOiBw
dWJsaWMgUU9iamVjdCwgcHVibGljIERldmljZU9yaWVudGF0aW9uQ2xpZW50IHsKLSAgICBRX09C
SkVDVAorY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCA6IHB1YmxpYyBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudCB7CiBwdWJsaWM6Ci0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChR
V2ViUGFnZSopOworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQoKTsKICAgICB2aXJ0dWFs
IH5EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqKTsKQEAgLTQyLDEyICszNyw5IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCBE
ZXZpY2VPcmllbnRhdGlvbiogbGFzdE9yaWVudGF0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2
b2lkIGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwotCi1wdWJsaWMgUV9T
TE9UUzoKLSAgICB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9u
Kik7CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVu
dGF0aW9uKik7CiAKIHByaXZhdGU6Ci0gICAgUVdlYlBhZ2UqIG1fcGFnZTsKICAgICBEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKICAgICBEZXZpY2VPcmllbnRhdGlv
blByb3ZpZGVyUXQqIG1fcHJvdmlkZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwIGIvU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3Bw
CmluZGV4IGEzMTkzMGRhYTQ1YmM3OTU1NDc1MWI1MWQ5MWViMGRhMjgwMjQ3ZGIuLmZkNTE0YTQ2
MTk0MzkzNzgxNTJkODhkZjI0YjcxMmZhMjYyZWNiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlk
ZXJRdC5jcHAKQEAgLTIwLDY1ICsyMCw1NCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oIgogCi0jaW5jbHVkZSAiRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrUXQuaCIKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEZXZpY2VP
cmllbnRhdGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCgpCiB7Ci0g
ICAgbV9yb3RhdGlvbi5hZGRGaWx0ZXIodGhpcyk7Ci0gICAgbV9vcmllbnRhdGlvbiA9IERldmlj
ZU9yaWVudGF0aW9uOjpjcmVhdGUoKTsKLQotICAgIGlmIChEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2tRdDo6bW9ja0lzQWN0aXZlKQotICAgICAgICBhY3RpdmVDbGllbnRNb2NrKCk7CisgICAg
bV9zZW5zb3IuYWRkRmlsdGVyKHRoaXMpOworICAgIG1fbGFzdE9yaWVudGF0aW9uID0gRGV2aWNl
T3JpZW50YXRpb246OmNyZWF0ZSgpOwogfQogCi1EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6
On5EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQoKQordm9pZCBEZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQ6OnNldENvbnRyb2xsZXIoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBjb250
cm9sbGVyKQogewotICAgIGRpc2Nvbm5lY3QoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAg
ICAgIHN0b3AoKTsKKworICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7CiB9CiAKIHZvaWQg
RGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpzdGFydCgpCiB7Ci0gICAgbV9yb3RhdGlvbi5z
dGFydCgpOworICAgIG1fc2Vuc29yLnN0YXJ0KCk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0OjpzdG9wKCkKIHsKLSAgICBtX3JvdGF0aW9uLnN0b3AoKTsKKyAgICBtX3Nl
bnNvci5zdG9wKCk7CiB9CiAKIGJvb2wgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpmaWx0
ZXIoUVJvdGF0aW9uUmVhZGluZyogcmVhZGluZykKIHsKLSAgICAvLyBQcm92aWRlIGRldmljZSBv
cmllbnRhdGlvbiBkYXRhIGFjY29yZGluZyBXM0Mgc3BlYzoKLSAgICAvLyBodHRwOi8vZGV2Lncz
Lm9yZy9nZW8vYXBpL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwKLSAgICAvLyBRdCBtb2Jp
bGl0eSBwcm92aWRlIHRoZXNlIGRhdGEgdmlhIFFSb3RhdGlvblNlbnNvciB1c2luZyB0aGUKLSAg
ICAvLyBRUm90YXRpb25SZWFkaW5nIGNsYXNzOgotICAgIC8vICAtIHRoZSByb3RhdGlvbiBhcm91
bmQgeiBheGlzIChhbHBoYSkgaXMgZ2l2ZW4gYXMgeiBpbiBRUm90YXRpb25SZWFkaW5nOwotICAg
IC8vICAtIHRoZSByb3RhdGlvbiBhcm91bmQgeCBheGlzIChiZXRhKSBpcyBnaXZlbiBhcyB4IGlu
IFFSb3RhdGlvblJlYWRpbmc7Ci0gICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB5IGF4aXMg
KGdhbW1hKSBpcyBnaXZlbiBhcyB5IGluIFFSb3RhdGlvblJlYWRpbmc7Ci0gICAgLy8gU2VlOiBo
dHRwOi8vZG9jLnF0Lm5va2lhLmNvbS9xdG1vYmlsaXR5LTEuMC9xcm90YXRpb25yZWFkaW5nLmh0
bWwKLSAgICAvLyBUaGUgWiAoYWxwaGEpIHJvdGF0aW9uIGFuZ2xlIGlzIGNoZWNrZWQgdmlhIGhh
c0FscGhhKCkgcHJpdmF0ZSBtZXRob2QsCi0gICAgLy8gZGVwZW5kaW5nIGlmIHRoZSBkZXZpY2Ug
aXMgYWJsZSBkbyBkZXRlY3QgdGhlIGFscGhhIHJvdGF0aW9uLiBYIChiZXRhKSBhbmQKLSAgICAv
LyBZIChnYW1tYSkgYXhpcyBhcmUgYXZhaWxibGUgaW4gdGhpcyBjb250ZXh0LgotICAgIG1fb3Jp
ZW50YXRpb24gPSBEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKGhhc0FscGhhKCksIHJlYWRpbmct
PnooKSwKLSAgICAgICAgICAgIC8qIHggYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPngoKSwK
LSAgICAgICAgICAgIC8qIHkgYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPnkoKSk7Ci0gICAg
ZW1pdCBkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQobV9vcmllbnRhdGlvbi5nZXQoKSk7CisgICAg
aWYgKG1fY29udHJvbGxlcikgeworICAgICAgICAvLyBQcm92aWRlIGRldmljZSBvcmllbnRhdGlv
biBkYXRhIGFjY29yZGluZyBXM0Mgc3BlYzoKKyAgICAgICAgLy8gaHR0cDovL2Rldi53My5vcmcv
Z2VvL2FwaS9zcGVjLXNvdXJjZS1vcmllbnRhdGlvbi5odG1sCisgICAgICAgIC8vIFF0IG1vYmls
aXR5IHByb3ZpZGUgdGhlc2UgZGF0YSB2aWEgUVJvdGF0aW9uU2Vuc29yIHVzaW5nIHRoZQorICAg
ICAgICAvLyBRUm90YXRpb25SZWFkaW5nIGNsYXNzOgorICAgICAgICAvLyAgLSB0aGUgcm90YXRp
b24gYXJvdW5kIHogYXhpcyAoYWxwaGEpIGlzIGdpdmVuIGFzIHogaW4gUVJvdGF0aW9uUmVhZGlu
ZzsKKyAgICAgICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB4IGF4aXMgKGJldGEpIGlzIGdp
dmVuIGFzIHggaW4gUVJvdGF0aW9uUmVhZGluZzsKKyAgICAgICAgLy8gIC0gdGhlIHJvdGF0aW9u
IGFyb3VuZCB5IGF4aXMgKGdhbW1hKSBpcyBnaXZlbiBhcyB5IGluIFFSb3RhdGlvblJlYWRpbmc7
CisgICAgICAgIC8vIFNlZTogaHR0cDovL2RvYy5xdC5ub2tpYS5jb20vcXRtb2JpbGl0eS0xLjAv
cXJvdGF0aW9ucmVhZGluZy5odG1sCisgICAgICAgIC8vIFRoZSBaIChhbHBoYSkgcm90YXRpb24g
YW5nbGUgaXMgY2hlY2tlZCB2aWEgaGFzQWxwaGEoKSBwcml2YXRlIG1ldGhvZCwKKyAgICAgICAg
Ly8gZGVwZW5kaW5nIGlmIHRoZSBkZXZpY2UgaXMgYWJsZSBkbyBkZXRlY3QgdGhlIGFscGhhIHJv
dGF0aW9uLiBYIChiZXRhKSBhbmQKKyAgICAgICAgLy8gWSAoZ2FtbWEpIGF4aXMgYXJlIGF2YWls
YmxlIGluIHRoaXMgY29udGV4dC4KKyAgICAgICAgbV9sYXN0T3JpZW50YXRpb24gPSBEZXZpY2VP
cmllbnRhdGlvbjo6Y3JlYXRlKGhhc0FscGhhKCksIHJlYWRpbmctPnooKSwKKyAgICAgICAgICAg
ICAgICAvKiB4IGF2YWlsYWJsZSAqLyB0cnVlLCByZWFkaW5nLT54KCksCisgICAgICAgICAgICAg
ICAgLyogeSBhdmFpbGFibGUgKi8gdHJ1ZSwgcmVhZGluZy0+eSgpKTsKKyAgICAgICAgbV9jb250
cm9sbGVyLT5kaWRDaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihtX2xhc3RPcmllbnRhdGlvbi5nZXQo
KSk7CisgICAgfQogCisgICAgLy8gV2UgYXJlIHRoZSBvbmx5IGZpbHRlciwgc28gbm8gbmVlZCB0
byBwcm9wYWdhdGUuCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIERldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJRdDo6Y2hhbmdlRGV2aWNlT3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb24q
IG9yaWVudGF0aW9uKQotewotICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKLX0KLQot
dm9pZCBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OmFjdGl2ZUNsaWVudE1vY2soKQotewot
ICAgIGNvbm5lY3QoRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQ6OmNsaWVudCgpLCBTSUdO
QUwobW9ja09yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlvbiopKSwgU0xPVChjaGFu
Z2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbiopKSk7CiB9Ci0KLX0KLQotI2lu
Y2x1ZGUgIm1vY19EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVy
UXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlclF0LmgKaW5kZXggZTg3OTM3ZWRjNjAxYzBjNjhlMDM5ZGQwNTNjMTJkODk4YjQ4ZWFm
Ny4uNDBkN2NlMWM3MjE2ZWNhZjBjNjY5MDQ3MjQzNGNmNGU1ZTQ2NDJkOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVy
UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJRdC5oCkBAIC0yMSw0MSArMjEsMzMgQEAKICNkZWZpbmUgRGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0X2gKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCi0jaW5j
bHVkZSAiUmVmUHRyLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgi
CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaW5jbHVkZSA8UU9iamVjdD4KICNpbmNsdWRl
IDxRUm90YXRpb25GaWx0ZXI+CiAKKyNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1
LCAwLCAwKQogUVRNX1VTRV9OQU1FU1BBQ0UKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ7Ci0KLWNsYXNzIERldmljZU9yaWVu
dGF0aW9uUHJvdmlkZXJRdCA6IHB1YmxpYyBRT2JqZWN0LCBwdWJsaWMgUVJvdGF0aW9uRmlsdGVy
IHsKLSAgICBRX09CSkVDVAorY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0IDogcHVi
bGljIFFSb3RhdGlvbkZpbHRlciB7CiBwdWJsaWM6CiAgICAgRGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0KCk7Ci0gICAgfkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCgpOwogCisgICAgdm9p
ZCBzZXRDb250cm9sbGVyKERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciopOwogICAgIGJvb2wg
ZmlsdGVyKFFSb3RhdGlvblJlYWRpbmcqKTsKICAgICB2b2lkIHN0YXJ0KCk7CiAgICAgdm9pZCBz
dG9wKCk7Ci0gICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRpb24uaXNB
Y3RpdmUoKTsgfQotICAgIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0KLSAgICBib29sIGhhc0FscGhhKCkgY29uc3Qg
eyByZXR1cm4gbV9yb3RhdGlvbi5wcm9wZXJ0eSgiaGFzWiIpLnRvQm9vbCgpOyB9Ci0KLVFfU0lH
TkFMUzoKLSAgICB2b2lkIGRldmljZU9yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlv
biopOwotCi1wdWJsaWMgUV9TTE9UUzoKLSAgICB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9u
KERldmljZU9yaWVudGF0aW9uKik7CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc2Vuc29yLmlzQWN0aXZlKCk7IH0KKyAgICBEZXZpY2VPcmllbnRhdGlvbiogbGFzdE9yaWVu
dGF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0T3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICBi
b29sIGhhc0FscGhhKCkgY29uc3QgeyByZXR1cm4gbV9zZW5zb3IucHJvcGVydHkoImhhc1oiKS50
b0Jvb2woKTsgfQogCiBwcml2YXRlOgotICAgIHZvaWQgYWN0aXZlQ2xpZW50TW9jaygpOwotCi0g
ICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBtX29yaWVudGF0aW9uOwotICAgIFFSb3RhdGlv
blNlbnNvciBtX3JvdGF0aW9uOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9sYXN0
T3JpZW50YXRpb247CisgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xs
ZXI7CisgICAgUVJvdGF0aW9uU2Vuc29yIG1fc2Vuc29yOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcAppbmRleCAxNzA5NjZiNGVjYmRjYTZhNTI0MTQzYWUwZWU5NTkzM2ZjYTMwYTVhLi4y
OTU2MzYwYWRhMzgyYzdlOTU3YzVlNWNmZGU3ZTYxNDhjNTQwMmM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9y
dFF0LmNwcApAQCAtMzQsNyArMzQsOCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50UXQu
aCIKICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZpY2VP
cmllbnRhdGlvbi5oIgotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0Lmgi
CisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgiCisjaW5jbHVkZSAiRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIK
ICNpbmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnRRdC5oIgpAQCAtMTEy
LDYgKzExMywxNCBAQCBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIHRvR2VvbG9jYXRpb25DbGllbnRN
b2NrKEdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCitEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2sqIHRvRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrKERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCit7
CisgICAgQVNTRVJUKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuKTsKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrKj4oY2xpZW50KTsKK30KKyNlbmRpZgor
CiBRRFJUTm9kZTo6UURSVE5vZGUoKQogICAgIDogbV9ub2RlKDApCiB7CkBAIC04MzgsMjUgKzg0
NywxMiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzY2FsZVBhZ2VCeShRV2ViRnJh
bWUqIGZyYW1lLCBmbG9hdCBzY2FsZWZhY3RvciwgYwogICAgICAgICBwYWdlLT5zZXRQYWdlU2Nh
bGVGYWN0b3Ioc2NhbGVmYWN0b3IsIG9yaWdpbik7CiB9CiAKLXZvaWQgRHVtcFJlbmRlclRyZWVT
dXBwb3J0UXQ6OmFjdGl2ZU1vY2tEZXZpY2VPcmllbnRhdGlvbkNsaWVudChib29sIGIpCi17Ci0j
aWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVu
dE1vY2tRdDo6bW9ja0lzQWN0aXZlID0gYjsKLSNlbmRpZgotfQotCi12b2lkIER1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0OjpyZW1vdmVNb2NrRGV2aWNlT3JpZW50YXRpb24oKQotewotI2lmIEVOQUJM
RShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQq
IGNsaWVudCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpjbGllbnQoKTsKLSAgICBk
ZWxldGUgY2xpZW50OwotI2VuZGlmCi19Ci0KLXZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6
OnNldE1vY2tEZXZpY2VPcmllbnRhdGlvbihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFs
cGhhLCBib29sIGNhblByb3ZpZGVCZXRhLCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2Ft
bWEsIGRvdWJsZSBnYW1tYSkKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tE
ZXZpY2VPcmllbnRhdGlvbihRV2ViUGFnZSogcGFnZSwgYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRv
dWJsZSBhbHBoYSwgYm9vbCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJv
dmlkZUdhbW1hLCBkb3VibGUgZ2FtbWEpCiB7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElP
TikKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdDo6Y2xpZW50KCktPnNldE9yaWVu
dGF0aW9uKGNhblByb3ZpZGVBbHBoYSwgYWxwaGEsIGNhblByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Q
cm92aWRlR2FtbWEsIGdhbW1hKTsKKyAgICBQYWdlKiBjb3JlUGFnZSA9IFFXZWJQYWdlUHJpdmF0
ZTo6Y29yZShwYWdlKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGll
bnQgPSB0b0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jayhjb3JlUGFnZS0+ZGV2aWNlT3JpZW50
YXRpb25Db250cm9sbGVyKCktPmNsaWVudCgpKTsKKyAgICBtb2NrQ2xpZW50LT5zZXRPcmllbnRh
dGlvbihEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKGNhblByb3ZpZGVBbHBoYSwgYWxwaGEsIGNh
blByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92aWRlR2FtbWEsIGdhbW1hKSk7CiAjZW5kaWYKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oCmluZGV4IGVhYTliOWRiZDkxMzg3MzFiYTIxODFmMTZjMTIyMTM5
NGFmNjdjNjQuLjdhYTlmMWRjZTdiODgyMzZiODFhZjFkODM3YjhhMjAwMmQ5ZWMzOWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJU
cmVlU3VwcG9ydFF0LmgKQEAgLTE1Niw5ICsxNTYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZv
aWQgcmVtb3ZlV2hpdGVMaXN0QWNjZXNzRnJvbU9yaWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VP
cmlnaW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcm
IGRlc3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiAgICAg
c3RhdGljIHZvaWQgcmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CiAKLSAgICBzdGF0aWMg
dm9pZCBhY3RpdmVNb2NrRGV2aWNlT3JpZW50YXRpb25DbGllbnQoYm9vbCBiKTsKLSAgICBzdGF0
aWMgdm9pZCByZW1vdmVNb2NrRGV2aWNlT3JpZW50YXRpb24oKTsKLSAgICBzdGF0aWMgdm9pZCBz
ZXRNb2NrRGV2aWNlT3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBo
YSwgYm9vbCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1h
LCBkb3VibGUgZ2FtbWEpOworICAgIHN0YXRpYyB2b2lkIHNldE1vY2tEZXZpY2VPcmllbnRhdGlv
bihRV2ViUGFnZSosIGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2Fu
UHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdh
bW1hKTsKIAogICAgIHN0YXRpYyB2b2lkIHJlc2V0R2VvbG9jYXRpb25Nb2NrKFFXZWJQYWdlKik7
CiAgICAgc3RhdGljIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbihRV2ViUGFnZSos
IGJvb2wgYWxsb3dlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXBpLnByaSBiL1NvdXJjZS9hcGku
cHJpCmluZGV4IGJhNDk5MzE5ODJhNmEzZWExNWU0ZjIwMzQ4OTQ5ODk5ZmU4ZDg3YzUuLjRmYWE0
OGViZWQ0MjQzMzMyMGI1N2FjMmY4ZjQ3YzI4MTRjMzBiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9h
cGkucHJpCisrKyBiL1NvdXJjZS9hcGkucHJpCkBAIC0xMzcsMTggKzEzNywxOCBAQCBjb250YWlu
cyhERUZJTkVTLCBFTkFCTEVfSUNPTkRBVEFCQVNFPTEpIHsKIH0KIAogY29udGFpbnMoREVGSU5F
UywgRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xKSB7CisgICAgaGF2ZVF0KDUpOiBRVCArPSBz
ZW5zb3JzCisKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgJCRQV0QvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmggXAogICAgICAgICAkJFBXRC9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5oIFwKICAgICAgICAgJCRQ
V0QvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaCBc
Ci0gICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlv
bkNsaWVudE1vY2tRdC5oIFwKICAgICAgICAgJCRQV0QvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAg
ICAgJCRQV0QvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNw
cCBcCiAgICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25Q
cm92aWRlclF0LmNwcCBcCiAgICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCBcCi0gICAgICAgICQkUFdEL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdC5jcHAgXAogICAgICAg
ICAkJFBXRC9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRl
clF0LmNwcAogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggNjQ4NmE4NDYwZDQ0ZjhlOGVjNDBkNWUzYjJkZGE4ZmRiZTRiMzM4OS4uNjIxZGEw
MzdjZTM0YTBmNWU3ZGRjMWQ4NGFkNmU5ZTE5MGQ1MDBjOSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTEyLTEz
ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFoZkAweDkwLmRrPgorCisgICAgICAgIFtRdF0gRGV2aWNl
T3JpZW50YXRpb25DbGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgRGV2
aWNlT3JpZW50YXRpb25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUpOgorICAg
ICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6On5EdW1wUmVuZGVyVHJlZSk6CisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAg
IChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKToKKwogMjAx
MS0xMi0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+IGFuZCBNYXJ0aW4gUm9iaW5z
b24gPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIGJ1aWxkLWpzYyBwYXNzaW5nIGlu
Y29ycmVjdCBhcmdzIHRvIGJ1aWxkR3RrUHJvamVjdApkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcAppbmRleCBmM2UzMGRkZGJhM2RjYWNjNDc4ZjMxNWE3NDIy
Y2Q5NzdjZmIzYTA5Li43ZjdjNTFiOGFlYTU2YTM5NjllMWEyNWQ0MWIzMTdkZTNmYTkwMGVmIDEw
MDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcAor
KysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcApAQCAtNDA0
LDcgKzQwNCw2IEBAIER1bXBSZW5kZXJUcmVlOjpEdW1wUmVuZGVyVHJlZSgpCiAgICAgLy8gU2V0
IHJ1bm5pbmcgaW4gRFJUIG1vZGUgZm9yIHF3ZWJwYWdlIHRvIGNyZWF0ZSB0ZXN0YWJsZSBvYmpl
Y3RzLgogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXREdW1wUmVuZGVyVHJlZU1vZGVF
bmFibGVkKHRydWUpOwogICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpvdmVyd3JpdGVQbHVn
aW5EaXJlY3RvcmllcygpOwotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjphY3RpdmVNb2Nr
RGV2aWNlT3JpZW50YXRpb25DbGllbnQodHJ1ZSk7CiAgICAgUVdlYlNldHRpbmdzOjplbmFibGVQ
ZXJzaXN0ZW50U3RvcmFnZShtX3BlcnNpc3RlbnRTdG9yYWdlUGF0aCk7CiAKICAgICBtX25ldHdv
cmtBY2Nlc3NNYW5hZ2VyID0gbmV3IE5ldHdvcmtBY2Nlc3NNYW5hZ2VyKHRoaXMpOwpAQCAtNDg1
LDcgKzQ4NCw2IEBAIER1bXBSZW5kZXJUcmVlOjp+RHVtcFJlbmRlclRyZWUoKQogICAgICAgICBm
Y2xvc2Uoc3RkZXJyKTsKICAgICBkZWxldGUgbV9tYWluVmlldzsKICAgICBkZWxldGUgbV9zdGRp
bjsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6cmVtb3ZlTW9ja0RldmljZU9yaWVudGF0
aW9uKCk7CiB9CiAKIHN0YXRpYyB2b2lkIGNsZWFySGlzdG9yeShRV2ViUGFnZSogcGFnZSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQu
Y3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAK
aW5kZXggYTBlZDQ3Mzk2ZDQxMGFkNGU2NDAyNjIyMmEwNmYxYjM2ODBhMThmMC4uYjE2NTExZWZi
OTZmZTY1OTBjMjMxNDIyYmYzNDU5Mjc4NzVjNDcxMSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHAKQEAgLTg0OCw3ICs4NDgsOSBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRFZGl0aW5nQmVoYXZpb3IoY29uc3QgUVN0
cmluZyYgZWRpdGluZ0JlaGF2aW9yKQogCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRN
b2NrRGV2aWNlT3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwg
Ym9vbCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBk
b3VibGUgZ2FtbWEpCiB7Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tEZXZp
Y2VPcmllbnRhdGlvbihjYW5Qcm92aWRlQWxwaGEsIGFscGhhLCBjYW5Qcm92aWRlQmV0YSwgYmV0
YSwgY2FuUHJvdmlkZUdhbW1hLCBnYW1tYSk7CisgICAgUUxpc3Q8V2ViQ29yZTo6V2ViUGFnZSo+
IHBhZ2VzID0gbV9kcnQtPmdldEFsbFBhZ2VzKCk7CisgICAgZm9yZWFjaCAoV2ViQ29yZTo6V2Vi
UGFnZSogcGFnZSwgcGFnZXMpCisgICAgICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzZXRN
b2NrRGV2aWNlT3JpZW50YXRpb24ocGFnZSwgY2FuUHJvdmlkZUFscGhhLCBhbHBoYSwgY2FuUHJv
dmlkZUJldGEsIGJldGEsIGNhblByb3ZpZGVHYW1tYSwgZ2FtbWEpOwogfQogCiB2b2lkIExheW91
dFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oYm9vbCBhbGxvdykKZGlm
ZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4ZmNhZTg4Y2YzOTg0NDFmNTlm
YTcwNzVlMzljYmI2NzcyNDFkMWFhLi43YThhNjc4ODc3ODM3YTQ4OWMyYmUxMTIxOTA1MDkwNGVj
ZmJiMjNmIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTIgQEAKKzIwMTEtMTItMTMgIEFsZXhhbmRlciBGw6Zyw7h5ICA8YWhmQDB4OTAuZGs+CisKKyAg
ICAgICAgW1F0XSBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCBzaG91bGQgYmUgcmVtb3Zl
ZCBpbiBmYXZvciBvZiBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2sKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE3CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTb3VyY2UvYXBpLnByaToKKwogMjAx
MS0xMi0xMyAgVG9yIEFybmUgVmVzdGLDuCAgPHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CiAK
ICAgICAgICAgW1F0XSBHZXQgcmlkIG9mIGxheWVyaW5nIHZpb2xhdGlvbnMgaW4gaW5jbHVkZXMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119177</attachid>
            <date>2011-12-14 01:29:51 -0800</date>
            <delta_ts>2011-12-14 01:57:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74417-20111214103514.patch</filename>
            <type>text/plain</type>
            <size>30184</size>
            <attacher name="Alexander Færøy">ahf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNzQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjU3MjhiNzc1MWU4YTJj
YjQ2YjlmNjE0YTQ3NzBiMDg4NWMzOTdhOC4uNTZhNWRhYmE0ODVlZWZiZWMwNDAyNjQ3NjBmYmY0
ZjE2YWM3ZTg4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTE0ICBBbGV4
YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIFtR
dF0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2
b3Igb2YgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9uIG9yaWdpbmFsIHBhdGNoIGJ5IEtlbm5l
dGggQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIEFscmVhZHkgY292ZXJlZCBieSBjdXJyZW50IHRl
c3RzLgorCisgICAgICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpjbGllbnQpOgorCiAy
MDExLTEyLTAzICBQaGlsaXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KIAogICAg
ICAgICBbR1RLXSBCYWQgdGV4dCByZW5kZXJpbmcgc2luY2UgcjEwMTM0MwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCA2M2FkNWRlYzFjNGZhOWZiZTg5YThlMmE4NDAyYmMxNjJiNmMyMWFhLi5lZWI0MjhlM2E4
M2QyNDczMmZlZDZjMTMwMzg0Y2Q4MTE4OGNiZGI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDQyIEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lA
bm9raWEuY29tPgorCisgICAgICAgIFtRdF0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQg
c2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2Nr
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9u
IG9yaWdpbmFsIHBhdGNoIGJ5IEtlbm5ldGggQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIEFscmVh
ZHkgY292ZXJlZCBieSBjdXJyZW50IHRlc3RzLgorCisgICAgICAgICogQXBpL3F3ZWJwYWdlLmNw
cDoKKyAgICAgICAgKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRldmljZU1vdGlvblByb3ZpZGVyUXQ6OkRldmljZU1vdGlvblByb3ZpZGVyUXQpOgor
ICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uUHJvdmlkZXJRdDo6ZmlsdGVyKToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0Lmg6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQuY3BwOiBSZW1vdmVk
LgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0
Lmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25D
bGllbnRRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0
OjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQ6On5EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KToKKyAgICAgICAg
KFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ6Omxhc3RPcmllbnRhdGlvbik6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oOgorICAg
ICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVu
dGF0aW9uUHJvdmlkZXJRdCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQ6OnNldENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50
YXRpb25Qcm92aWRlclF0OjpzdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyUXQ6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0OjpmaWx0ZXIpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0RldmljZU9y
aWVudGF0aW9uUHJvdmlkZXJRdC5oOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0Ojppc0FjdGl2ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyUXQ6Omxhc3RPcmllbnRhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZp
Y2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6Omhhc0FscGhhKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHA6CisgICAgICAgICh0b0RldmljZU9yaWVu
dGF0aW9uQ2xpZW50TW9jayk6CisgICAgICAgIChEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0
TW9ja0RldmljZU9yaWVudGF0aW9uKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9EdW1wUmVu
ZGVyVHJlZVN1cHBvcnRRdC5oOgorCiAyMDExLTEyLTEyICBOw6FuZG9yIEh1c3prYSAgPGh1c3pr
YS5uYW5kb3JAc3R1ZC51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIE1pc3NpbmcgbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcFdpbGxDYWNoZVJlc3BvbnNlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgKaW5kZXggYmJlYTZkMDUwNTNmYTM1
YzZkNGNhZWJhNDQxYTEwMzE1NTc2OTIyNy4uMGZiMDgyOTg5OTk5ZTZmNzQ0ODhhYTlkZjdjMDNl
YzZkMTNmYTZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXIuaApAQCAtNTMsNiArNTMsOCBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzQWN0
aXZlKCkgeyByZXR1cm4gIW1fbGlzdGVuZXJzLmlzRW1wdHkoKTsgfQogCisgICAgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQqIGNsaWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50OyB9CisKIHBy
aXZhdGU6CiAgICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPERldmljZU9yaWVudGF0aW9uQ29udHJv
bGxlcj4qKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3Bw
IGIvU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwCmluZGV4IGZjYjlmZTY5YjM5OWQx
YjlmMTY2M2JmOGE1Zjc2NWM5NzUzOWJmNjUuLjU4ODk1YWE4Y2Y1ZjY2Mjc4YjQwMWY0MDY3Nzg2
NjU2NjY4MjI4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2VicGFnZS5jcHAKQEAgLTQ2LDYgKzQ2LDcg
QEAKICNpbmNsdWRlICJDb250ZXh0TWVudUNsaWVudFF0LmgiCiAjaW5jbHVkZSAiQ29udGV4dE1l
bnVDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRGV2aWNlTW90aW9uQ2xpZW50UXQuaCIKKyNpbmNs
dWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCIKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbkNsaWVudFF0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRl
ICJEcmFnQ2xpZW50UXQuaCIKQEAgLTMxMCw2ICszMTEsOCBAQCBRV2ViUGFnZVByaXZhdGU6OlFX
ZWJQYWdlUHJpdmF0ZShRV2ViUGFnZSAqcXEpCiAgICAgLCBpbnNwZWN0b3JJc0ludGVybmFsT25s
eShmYWxzZSkKICAgICAsIG1fbGFzdERyb3BBY3Rpb24oUXQ6Oklnbm9yZUFjdGlvbikKIHsKKyAg
ICBib29sIHVzZU1vY2sgPSBRV2ViUGFnZVByaXZhdGU6OmRydFJ1bjsKKwogICAgIFdlYkNvcmU6
OmluaXRpYWxpemVXZWJDb3JlUXQoKTsKIAogICAgIFBhZ2U6OlBhZ2VDbGllbnRzIHBhZ2VDbGll
bnRzOwpAQCAtMzE5LDEyICszMjIsMTYgQEAgUVdlYlBhZ2VQcml2YXRlOjpRV2ViUGFnZVByaXZh
dGUoUVdlYlBhZ2UgKnFxKQogICAgIHBhZ2VDbGllbnRzLmRyYWdDbGllbnQgPSBuZXcgRHJhZ0Ns
aWVudFF0KHEpOwogICAgIHBhZ2VDbGllbnRzLmluc3BlY3RvckNsaWVudCA9IG5ldyBJbnNwZWN0
b3JDbGllbnRRdChxKTsKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIHBhZ2VD
bGllbnRzLmRldmljZU9yaWVudGF0aW9uQ2xpZW50ID0gbmV3IERldmljZU9yaWVudGF0aW9uQ2xp
ZW50UXQocSk7CisgICAgaWYgKHVzZU1vY2spCisgICAgICAgIHBhZ2VDbGllbnRzLmRldmljZU9y
aWVudGF0aW9uQ2xpZW50ID0gbmV3IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazsKKyAgICBl
bHNlCisgICAgICAgIHBhZ2VDbGllbnRzLmRldmljZU9yaWVudGF0aW9uQ2xpZW50ID0gbmV3IERl
dmljZU9yaWVudGF0aW9uQ2xpZW50UXQ7CisKICAgICBwYWdlQ2xpZW50cy5kZXZpY2VNb3Rpb25D
bGllbnQgPSBuZXcgRGV2aWNlTW90aW9uQ2xpZW50UXQocSk7CiAjZW5kaWYKICNpZiBFTkFCTEUo
Q0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKQotICAgIGlmIChRV2ViUGFnZVByaXZhdGU6OmRydFJ1
bikKLSAgICAgICAgcGFnZUNsaWVudHMuZ2VvbG9jYXRpb25DbGllbnQgPSBuZXcgR2VvbG9jYXRp
b25DbGllbnRNb2NrKCk7CisgICAgaWYgKHVzZU1vY2spCisgICAgICAgIHBhZ2VDbGllbnRzLmdl
b2xvY2F0aW9uQ2xpZW50ID0gbmV3IEdlb2xvY2F0aW9uQ2xpZW50TW9jazsKICAgICBlbHNlCiAg
ICAgICAgIHBhZ2VDbGllbnRzLmdlb2xvY2F0aW9uQ2xpZW50ID0gbmV3IEdlb2xvY2F0aW9uQ2xp
ZW50UXQocSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU1vdGlvblByb3ZpZGVyUXQuY3BwCmluZGV4IGNjZjc2OTdhMzU1ZDZh
YWMyNzE3NDgxNDQ4ZTY5NWRlNWMwNTUwOTQuLjIzYTQ3MjgzMWMyZjM5YjYxZjlmOTQyN2ViYWQ4
ODlkZmMwYjU5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
RGV2aWNlTW90aW9uUHJvdmlkZXJRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9EZXZpY2VNb3Rpb25Qcm92aWRlclF0LmNwcApAQCAtMjgsNyArMjgsNyBAQCBEZXZp
Y2VNb3Rpb25Qcm92aWRlclF0OjpEZXZpY2VNb3Rpb25Qcm92aWRlclF0KCkKIHsKICAgICBtX2Fj
Y2VsZXJhdGlvbi5hZGRGaWx0ZXIodGhpcyk7CiAgICAgbV9tb3Rpb24gPSBEZXZpY2VNb3Rpb25E
YXRhOjpjcmVhdGUoKTsKLSAgICBtX2RldmljZU9yaWVudGF0aW9uID0gbmV3IERldmljZU9yaWVu
dGF0aW9uUHJvdmlkZXJRdCgpOworICAgIG1fZGV2aWNlT3JpZW50YXRpb24gPSBuZXcgRGV2aWNl
T3JpZW50YXRpb25Qcm92aWRlclF0OwogfQogCiBEZXZpY2VNb3Rpb25Qcm92aWRlclF0Ojp+RGV2
aWNlTW90aW9uUHJvdmlkZXJRdCgpCkBAIC01Niw5ICs1Niw5IEBAIGJvb2wgRGV2aWNlTW90aW9u
UHJvdmlkZXJRdDo6ZmlsdGVyKFFBY2NlbGVyb21ldGVyUmVhZGluZyogcmVhZGluZykKICAgICAg
ICAgICAgIC8qIHogYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPnooKSk7CiAKICAgICBSZWZQ
dHI8RGV2aWNlTW90aW9uRGF0YTo6Um90YXRpb25SYXRlPiByb3RhdGlvbiA9IERldmljZU1vdGlv
bkRhdGE6OlJvdGF0aW9uUmF0ZTo6Y3JlYXRlKAotICAgICAgICAgICAgbV9kZXZpY2VPcmllbnRh
dGlvbi0+aGFzQWxwaGEoKSwgbV9kZXZpY2VPcmllbnRhdGlvbi0+b3JpZW50YXRpb24oKS0+YWxw
aGEoKSwKLSAgICAgICAgICAgIC8qIGJldGEgYXZhaWxhYmxlICovIHRydWUsIG1fZGV2aWNlT3Jp
ZW50YXRpb24tPm9yaWVudGF0aW9uKCktPmJldGEoKSwKLSAgICAgICAgICAgIC8qIGdhbW1hIGF2
YWlsYWJsZSAqLyB0cnVlLCBtX2RldmljZU9yaWVudGF0aW9uLT5vcmllbnRhdGlvbigpLT5nYW1t
YSgpKTsKKyAgICAgICAgICAgIG1fZGV2aWNlT3JpZW50YXRpb24tPmhhc0FscGhhKCksIG1fZGV2
aWNlT3JpZW50YXRpb24tPmxhc3RPcmllbnRhdGlvbigpLT5hbHBoYSgpLAorICAgICAgICAgICAg
LyogYmV0YSBhdmFpbGFibGUgKi8gdHJ1ZSwgbV9kZXZpY2VPcmllbnRhdGlvbi0+bGFzdE9yaWVu
dGF0aW9uKCktPmJldGEoKSwKKyAgICAgICAgICAgIC8qIGdhbW1hIGF2YWlsYWJsZSAqLyB0cnVl
LCBtX2RldmljZU9yaWVudGF0aW9uLT5sYXN0T3JpZW50YXRpb24oKS0+Z2FtbWEoKSk7CiAKICAg
ICBtX21vdGlvbiA9IERldmljZU1vdGlvbkRhdGE6OmNyZWF0ZShhY2NlbCwKICAgICAgICAgICAg
IGFjY2VsLCAvKiBGSVhNRTogTmVlZHMgdG8gcHJvdmlkZSBhY2NlbGVyYXRpb24gaW5jbHVkZSBn
cmF2aXR5LiAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9E
ZXZpY2VNb3Rpb25Qcm92aWRlclF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0RldmljZU1vdGlvblByb3ZpZGVyUXQuaAppbmRleCBmMzIwMGQ1OGEwOTViNWVlOTJiNTIxNjE5
NGJhMTRlYWRjZjg2OTUzLi43YjBjMWRiZmVjMTk4NDg1YWYyODM4MDU1NjZhODViZTE4NzljZGVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlv
blByb3ZpZGVyUXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rldmlj
ZU1vdGlvblByb3ZpZGVyUXQuaApAQCAtMjYsNyArMjYsOSBAQAogI2luY2x1ZGUgPFFBY2NlbGVy
b21ldGVyRmlsdGVyPgogI2luY2x1ZGUgPFFPYmplY3Q+CiAKKyNpZiBRVF9WRVJTSU9OIDwgUVRf
VkVSU0lPTl9DSEVDSyg1LCAwLCAwKQogUVRNX1VTRV9OQU1FU1BBQ0UKKyNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQuY3BwIGIvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdC5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgxZGRhYTIzZTkwOGNkZmNiNWI2MGQwMjMyMDk0ZTAz
YzA2MDEzYWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2tRdC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQot
ICoKLSAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2tRdC5oIgotCi0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb24uaCIKLSNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudE1vY2suaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNv
bnRyb2xsZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1ib29sIERldmljZU9yaWVudGF0
aW9uQ2xpZW50TW9ja1F0Ojptb2NrSXNBY3RpdmUgPSBmYWxzZTsKLQotRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrUXQqIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpjbGllbnQoKQot
ewotICAgIHN0YXRpYyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCogY2xpZW50ID0gMDsK
LSAgICBpZiAoIWNsaWVudCkKLSAgICAgICAgY2xpZW50ID0gbmV3IERldmljZU9yaWVudGF0aW9u
Q2xpZW50TW9ja1F0OwotCi0gICAgcmV0dXJuIGNsaWVudDsKLX0KLQotRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrUXQ6OkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0KCkKLSAgICA6IG1f
Y2xpZW50TW9jayhuZXcgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrKCkpCi17Ci0gICAgbV9v
cmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUoKTsKLX0KLQotRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrUXQ6On5EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCgpCi17
Ci0gICAgZGVsZXRlIG1fY2xpZW50TW9jazsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2tRdDo6c2V0Q29udHJvbGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGNv
bnRyb2xsZXIpCi17Ci0gICAgbV9jbGllbnRNb2NrLT5zZXRDb250cm9sbGVyKG1fY29udHJvbGxl
cik7Ci19Ci0KLXZvaWQgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQ6OnN0YXJ0VXBkYXRp
bmcoKQotewotICAgIG1fY2xpZW50TW9jay0+c3RhcnRVcGRhdGluZygpOwotfQotCi12b2lkIERl
dmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpzdG9wVXBkYXRpbmcoKQotewotICAgIG1fY2xp
ZW50TW9jay0+c3RvcFVwZGF0aW5nKCk7Ci19Ci0KLURldmljZU9yaWVudGF0aW9uKiBEZXZpY2VP
cmllbnRhdGlvbkNsaWVudE1vY2tRdDo6bGFzdE9yaWVudGF0aW9uKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9vcmllbnRhdGlvbi5nZXQoKTsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2tRdDo6ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyRGVzdHJveWVkKCkKLXsKLSAg
ICBkZWxldGUgdGhpczsKLX0KLQotdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdDo6
c2V0T3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwgYm9vbCBj
YW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBkb3VibGUg
Z2FtbWEpCi17Ci0gICAgbV9vcmllbnRhdGlvbiA9IERldmljZU9yaWVudGF0aW9uOjpjcmVhdGUo
Y2FuUHJvdmlkZUFscGhhLCBhbHBoYSwKLSAgICAgICAgICAgIGNhblByb3ZpZGVCZXRhLCBiZXRh
LAotICAgICAgICAgICAgY2FuUHJvdmlkZUdhbW1hLCBnYW1tYSk7Ci0gICAgbV9jbGllbnRNb2Nr
LT5zZXRPcmllbnRhdGlvbihtX29yaWVudGF0aW9uKTsKLQotICAgIGVtaXQgbW9ja09yaWVudGF0
aW9uQ2hhbmdlZChtX29yaWVudGF0aW9uLmdldCgpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jaW5jbHVkZSAibW9jX0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0LmNwcCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQuaCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2
aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2M1OTEzZDlhZGJlZmU4YjAxMGMwMzU2N2JlNWUxNTUyMDI0YzdhMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0LmgKKysrIC9kZXYvbnVsbApA
QCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0
aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg
bGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ
VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICog
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICog
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiBCb3N0
b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqCi0gKi8KLSNpZm5kZWYgRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrUXRfaAotI2RlZmluZSBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdF9o
Ci0KLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIgotI2luY2x1ZGUgIlJlZlB0
ci5oIgotCi0jaW5jbHVkZSA8UU9iamVjdD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBEZXZpY2VPcmllbnRhdGlvbjsKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jazsK
LWNsYXNzIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjsKLQotY2xhc3MgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQgOiBwdWJsaWMgUU9iamVjdCwgcHVibGljIERldmljZU9yaWVudGF0
aW9uQ2xpZW50IHsKLSAgICBRX09CSkVDVAotcHVibGljOgotICAgIHN0YXRpYyBEZXZpY2VPcmll
bnRhdGlvbkNsaWVudE1vY2tRdCogY2xpZW50KCk7Ci0gICAgdmlydHVhbCB+RGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQoKTsKLQotICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlciopOwotICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0
aW5nKCk7Ci0gICAgdmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpOwotICAgIHZpcnR1YWwgRGV2
aWNlT3JpZW50YXRpb24qIGxhc3RPcmllbnRhdGlvbigpIGNvbnN0OwotICAgIHZpcnR1YWwgdm9p
ZCBkZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKLSAgICB2b2lkIHNldE9y
aWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJv
dmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1h
KTsKLSAgICBzdGF0aWMgYm9vbCBtb2NrSXNBY3RpdmU7Ci0KLVFfU0lHTkFMUzoKLSAgICB2b2lk
IG1vY2tPcmllbnRhdGlvbkNoYW5nZWQoRGV2aWNlT3JpZW50YXRpb24qKTsKLQotcHJpdmF0ZToK
LSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdCgpOwotCi0gICAgRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrKiBtX2NsaWVudE1vY2s7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyKiBtX2NvbnRyb2xsZXI7Ci0gICAgUmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBtX29y
aWVudGF0aW9uOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRGV2
aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAKaW5k
ZXggMDFjYmU3M2Y3Zjg0ZTY5NWY0ODRjMGU0ZDExZWI5ZDk0Nzc3ODI2ZC4uODJmOWI3ZjlhNjM4
NWU0ZGE5YTQ2NDQ4OGEyOWVhYmE1OTliOTVlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuY3Bw
CkBAIC0yMCwyNCArMjAsMTkgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0LmgiCiAKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2tRdC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIgog
I2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oIgotI2luY2x1ZGUgInF3ZWJw
YWdlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotRGV2aWNlT3JpZW50YXRpb25DbGllbnRR
dDo6RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2ViUGFnZSogcGFnZSkKLSAgICA6IG1fcGFn
ZShwYWdlKQotICAgICwgbV9jb250cm9sbGVyKDApCitEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0
OjpEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCkKKyAgICA6IG1fY29udHJvbGxlcigwKQogICAg
ICwgbV9wcm92aWRlcihuZXcgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0KCkpCiB7Ci0gICAg
Y29ubmVjdChtX3Byb3ZpZGVyLCBTSUdOQUwoZGV2aWNlT3JpZW50YXRpb25DaGFuZ2VkKERldmlj
ZU9yaWVudGF0aW9uKikpLCBTTE9UKGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVu
dGF0aW9uKikpKTsKIH0KIAogRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdDo6fkRldmljZU9yaWVu
dGF0aW9uQ2xpZW50UXQoKQogewotICAgIGRpc2Nvbm5lY3QoKTsKICAgICBkZWxldGUgbV9wcm92
aWRlcjsKIH0KIApAQCAtNTgsNyArNTMsNyBAQCB2b2lkIERldmljZU9yaWVudGF0aW9uQ2xpZW50
UXQ6OnN0b3BVcGRhdGluZygpCiAKIERldmljZU9yaWVudGF0aW9uKiBEZXZpY2VPcmllbnRhdGlv
bkNsaWVudFF0OjpsYXN0T3JpZW50YXRpb24oKSBjb25zdAogewotICAgIHJldHVybiBtX3Byb3Zp
ZGVyLT5vcmllbnRhdGlvbigpOworICAgIHJldHVybiBtX3Byb3ZpZGVyLT5sYXN0T3JpZW50YXRp
b24oKTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0OjpkZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKQpAQCAtNzUsNSArNzAsMyBAQCB2b2lkIERldmljZU9y
aWVudGF0aW9uQ2xpZW50UXQ6OmNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0
aW9uKiBvcmllbgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNpbmNsdWRlICJtb2Nf
RGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCmluZGV4
IDYxOTY4YzRlMThhMmU4NGUzM2MyMjYyNTEzNzQzMDlmNjYyNzYyNjEuLjQxNzQyMGUyNWM1NmZj
YjgwZjljMjk4YzBlNjRhMDE2YzRmZTZiYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdC5oCkBAIC0y
MywxOCArMjMsMTMgQEAKICNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiCiAKLSNpbmNsdWRlIDxRT2JqZWN0PgotCi1jbGFz
cyBRV2ViUGFnZTsKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZXZpY2VPcmllbnRh
dGlvblByb3ZpZGVyUXQ7CiAKLWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQgOiBwdWJs
aWMgUU9iamVjdCwgcHVibGljIERldmljZU9yaWVudGF0aW9uQ2xpZW50IHsKLSAgICBRX09CSkVD
VAorY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdCA6IHB1YmxpYyBEZXZpY2VPcmllbnRh
dGlvbkNsaWVudCB7CiBwdWJsaWM6Ci0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRRdChRV2Vi
UGFnZSopOworICAgIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQoKTsKICAgICB2aXJ0dWFsIH5E
ZXZpY2VPcmllbnRhdGlvbkNsaWVudFF0KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udHJv
bGxlcihEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqKTsKQEAgLTQyLDEyICszNyw5IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc3RvcFVwZGF0aW5nKCk7CiAgICAgdmlydHVhbCBEZXZp
Y2VPcmllbnRhdGlvbiogbGFzdE9yaWVudGF0aW9uKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lk
IGRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpOwotCi1wdWJsaWMgUV9TTE9U
UzoKLSAgICB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uKik7
CisgICAgdmlydHVhbCB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0
aW9uKik7CiAKIHByaXZhdGU6Ci0gICAgUVdlYlBhZ2UqIG1fcGFnZTsKICAgICBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXIqIG1fY29udHJvbGxlcjsKICAgICBEZXZpY2VPcmllbnRhdGlvblBy
b3ZpZGVyUXQqIG1fcHJvdmlkZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwIGIvU291cmNlL1dl
YktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwCmlu
ZGV4IGEzMTkzMGRhYTQ1YmM3OTU1NDc1MWI1MWQ5MWViMGRhMjgwMjQ3ZGIuLmZkNTE0YTQ2MTk0
MzkzNzgxNTJkODhkZjI0YjcxMmZhMjYyZWNiYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
cXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uUHJvdmlkZXJR
dC5jcHAKQEAgLTIwLDY1ICsyMCw1NCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oIgogCi0jaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25DbGllbnRNb2NrUXQuaCIKLQogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEZXZpY2VPcmll
bnRhdGlvblByb3ZpZGVyUXQ6OkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCgpCiB7Ci0gICAg
bV9yb3RhdGlvbi5hZGRGaWx0ZXIodGhpcyk7Ci0gICAgbV9vcmllbnRhdGlvbiA9IERldmljZU9y
aWVudGF0aW9uOjpjcmVhdGUoKTsKLQotICAgIGlmIChEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2tRdDo6bW9ja0lzQWN0aXZlKQotICAgICAgICBhY3RpdmVDbGllbnRNb2NrKCk7CisgICAgbV9z
ZW5zb3IuYWRkRmlsdGVyKHRoaXMpOworICAgIG1fbGFzdE9yaWVudGF0aW9uID0gRGV2aWNlT3Jp
ZW50YXRpb246OmNyZWF0ZSgpOwogfQogCi1EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6On5E
ZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQoKQordm9pZCBEZXZpY2VPcmllbnRhdGlvblByb3Zp
ZGVyUXQ6OnNldENvbnRyb2xsZXIoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBjb250cm9s
bGVyKQogewotICAgIGRpc2Nvbm5lY3QoKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisgICAgICAg
IHN0b3AoKTsKKworICAgIG1fY29udHJvbGxlciA9IGNvbnRyb2xsZXI7CiB9CiAKIHZvaWQgRGV2
aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpzdGFydCgpCiB7Ci0gICAgbV9yb3RhdGlvbi5zdGFy
dCgpOworICAgIG1fc2Vuc29yLnN0YXJ0KCk7CiB9CiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25Q
cm92aWRlclF0OjpzdG9wKCkKIHsKLSAgICBtX3JvdGF0aW9uLnN0b3AoKTsKKyAgICBtX3NlbnNv
ci5zdG9wKCk7CiB9CiAKIGJvb2wgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0OjpmaWx0ZXIo
UVJvdGF0aW9uUmVhZGluZyogcmVhZGluZykKIHsKLSAgICAvLyBQcm92aWRlIGRldmljZSBvcmll
bnRhdGlvbiBkYXRhIGFjY29yZGluZyBXM0Mgc3BlYzoKLSAgICAvLyBodHRwOi8vZGV2LnczLm9y
Zy9nZW8vYXBpL3NwZWMtc291cmNlLW9yaWVudGF0aW9uLmh0bWwKLSAgICAvLyBRdCBtb2JpbGl0
eSBwcm92aWRlIHRoZXNlIGRhdGEgdmlhIFFSb3RhdGlvblNlbnNvciB1c2luZyB0aGUKLSAgICAv
LyBRUm90YXRpb25SZWFkaW5nIGNsYXNzOgotICAgIC8vICAtIHRoZSByb3RhdGlvbiBhcm91bmQg
eiBheGlzIChhbHBoYSkgaXMgZ2l2ZW4gYXMgeiBpbiBRUm90YXRpb25SZWFkaW5nOwotICAgIC8v
ICAtIHRoZSByb3RhdGlvbiBhcm91bmQgeCBheGlzIChiZXRhKSBpcyBnaXZlbiBhcyB4IGluIFFS
b3RhdGlvblJlYWRpbmc7Ci0gICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB5IGF4aXMgKGdh
bW1hKSBpcyBnaXZlbiBhcyB5IGluIFFSb3RhdGlvblJlYWRpbmc7Ci0gICAgLy8gU2VlOiBodHRw
Oi8vZG9jLnF0Lm5va2lhLmNvbS9xdG1vYmlsaXR5LTEuMC9xcm90YXRpb25yZWFkaW5nLmh0bWwK
LSAgICAvLyBUaGUgWiAoYWxwaGEpIHJvdGF0aW9uIGFuZ2xlIGlzIGNoZWNrZWQgdmlhIGhhc0Fs
cGhhKCkgcHJpdmF0ZSBtZXRob2QsCi0gICAgLy8gZGVwZW5kaW5nIGlmIHRoZSBkZXZpY2UgaXMg
YWJsZSBkbyBkZXRlY3QgdGhlIGFscGhhIHJvdGF0aW9uLiBYIChiZXRhKSBhbmQKLSAgICAvLyBZ
IChnYW1tYSkgYXhpcyBhcmUgYXZhaWxibGUgaW4gdGhpcyBjb250ZXh0LgotICAgIG1fb3JpZW50
YXRpb24gPSBEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKGhhc0FscGhhKCksIHJlYWRpbmctPnoo
KSwKLSAgICAgICAgICAgIC8qIHggYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPngoKSwKLSAg
ICAgICAgICAgIC8qIHkgYXZhaWxhYmxlICovIHRydWUsIHJlYWRpbmctPnkoKSk7Ci0gICAgZW1p
dCBkZXZpY2VPcmllbnRhdGlvbkNoYW5nZWQobV9vcmllbnRhdGlvbi5nZXQoKSk7CisgICAgaWYg
KG1fY29udHJvbGxlcikgeworICAgICAgICAvLyBQcm92aWRlIGRldmljZSBvcmllbnRhdGlvbiBk
YXRhIGFjY29yZGluZyBXM0Mgc3BlYzoKKyAgICAgICAgLy8gaHR0cDovL2Rldi53My5vcmcvZ2Vv
L2FwaS9zcGVjLXNvdXJjZS1vcmllbnRhdGlvbi5odG1sCisgICAgICAgIC8vIFF0IG1vYmlsaXR5
IHByb3ZpZGUgdGhlc2UgZGF0YSB2aWEgUVJvdGF0aW9uU2Vuc29yIHVzaW5nIHRoZQorICAgICAg
ICAvLyBRUm90YXRpb25SZWFkaW5nIGNsYXNzOgorICAgICAgICAvLyAgLSB0aGUgcm90YXRpb24g
YXJvdW5kIHogYXhpcyAoYWxwaGEpIGlzIGdpdmVuIGFzIHogaW4gUVJvdGF0aW9uUmVhZGluZzsK
KyAgICAgICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFyb3VuZCB4IGF4aXMgKGJldGEpIGlzIGdpdmVu
IGFzIHggaW4gUVJvdGF0aW9uUmVhZGluZzsKKyAgICAgICAgLy8gIC0gdGhlIHJvdGF0aW9uIGFy
b3VuZCB5IGF4aXMgKGdhbW1hKSBpcyBnaXZlbiBhcyB5IGluIFFSb3RhdGlvblJlYWRpbmc7Cisg
ICAgICAgIC8vIFNlZTogaHR0cDovL2RvYy5xdC5ub2tpYS5jb20vcXRtb2JpbGl0eS0xLjAvcXJv
dGF0aW9ucmVhZGluZy5odG1sCisgICAgICAgIC8vIFRoZSBaIChhbHBoYSkgcm90YXRpb24gYW5n
bGUgaXMgY2hlY2tlZCB2aWEgaGFzQWxwaGEoKSBwcml2YXRlIG1ldGhvZCwKKyAgICAgICAgLy8g
ZGVwZW5kaW5nIGlmIHRoZSBkZXZpY2UgaXMgYWJsZSBkbyBkZXRlY3QgdGhlIGFscGhhIHJvdGF0
aW9uLiBYIChiZXRhKSBhbmQKKyAgICAgICAgLy8gWSAoZ2FtbWEpIGF4aXMgYXJlIGF2YWlsYmxl
IGluIHRoaXMgY29udGV4dC4KKyAgICAgICAgbV9sYXN0T3JpZW50YXRpb24gPSBEZXZpY2VPcmll
bnRhdGlvbjo6Y3JlYXRlKGhhc0FscGhhKCksIHJlYWRpbmctPnooKSwKKyAgICAgICAgICAgICAg
ICAvKiB4IGF2YWlsYWJsZSAqLyB0cnVlLCByZWFkaW5nLT54KCksCisgICAgICAgICAgICAgICAg
LyogeSBhdmFpbGFibGUgKi8gdHJ1ZSwgcmVhZGluZy0+eSgpKTsKKyAgICAgICAgbV9jb250cm9s
bGVyLT5kaWRDaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihtX2xhc3RPcmllbnRhdGlvbi5nZXQoKSk7
CisgICAgfQogCisgICAgLy8gV2UgYXJlIHRoZSBvbmx5IGZpbHRlciwgc28gbm8gbmVlZCB0byBw
cm9wYWdhdGUuCiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIERldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdDo6Y2hhbmdlRGV2aWNlT3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb24qIG9y
aWVudGF0aW9uKQotewotICAgIG1fb3JpZW50YXRpb24gPSBvcmllbnRhdGlvbjsKLX0KLQotdm9p
ZCBEZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQ6OmFjdGl2ZUNsaWVudE1vY2soKQotewotICAg
IGNvbm5lY3QoRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQ6OmNsaWVudCgpLCBTSUdOQUwo
bW9ja09yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlvbiopKSwgU0xPVChjaGFuZ2VE
ZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbiopKSk7CiB9Ci0KLX0KLQotI2luY2x1
ZGUgIm1vY19EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQuY3BwIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQu
aCBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92
aWRlclF0LmgKaW5kZXggZTg3OTM3ZWRjNjAxYzBjNjhlMDM5ZGQwNTNjMTJkODk4YjQ4ZWFmNy4u
NDBkN2NlMWM3MjE2ZWNhZjBjNjY5MDQ3MjQzNGNmNGU1ZTQ2NDJkOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvblByb3ZpZGVyUXQu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9u
UHJvdmlkZXJRdC5oCkBAIC0yMSw0MSArMjEsMzMgQEAKICNkZWZpbmUgRGV2aWNlT3JpZW50YXRp
b25Qcm92aWRlclF0X2gKIAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uLmgiCi0jaW5jbHVk
ZSAiUmVmUHRyLmgiCisjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgiCisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCi0jaW5jbHVkZSA8UU9iamVjdD4KICNpbmNsdWRlIDxR
Um90YXRpb25GaWx0ZXI+CiAKKyNpZiBRVF9WRVJTSU9OIDwgUVRfVkVSU0lPTl9DSEVDSyg1LCAw
LCAwKQogUVRNX1VTRV9OQU1FU1BBQ0UKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LWNsYXNzIERldmljZU9yaWVudGF0aW9uQ2xpZW50UXQ7Ci0KLWNsYXNzIERldmljZU9yaWVudGF0
aW9uUHJvdmlkZXJRdCA6IHB1YmxpYyBRT2JqZWN0LCBwdWJsaWMgUVJvdGF0aW9uRmlsdGVyIHsK
LSAgICBRX09CSkVDVAorY2xhc3MgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0IDogcHVibGlj
IFFSb3RhdGlvbkZpbHRlciB7CiBwdWJsaWM6CiAgICAgRGV2aWNlT3JpZW50YXRpb25Qcm92aWRl
clF0KCk7Ci0gICAgfkRldmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdCgpOwogCisgICAgdm9pZCBz
ZXRDb250cm9sbGVyKERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciopOwogICAgIGJvb2wgZmls
dGVyKFFSb3RhdGlvblJlYWRpbmcqKTsKICAgICB2b2lkIHN0YXJ0KCk7CiAgICAgdm9pZCBzdG9w
KCk7Ci0gICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcm90YXRpb24uaXNBY3Rp
dmUoKTsgfQotICAgIERldmljZU9yaWVudGF0aW9uKiBvcmllbnRhdGlvbigpIGNvbnN0IHsgcmV0
dXJuIG1fb3JpZW50YXRpb24uZ2V0KCk7IH0KLSAgICBib29sIGhhc0FscGhhKCkgY29uc3QgeyBy
ZXR1cm4gbV9yb3RhdGlvbi5wcm9wZXJ0eSgiaGFzWiIpLnRvQm9vbCgpOyB9Ci0KLVFfU0lHTkFM
UzoKLSAgICB2b2lkIGRldmljZU9yaWVudGF0aW9uQ2hhbmdlZChEZXZpY2VPcmllbnRhdGlvbiop
OwotCi1wdWJsaWMgUV9TTE9UUzoKLSAgICB2b2lkIGNoYW5nZURldmljZU9yaWVudGF0aW9uKERl
dmljZU9yaWVudGF0aW9uKik7CisgICAgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0IHsgcmV0dXJuIG1f
c2Vuc29yLmlzQWN0aXZlKCk7IH0KKyAgICBEZXZpY2VPcmllbnRhdGlvbiogbGFzdE9yaWVudGF0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9sYXN0T3JpZW50YXRpb24uZ2V0KCk7IH0KKyAgICBib29s
IGhhc0FscGhhKCkgY29uc3QgeyByZXR1cm4gbV9zZW5zb3IucHJvcGVydHkoImhhc1oiKS50b0Jv
b2woKTsgfQogCiBwcml2YXRlOgotICAgIHZvaWQgYWN0aXZlQ2xpZW50TW9jaygpOwotCi0gICAg
UmVmUHRyPERldmljZU9yaWVudGF0aW9uPiBtX29yaWVudGF0aW9uOwotICAgIFFSb3RhdGlvblNl
bnNvciBtX3JvdGF0aW9uOworICAgIFJlZlB0cjxEZXZpY2VPcmllbnRhdGlvbj4gbV9sYXN0T3Jp
ZW50YXRpb247CisgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBtX2NvbnRyb2xsZXI7
CisgICAgUVJvdGF0aW9uU2Vuc29yIG1fc2Vuc29yOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmNwcAppbmRleCAxNzA5NjZiNGVjYmRjYTZhNTI0MTQzYWUwZWU5NTkzM2ZjYTMwYTVhLi4yOTU2
MzYwYWRhMzgyYzdlOTU3YzVlNWNmZGU3ZTYxNDhjNTQwMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
LmNwcApAQCAtMzQsNyArMzQsOCBAQAogI2luY2x1ZGUgIkNvbnRleHRNZW51Q2xpZW50UXQuaCIK
ICNpbmNsdWRlICJDb250ZXh0TWVudUNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEZXZpY2VPcmll
bnRhdGlvbi5oIgotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0LmgiCisj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrLmgiCisjaW5jbHVkZSAiRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJFZGl0b3IuaCIKICNpbmNsdWRlICJFZGl0b3JDbGllbnRRdC5oIgpAQCAtMTEyLDYg
KzExMywxNCBAQCBHZW9sb2NhdGlvbkNsaWVudE1vY2sqIHRvR2VvbG9jYXRpb25DbGllbnRNb2Nr
KEdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQpCiB9CiAjZW5kaWYKIAorI2lmIEVOQUJMRShERVZJ
Q0VfT1JJRU5UQVRJT04pCitEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2sqIHRvRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnRNb2NrKERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCit7Cisg
ICAgQVNTRVJUKFFXZWJQYWdlUHJpdmF0ZTo6ZHJ0UnVuKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8RGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrKj4oY2xpZW50KTsKK30KKyNlbmRpZgorCiBR
RFJUTm9kZTo6UURSVE5vZGUoKQogICAgIDogbV9ub2RlKDApCiB7CkBAIC04MzgsMjUgKzg0Nywx
MiBAQCB2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpzY2FsZVBhZ2VCeShRV2ViRnJhbWUq
IGZyYW1lLCBmbG9hdCBzY2FsZWZhY3RvciwgYwogICAgICAgICBwYWdlLT5zZXRQYWdlU2NhbGVG
YWN0b3Ioc2NhbGVmYWN0b3IsIG9yaWdpbik7CiB9CiAKLXZvaWQgRHVtcFJlbmRlclRyZWVTdXBw
b3J0UXQ6OmFjdGl2ZU1vY2tEZXZpY2VPcmllbnRhdGlvbkNsaWVudChib29sIGIpCi17Ci0jaWYg
RU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1v
Y2tRdDo6bW9ja0lzQWN0aXZlID0gYjsKLSNlbmRpZgotfQotCi12b2lkIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0OjpyZW1vdmVNb2NrRGV2aWNlT3JpZW50YXRpb24oKQotewotI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQqIGNs
aWVudCA9IERldmljZU9yaWVudGF0aW9uQ2xpZW50TW9ja1F0OjpjbGllbnQoKTsKLSAgICBkZWxl
dGUgY2xpZW50OwotI2VuZGlmCi19Ci0KLXZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNl
dE1vY2tEZXZpY2VPcmllbnRhdGlvbihib29sIGNhblByb3ZpZGVBbHBoYSwgZG91YmxlIGFscGhh
LCBib29sIGNhblByb3ZpZGVCZXRhLCBkb3VibGUgYmV0YSwgYm9vbCBjYW5Qcm92aWRlR2FtbWEs
IGRvdWJsZSBnYW1tYSkKK3ZvaWQgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnNldE1vY2tEZXZp
Y2VPcmllbnRhdGlvbihRV2ViUGFnZSogcGFnZSwgYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJs
ZSBhbHBoYSwgYm9vbCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlk
ZUdhbW1hLCBkb3VibGUgZ2FtbWEpCiB7CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
LSAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdDo6Y2xpZW50KCktPnNldE9yaWVudGF0
aW9uKGNhblByb3ZpZGVBbHBoYSwgYWxwaGEsIGNhblByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92
aWRlR2FtbWEsIGdhbW1hKTsKKyAgICBQYWdlKiBjb3JlUGFnZSA9IFFXZWJQYWdlUHJpdmF0ZTo6
Y29yZShwYWdlKTsKKyAgICBEZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2sqIG1vY2tDbGllbnQg
PSB0b0RldmljZU9yaWVudGF0aW9uQ2xpZW50TW9jayhjb3JlUGFnZS0+ZGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyKCktPmNsaWVudCgpKTsKKyAgICBtb2NrQ2xpZW50LT5zZXRPcmllbnRhdGlv
bihEZXZpY2VPcmllbnRhdGlvbjo6Y3JlYXRlKGNhblByb3ZpZGVBbHBoYSwgYWxwaGEsIGNhblBy
b3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92aWRlR2FtbWEsIGdhbW1hKSk7CiAjZW5kaWYKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJl
ZVN1cHBvcnRRdC5oIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdC5oCmluZGV4IGVhYTliOWRiZDkxMzg3MzFiYTIxODFmMTZjMTIyMTM5NGFm
NjdjNjQuLjdhYTlmMWRjZTdiODgyMzZiODFhZjFkODM3YjhhMjAwMmQ5ZWMzOWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0
UXQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0R1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0LmgKQEAgLTE1Niw5ICsxNTYsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQg
cmVtb3ZlV2hpdGVMaXN0QWNjZXNzRnJvbU9yaWdpbihjb25zdCBRU3RyaW5nJiBzb3VyY2VPcmln
aW4sIGNvbnN0IFFTdHJpbmcmIGRlc3RpbmF0aW9uUHJvdG9jb2wsIGNvbnN0IFFTdHJpbmcmIGRl
c3RpbmF0aW9uSG9zdCwgYm9vbCBhbGxvd0Rlc3RpbmF0aW9uU3ViZG9tYWlucyk7CiAgICAgc3Rh
dGljIHZvaWQgcmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CiAKLSAgICBzdGF0aWMgdm9p
ZCBhY3RpdmVNb2NrRGV2aWNlT3JpZW50YXRpb25DbGllbnQoYm9vbCBiKTsKLSAgICBzdGF0aWMg
dm9pZCByZW1vdmVNb2NrRGV2aWNlT3JpZW50YXRpb24oKTsKLSAgICBzdGF0aWMgdm9pZCBzZXRN
b2NrRGV2aWNlT3JpZW50YXRpb24oYm9vbCBjYW5Qcm92aWRlQWxwaGEsIGRvdWJsZSBhbHBoYSwg
Ym9vbCBjYW5Qcm92aWRlQmV0YSwgZG91YmxlIGJldGEsIGJvb2wgY2FuUHJvdmlkZUdhbW1hLCBk
b3VibGUgZ2FtbWEpOworICAgIHN0YXRpYyB2b2lkIHNldE1vY2tEZXZpY2VPcmllbnRhdGlvbihR
V2ViUGFnZSosIGJvb2wgY2FuUHJvdmlkZUFscGhhLCBkb3VibGUgYWxwaGEsIGJvb2wgY2FuUHJv
dmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblByb3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1h
KTsKIAogICAgIHN0YXRpYyB2b2lkIHJlc2V0R2VvbG9jYXRpb25Nb2NrKFFXZWJQYWdlKik7CiAg
ICAgc3RhdGljIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbihRV2ViUGFnZSosIGJv
b2wgYWxsb3dlZCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXBpLnByaSBiL1NvdXJjZS9hcGkucHJp
CmluZGV4IGJhNDk5MzE5ODJhNmEzZWExNWU0ZjIwMzQ4OTQ5ODk5ZmU4ZDg3YzUuLjRmYWE0OGVi
ZWQ0MjQzMzMyMGI1N2FjMmY4ZjQ3YzI4MTRjMzBiNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9hcGku
cHJpCisrKyBiL1NvdXJjZS9hcGkucHJpCkBAIC0xMzcsMTggKzEzNywxOCBAQCBjb250YWlucyhE
RUZJTkVTLCBFTkFCTEVfSUNPTkRBVEFCQVNFPTEpIHsKIH0KIAogY29udGFpbnMoREVGSU5FUywg
RU5BQkxFX0RFVklDRV9PUklFTlRBVElPTj0xKSB7CisgICAgaGF2ZVF0KDUpOiBRVCArPSBzZW5z
b3JzCisKICAgICBIRUFERVJTICs9IFwKICAgICAgICAgJCRQV0QvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmggXAogICAgICAgICAkJFBXRC9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRGV2aWNlTW90aW9uUHJvdmlkZXJRdC5oIFwKICAgICAgICAgJCRQV0Qv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU9yaWVudGF0aW9uQ2xpZW50UXQuaCBcCi0g
ICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNs
aWVudE1vY2tRdC5oIFwKICAgICAgICAgJCRQV0QvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Rl
dmljZU9yaWVudGF0aW9uUHJvdmlkZXJRdC5oCiAKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAg
JCRQV0QvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0RldmljZU1vdGlvbkNsaWVudFF0LmNwcCBc
CiAgICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZpY2VNb3Rpb25Qcm92
aWRlclF0LmNwcCBcCiAgICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EZXZp
Y2VPcmllbnRhdGlvbkNsaWVudFF0LmNwcCBcCi0gICAgICAgICQkUFdEL1dlYktpdC9xdC9XZWJD
b3JlU3VwcG9ydC9EZXZpY2VPcmllbnRhdGlvbkNsaWVudE1vY2tRdC5jcHAgXAogICAgICAgICAk
JFBXRC9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRGV2aWNlT3JpZW50YXRpb25Qcm92aWRlclF0
LmNwcAogfQogCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cK
aW5kZXggZWI4NjM1NjVlODU5YmQwYjMwM2JhNDE5OGI2YTQ3YTk0OTE2YzgzYi4uZmU0ZGI5MWEw
OWNkMDk4MTJjM2YzYWM2Y2I5ZGFmODg5MTA3ZTJhMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdl
TG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTE0ICBB
bGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAg
IFtRdF0gRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4g
ZmF2b3Igb2YgRGV2aWNlT3JpZW50YXRpb25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEJhc2VkIG9uIG9yaWdpbmFsIHBhdGNoIGJ5IEtl
bm5ldGggQ2hyaXN0aWFuc2VuLgorCisgICAgICAgIEFscmVhZHkgY292ZXJlZCBieSBjdXJyZW50
IHRlc3RzLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUpOgor
ICAgICAgICAoV2ViQ29yZTo6RHVtcFJlbmRlclRyZWU6On5EdW1wUmVuZGVyVHJlZSk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvcXQvTGF5b3V0VGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKToKKwog
MjAxMS0xMi0wMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gQmFkIHRleHQgcmVuZGVyaW5nIHNpbmNlIHIxMDEzNDMKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHAKaW5kZXggZjNlMzBkZGRiYTNkY2Fj
YzQ3OGYzMTVhNzQyMmNkOTc3Y2ZiM2EwOS4uN2Y3YzUxYjhhZWE1NmEzOTY5ZTFhMjVkNDFiMzE3
ZGUzZmE5MDBlZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRl
clRyZWVRdC5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVR
dC5jcHAKQEAgLTQwNCw3ICs0MDQsNiBAQCBEdW1wUmVuZGVyVHJlZTo6RHVtcFJlbmRlclRyZWUo
KQogICAgIC8vIFNldCBydW5uaW5nIGluIERSVCBtb2RlIGZvciBxd2VicGFnZSB0byBjcmVhdGUg
dGVzdGFibGUgb2JqZWN0cy4KICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6c2V0RHVtcFJl
bmRlclRyZWVNb2RlRW5hYmxlZCh0cnVlKTsKICAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
b3ZlcndyaXRlUGx1Z2luRGlyZWN0b3JpZXMoKTsKLSAgICBEdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dDo6YWN0aXZlTW9ja0RldmljZU9yaWVudGF0aW9uQ2xpZW50KHRydWUpOwogICAgIFFXZWJTZXR0
aW5nczo6ZW5hYmxlUGVyc2lzdGVudFN0b3JhZ2UobV9wZXJzaXN0ZW50U3RvcmFnZVBhdGgpOwog
CiAgICAgbV9uZXR3b3JrQWNjZXNzTWFuYWdlciA9IG5ldyBOZXR3b3JrQWNjZXNzTWFuYWdlcih0
aGlzKTsKQEAgLTQ4NSw3ICs0ODQsNiBAQCBEdW1wUmVuZGVyVHJlZTo6fkR1bXBSZW5kZXJUcmVl
KCkKICAgICAgICAgZmNsb3NlKHN0ZGVycik7CiAgICAgZGVsZXRlIG1fbWFpblZpZXc7CiAgICAg
ZGVsZXRlIG1fc3RkaW47Ci0gICAgRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQ6OnJlbW92ZU1vY2tE
ZXZpY2VPcmllbnRhdGlvbigpOwogfQogCiBzdGF0aWMgdm9pZCBjbGVhckhpc3RvcnkoUVdlYlBh
Z2UqIHBhZ2UpCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9xdC9MYXlvdXRUZXN0
Q29udHJvbGxlclF0LmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250
cm9sbGVyUXQuY3BwCmluZGV4IGEwZWQ0NzM5NmQ0MTBhZDRlNjQwMjYyMjJhMDZmMWIzNjgwYTE4
ZjAuLmIxNjUxMWVmYjk2ZmU2NTkwYzIzMTQyMmJmMzQ1OTI3ODc1YzQ3MTEgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0xheW91dFRlc3RDb250cm9sbGVyUXQuY3BwCkBAIC04
NDgsNyArODQ4LDkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0RWRpdGluZ0JlaGF2
aW9yKGNvbnN0IFFTdHJpbmcmIGVkaXRpbmdCZWhhdmlvcikKIAogdm9pZCBMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKGJvb2wgY2FuUHJvdmlkZUFscGhhLCBk
b3VibGUgYWxwaGEsIGJvb2wgY2FuUHJvdmlkZUJldGEsIGRvdWJsZSBiZXRhLCBib29sIGNhblBy
b3ZpZGVHYW1tYSwgZG91YmxlIGdhbW1hKQogewotICAgIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0
OjpzZXRNb2NrRGV2aWNlT3JpZW50YXRpb24oY2FuUHJvdmlkZUFscGhhLCBhbHBoYSwgY2FuUHJv
dmlkZUJldGEsIGJldGEsIGNhblByb3ZpZGVHYW1tYSwgZ2FtbWEpOworICAgIFFMaXN0PFdlYkNv
cmU6OldlYlBhZ2UqPiBwYWdlcyA9IG1fZHJ0LT5nZXRBbGxQYWdlcygpOworICAgIGZvcmVhY2gg
KFdlYkNvcmU6OldlYlBhZ2UqIHBhZ2UsIHBhZ2VzKQorICAgICAgICBEdW1wUmVuZGVyVHJlZVN1
cHBvcnRRdDo6c2V0TW9ja0RldmljZU9yaWVudGF0aW9uKHBhZ2UsIGNhblByb3ZpZGVBbHBoYSwg
YWxwaGEsIGNhblByb3ZpZGVCZXRhLCBiZXRhLCBjYW5Qcm92aWRlR2FtbWEsIGdhbW1hKTsKIH0K
IAogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKGJv
b2wgYWxsb3cpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggOGZjYWU4
OGNmMzk4NDQxZjU5ZmE3MDc1ZTM5Y2JiNjc3MjQxZDFhYS4uMjlmOWMwNWVjY2UxZTRlMDhhYjAx
YzMyZmU5OTc4ZjBlYmUxYTYzZSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDExLTEyLTE0ICBBbGV4YW5kZXIgRsOmcsO4eSAgPGFsZXhh
bmRlci5mYWVyb3lAbm9raWEuY29tPgorCisgICAgICAgIFtRdF0gRGV2aWNlT3JpZW50YXRpb25D
bGllbnRNb2NrUXQgc2hvdWxkIGJlIHJlbW92ZWQgaW4gZmF2b3Igb2YgRGV2aWNlT3JpZW50YXRp
b25DbGllbnRNb2NrCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NDQxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEJhc2VkIG9uIG9yaWdpbmFsIHBhdGNoIGJ5IEtlbm5ldGggQ2hyaXN0aWFuc2VuLgorCisg
ICAgICAgICogU291cmNlL2FwaS5wcmk6CisKIDIwMTEtMTItMTMgIFRvciBBcm5lIFZlc3Riw7gg
IDx0b3IuYXJuZS52ZXN0Ym9Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gR2V0IHJpZCBvZiBs
YXllcmluZyB2aW9sYXRpb25zIGluIGluY2x1ZGVzCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>