<?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>102578</bug_id>
          
          <creation_ts>2012-11-16 20:50:54 -0800</creation_ts>
          <short_desc>Apply DeviceController as parent class of DeviceMotionController.</short_desc>
          <delta_ts>2012-11-20 03:10:08 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          <dependson>96894</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kihong Kwon">kihong.kwon</reporter>
          <assigned_to name="Kihong Kwon">kihong.kwon</assigned_to>
          <cc>donggwan.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>769874</commentid>
    <comment_count>0</comment_count>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-11-16 20:50:54 -0800</bug_when>
    <thetext>DeviceOrientationController and DeviceMotionController have almost same structure.
Therefore DeviceController which is extracted as parent class of them is added.
In this patch, I apply DeviceController as parent class of DeviceMotionController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>769880</commentid>
    <comment_count>1</comment_count>
      <attachid>174802</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-11-16 21:15:01 -0800</bug_when>
    <thetext>Created attachment 174802
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770554</commentid>
    <comment_count>2</comment_count>
      <attachid>174802</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-11-19 03:25:33 -0800</bug_when>
    <thetext>Comment on attachment 174802
Patch

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

Looks reasonable to me but I&apos;m not familiar with this area. I&apos;d be happy if morrita@ could take a look.

&gt; Source/WebCore/ChangeLog:11
&gt; +        Therfore duplicated implementation can be removed.

Typo: Therefore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771378</commentid>
    <comment_count>3</comment_count>
      <attachid>174802</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-11-19 18:49:16 -0800</bug_when>
    <thetext>Comment on attachment 174802
Patch

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

Looks good. Please fix some nit-picky bits on ChangeLog before landing.

&gt; Source/WebCore/ChangeLog:8
&gt; +        DeviceController need to be applied as parent class of DeviceMotionController

s/need/needs/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771427</commentid>
    <comment_count>4</comment_count>
      <attachid>175125</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-11-19 20:07:59 -0800</bug_when>
    <thetext>Created attachment 175125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771703</commentid>
    <comment_count>5</comment_count>
      <attachid>175125</attachid>
    <who name="Kihong Kwon">kihong.kwon</who>
    <bug_when>2012-11-20 03:06:26 -0800</bug_when>
    <thetext>Comment on attachment 175125
Patch

Thank you for your review, morrita. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771706</commentid>
    <comment_count>6</comment_count>
      <attachid>175125</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 03:10:05 -0800</bug_when>
    <thetext>Comment on attachment 175125
Patch

Clearing flags on attachment: 175125

Committed r135268: &lt;http://trac.webkit.org/changeset/135268&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>771707</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-20 03:10:08 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>174802</attachid>
            <date>2012-11-16 21:15:01 -0800</date>
            <delta_ts>2012-11-19 20:06:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102578-20121117141254.patch</filename>
            <type>text/plain</type>
            <size>14884</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MDMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTU5NjY5YTM2NDZhODc5
MWZjYzNjY2EwZjYwMzBkMWMwZjQ2MTUzYS4uNWU0NTg2MGQxOWYzZTU4YzgyNTk2ZDFhMTdlOGVh
NDhmZDk0Y2YyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTExLTE2ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFwcGx5IERldmlj
ZUNvbnRyb2xsZXIgYXMgcGFyZW50IGNsYXNzIG9mIERldmljZU1vdGlvbkNvbnRyb2xsZXIuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI1NzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEZXZpY2VDb250
cm9sbGVyIG5lZWQgdG8gYmUgYXBwbGllZCBhcyBwYXJlbnQgY2xhc3Mgb2YgRGV2aWNlTW90aW9u
Q29udHJvbGxlcgorICAgICAgICBiZWNhdXNlIERldmljZUNvbnRyb2xsZXIgd2hpY2ggaXMgZXh0
cmFjdGVkIGFzIHBhcmVudCBjbGFzcyBvZgorICAgICAgICBEZXZpY2VNb3Rpb25Db250cm9sbGVy
IGFuZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIgaXMgYWxyZWFkeSBhZGRlZC4KKyAgICAg
ICAgVGhlcmZvcmUgZHVwbGljYXRlZCBpbXBsZW1lbnRhdGlvbiBjYW4gYmUgcmVtb3ZlZC4KKwor
ICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogZG9tL0Rldmlj
ZU1vdGlvbkNsaWVudC5oOgorICAgICAgICAqIGRvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OkRldmljZU1vdGlv
bkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6
ZGlkQ2hhbmdlRGV2aWNlTW90aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNv
bnRyb2xsZXI6OmRldmljZU1vdGlvbkNsaWVudCk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VN
b3Rpb25Db250cm9sbGVyOjpoYXNMYXN0RGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VN
b3Rpb25Db250cm9sbGVyOjpnZXRMYXN0RXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBk
b20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAg
IChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjp+RGV2aWNlTW90aW9uQ29udHJvbGxl
cik6CisgICAgICAgIChEZXZpY2VNb3Rpb25Db250cm9sbGVyKToKKyAgICAgICAgKiBkb20vRG9j
dW1lbnQuY3BwOgorICAgICAgICBSZW1vdmUgYWxsIGltcGxlbWVudGF0aW9ucyB3aGljaCBhcmUg
cmVsYXRlZCBEZXZpY2VPcmllbnRhdGlvbkV2bmV0IGFuZCBEZXZpY2VNb3Rpb25FdmVudC4KKyAg
ICAgICAgQmVjYXVzZSBEZXZpY2VDb250cm9sbGVyIGNoZWNrcyBzdXNwZW5kIGFuZCBzdG9wIHN0
YXR1cyBvZiBhY3RpdmUgZG9tIG9iamVjdCBiZWZvcmUgZGlzcGF0Y2hFdmVudC4KKyAgICAgICAg
KFdlYkNvcmU6OkRvY3VtZW50OjpzdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyk6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6cmVzdW1lQWN0aXZlRE9NT2JqZWN0cyk6CisgICAgICAgICogbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvdzo6YWRkRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIChXZWJD
b3JlOjpET01XaW5kb3c6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjpyZW1vdmVBbGxFdmVudExpc3RlbmVycyk6CisKIDIwMTItMTEtMTYgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHIxMzQ4MTcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlTW90aW9uQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xp
ZW50LmgKaW5kZXggMDg1OThjYzQwNGQ0NTJhN2IyYzIwYWYxZGI2OGNiYWJkOGUzODU2Ni4uODIy
YmZlZWMzMjkwODdjZWNhNTk5ZmYxMTQyYTk5MDMyNjBlYTQyNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VNb3Rpb25DbGllbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgU2Ftc3VuZyBFbGVjdHJvbmljcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjYsMTggKzI3LDE4IEBACiAjaWZuZGVmIERldmljZU1v
dGlvbkNsaWVudF9oCiAjZGVmaW5lIERldmljZU1vdGlvbkNsaWVudF9oCiAKKyNpbmNsdWRlICJE
ZXZpY2VDbGllbnQuaCIKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEZXZpY2VNb3Rp
b25Db250cm9sbGVyOwogY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKIGNsYXNzIFBhZ2U7CiAKLWNs
YXNzIERldmljZU1vdGlvbkNsaWVudCB7CitjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQgOiBwdWJs
aWMgRGV2aWNlQ2xpZW50IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5EZXZpY2VNb3Rpb25DbGll
bnQoKSB7fQogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVyKERldmljZU1vdGlvbkNvbnRy
b2xsZXIqKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHN0YXJ0VXBkYXRpbmcoKSA9IDA7Ci0gICAg
dmlydHVhbCB2b2lkIHN0b3BVcGRhdGluZygpID0gMDsKICAgICB2aXJ0dWFsIERldmljZU1vdGlv
bkRhdGEqIGxhc3RNb3Rpb24oKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRldmljZU1v
dGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9t
L0RldmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IGNlZGZhNGEyNjRmODIzMzc0YTZlMDFk
ZDI2OTZhZmE5MWI5ZDk0MjEuLjY2NjFlZGM3Zjc2ZGI4NDJjZTJkYWM3NzFiNTcwNzAwOWZmNWRh
YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAK
QEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3Mu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTI5LDIwICszMCwxNSBAQAogI2luY2x1ZGUgIkRldmljZU1vdGlvbkNsaWVudC5oIgogI2luY2x1
ZGUgIkRldmljZU1vdGlvbkRhdGEuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25FdmVudC5oIgor
I2luY2x1ZGUgIlBhZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyKERldmljZU1vdGlvbkNsaWVudCogY2xp
ZW50KQotICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwgbV90aW1lcih0aGlzLCAmRGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZCkKKyAgICA6IERldmljZUNvbnRyb2xsZXIoY2xp
ZW50KQogewogICAgIEFTU0VSVChtX2NsaWVudCk7Ci0gICAgbV9jbGllbnQtPnNldENvbnRyb2xs
ZXIodGhpcyk7Ci19Ci0KLURldmljZU1vdGlvbkNvbnRyb2xsZXI6On5EZXZpY2VNb3Rpb25Db250
cm9sbGVyKCkKLXsKLSAgICBtX2NsaWVudC0+ZGV2aWNlTW90aW9uQ29udHJvbGxlckRlc3Ryb3ll
ZCgpOworICAgIGRldmljZU1vdGlvbkNsaWVudCgpLT5zZXRDb250cm9sbGVyKHRoaXMpOwogfQog
CiBQYXNzT3duUHRyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IERldmljZU1vdGlvbkNvbnRyb2xs
ZXI6OmNyZWF0ZShEZXZpY2VNb3Rpb25DbGllbnQqIGNsaWVudCkKQEAgLTUwLDg5ICs0NiwyNCBA
QCBQYXNzT3duUHRyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IERldmljZU1vdGlvbkNvbnRyb2xs
ZXI6OmNyZWF0ZShEZXZpY2VNb3Rpb25DbAogICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGV2aWNl
TW90aW9uQ29udHJvbGxlcihjbGllbnQpKTsKIH0KIAotdm9pZCBEZXZpY2VNb3Rpb25Db250cm9s
bGVyOjp0aW1lckZpcmVkKFRpbWVyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+KiB0aW1lcikKLXsK
LSAgICBBU1NFUlRfVU5VU0VEKHRpbWVyLCB0aW1lciA9PSAmbV90aW1lcik7Ci0gICAgQVNTRVJU
KG1fY2xpZW50LT5sYXN0TW90aW9uKCkpOwotICAgIG1fdGltZXIuc3RvcCgpOwotICAgIAotICAg
IFJlZlB0cjxEZXZpY2VNb3Rpb25EYXRhPiBkZXZpY2VNb3Rpb25EYXRhID0gbV9jbGllbnQtPmxh
c3RNb3Rpb24oKTsKLSAgICBSZWZQdHI8RGV2aWNlTW90aW9uRXZlbnQ+IGV2ZW50ID0gRGV2aWNl
TW90aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQsIGRldmlj
ZU1vdGlvbkRhdGEuZ2V0KCkpOwotIAotICAgIFZlY3RvcjxSZWZQdHI8RE9NV2luZG93PiA+IGxp
c3RlbmVyc1ZlY3RvcjsKLSAgICBjb3B5VG9WZWN0b3IobV9uZXdMaXN0ZW5lcnMsIGxpc3RlbmVy
c1ZlY3Rvcik7Ci0gICAgbV9uZXdMaXN0ZW5lcnMuY2xlYXIoKTsKLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGxpc3RlbmVyc1ZlY3Rvci5zaXplKCk7ICsraSkKLSAgICAgICAgbGlzdGVuZXJz
VmVjdG9yW2ldLT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKLX0KLSAgICAKLXZvaWQgRGV2aWNlTW90
aW9uQ29udHJvbGxlcjo6YWRkTGlzdGVuZXIoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgLy8g
SWYgdGhlIGNsaWVudCBhbHJlYWR5IGhhcyBtb3Rpb24gZGF0YSwKLSAgICAvLyBpbW1lZGlhdGVs
eSB0cmlnZ2VyIGFuIGFzeW5jaHJvbm91cyByZXNwb25zZS4KLSAgICBpZiAobV9jbGllbnQtPmxh
c3RNb3Rpb24oKSkgewotICAgICAgICBtX25ld0xpc3RlbmVycy5hZGQod2luZG93KTsKLSAgICAg
ICAgaWYgKCFtX3RpbWVyLmlzQWN0aXZlKCkpCi0gICAgICAgICAgICBtX3RpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKLSAgICB9Ci0gICAgCi0gICAgYm9vbCB3YXNFbXB0eSA9IG1fbGlzdGVuZXJzLmlz
RW1wdHkoKTsKLSAgICBtX2xpc3RlbmVycy5hZGQod2luZG93KTsKLSAgICBpZiAod2FzRW1wdHkp
Ci0gICAgICAgIG1fY2xpZW50LT5zdGFydFVwZGF0aW5nKCk7Ci19Ci0KLXZvaWQgRGV2aWNlTW90
aW9uQ29udHJvbGxlcjo6cmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAg
bV9saXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7Ci0gICAgbV9zdXNwZW5kZWRMaXN0ZW5lcnMucmVt
b3ZlKHdpbmRvdyk7Ci0gICAgbV9uZXdMaXN0ZW5lcnMucmVtb3ZlKHdpbmRvdyk7Ci0gICAgaWYg
KG1fbGlzdGVuZXJzLmlzRW1wdHkoKSkKLSAgICAgICAgbV9jbGllbnQtPnN0b3BVcGRhdGluZygp
OwotfQotCi12b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUFsbExpc3RlbmVycyhE
T01XaW5kb3cqIHdpbmRvdykKK3ZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdl
RGV2aWNlTW90aW9uKERldmljZU1vdGlvbkRhdGEqIGRldmljZU1vdGlvbkRhdGEpCiB7Ci0gICAg
Ly8gTWF5IGJlIGNhbGxlZCB3aXRoIGEgRE9NV2luZG93IHRoYXQncyBub3QgYSBsaXN0ZW5lci4K
LSAgICBpZiAoIW1fbGlzdGVuZXJzLmNvbnRhaW5zKHdpbmRvdykpCi0gICAgICAgIHJldHVybjsK
LQotICAgIG1fbGlzdGVuZXJzLnJlbW92ZUFsbCh3aW5kb3cpOwotICAgIG1fc3VzcGVuZGVkTGlz
dGVuZXJzLnJlbW92ZUFsbCh3aW5kb3cpOwotICAgIG1fbmV3TGlzdGVuZXJzLnJlbW92ZSh3aW5k
b3cpOwotICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkpCi0gICAgICAgIG1fY2xpZW50LT5z
dG9wVXBkYXRpbmcoKTsKKyAgICBkaXNwYXRjaERldmljZUV2ZW50KERldmljZU1vdGlvbkV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50LCBkZXZpY2VNb3Rpb25EYXRh
KSk7CiB9CiAKLXZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6c3VzcGVuZEV2ZW50c0ZvckFs
bExpc3RlbmVycyhET01XaW5kb3cqIHdpbmRvdykKK0RldmljZU1vdGlvbkNsaWVudCogRGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6ZGV2aWNlTW90aW9uQ2xpZW50KCkKIHsKLSAgICBpZiAoIW1fbGlz
dGVuZXJzLmNvbnRhaW5zKHdpbmRvdykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGludCBjb3Vu
dCA9IG1fbGlzdGVuZXJzLmNvdW50KHdpbmRvdyk7Ci0gICAgcmVtb3ZlQWxsTGlzdGVuZXJzKHdp
bmRvdyk7Ci0gICAgd2hpbGUgKGNvdW50LS0pCi0gICAgICAgIG1fc3VzcGVuZGVkTGlzdGVuZXJz
LmFkZCh3aW5kb3cpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZXZpY2VNb3Rpb25DbGllbnQq
PihtX2NsaWVudCk7CiB9CiAKLXZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6cmVzdW1lRXZl
bnRzRm9yQWxsTGlzdGVuZXJzKERPTVdpbmRvdyogd2luZG93KQorYm9vbCBEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjpoYXNMYXN0RGF0YSgpCiB7Ci0gICAgaWYgKCFtX3N1c3BlbmRlZExpc3RlbmVy
cy5jb250YWlucyh3aW5kb3cpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpbnQgY291bnQgPSBt
X3N1c3BlbmRlZExpc3RlbmVycy5jb3VudCh3aW5kb3cpOwotICAgIG1fc3VzcGVuZGVkTGlzdGVu
ZXJzLnJlbW92ZUFsbCh3aW5kb3cpOwotICAgIHdoaWxlIChjb3VudC0tKQotICAgICAgICBhZGRM
aXN0ZW5lcih3aW5kb3cpOworICAgIHJldHVybiBkZXZpY2VNb3Rpb25DbGllbnQoKS0+bGFzdE1v
dGlvbigpOwogfQogCi12b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmRpZENoYW5nZURldmlj
ZU1vdGlvbihEZXZpY2VNb3Rpb25EYXRhKiBkZXZpY2VNb3Rpb25EYXRhKQorUGFzc1JlZlB0cjxF
dmVudD4gRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6Z2V0TGFzdEV2ZW50KCkKIHsKLSAgICBSZWZQ
dHI8RGV2aWNlTW90aW9uRXZlbnQ+IGV2ZW50ID0gRGV2aWNlTW90aW9uRXZlbnQ6OmNyZWF0ZShl
dmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQsIGRldmljZU1vdGlvbkRhdGEpOwotICAgIFZl
Y3RvcjxSZWZQdHI8RE9NV2luZG93PiA+IGxpc3RlbmVyc1ZlY3RvcjsKLSAgICBjb3B5VG9WZWN0
b3IobV9saXN0ZW5lcnMsIGxpc3RlbmVyc1ZlY3Rvcik7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7
IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgpOyArK2kpCi0gICAgICAgIGxpc3RlbmVyc1ZlY3Rv
cltpXS0+ZGlzcGF0Y2hFdmVudChldmVudCk7CisgICAgcmV0dXJuIERldmljZU1vdGlvbkV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50LCBkZXZpY2VNb3Rpb25DbGll
bnQoKS0+bGFzdE1vdGlvbigpKTsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBEZXZpY2VNb3Rp
b25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCkBAIC0xNDEsNiArNzIsMTEgQEAgY29uc3Qg
QXRvbWljU3RyaW5nJiBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgpCiAg
ICAgcmV0dXJuIG5hbWU7CiB9CiAKK0RldmljZU1vdGlvbkNvbnRyb2xsZXIqIERldmljZU1vdGlv
bkNvbnRyb2xsZXI6OmZyb20oUGFnZSogcGFnZSkKK3sKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8
RGV2aWNlTW90aW9uQ29udHJvbGxlcio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3Vw
cGxlbWVudE5hbWUoKSkpOworfQorCiBib29sIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmlzQWN0
aXZlQXQoUGFnZSogcGFnZSkKIHsKICAgICBpZiAoRGV2aWNlTW90aW9uQ29udHJvbGxlciogc2Vs
ZiA9IERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaAppbmRleCBkNGFhZDA2YWNjZmM1OTBlYTE0ZjQ5
Njg2ZTcyNThjZmNkNWFjYWFkLi5lM2Q3MmE5ODJiN2I4OWY2ZDdlNzUwYTU0ZDBhMzhmMzhkZTdl
Y2EyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ29udHJvbGxl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2
LDQ5ICsyNywzMSBAQAogI2lmbmRlZiBEZXZpY2VNb3Rpb25Db250cm9sbGVyX2gKICNkZWZpbmUg
RGV2aWNlTW90aW9uQ29udHJvbGxlcl9oCiAKLSNpbmNsdWRlICJET01XaW5kb3cuaCIKLSNpbmNs
dWRlICJQYWdlLmgiCi0jaW5jbHVkZSAiVGltZXIuaCIKLSNpbmNsdWRlIDx3dGYvSGFzaENvdW50
ZWRTZXQuaD4KKyNpbmNsdWRlICJEZXZpY2VDb250cm9sbGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgRGV2aWNlTW90aW9uRGF0YTsKIGNsYXNzIERldmljZU1vdGlvbkNsaWVu
dDsKK2NsYXNzIERldmljZU1vdGlvbkRhdGE7CiAKLWNsYXNzIERldmljZU1vdGlvbkNvbnRyb2xs
ZXIgOiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7CitjbGFzcyBEZXZpY2VNb3Rpb25Db250cm9s
bGVyIDogcHVibGljIERldmljZUNvbnRyb2xsZXIgewogcHVibGljOgotICAgIH5EZXZpY2VNb3Rp
b25Db250cm9sbGVyKCk7CisgICAgfkRldmljZU1vdGlvbkNvbnRyb2xsZXIoKSB7IH07CiAKICAg
ICBzdGF0aWMgUGFzc093blB0cjxEZXZpY2VNb3Rpb25Db250cm9sbGVyPiBjcmVhdGUoRGV2aWNl
TW90aW9uQ2xpZW50Kik7CiAKLSAgICB2b2lkIGFkZExpc3RlbmVyKERPTVdpbmRvdyopOwotICAg
IHZvaWQgcmVtb3ZlTGlzdGVuZXIoRE9NV2luZG93Kik7Ci0gICAgdm9pZCByZW1vdmVBbGxMaXN0
ZW5lcnMoRE9NV2luZG93Kik7Ci0KLSAgICB2b2lkIHN1c3BlbmRFdmVudHNGb3JBbGxMaXN0ZW5l
cnMoRE9NV2luZG93Kik7Ci0gICAgdm9pZCByZXN1bWVFdmVudHNGb3JBbGxMaXN0ZW5lcnMoRE9N
V2luZG93Kik7Ci0KICAgICB2b2lkIGRpZENoYW5nZURldmljZU1vdGlvbihEZXZpY2VNb3Rpb25E
YXRhKik7CisgICAgRGV2aWNlTW90aW9uQ2xpZW50KiBkZXZpY2VNb3Rpb25DbGllbnQoKTsKIAot
ICAgIGJvb2wgaXNBY3RpdmUoKSB7IHJldHVybiAhbV9saXN0ZW5lcnMuaXNFbXB0eSgpOyB9Cisg
ICAgdmlydHVhbCBib29sIGhhc0xhc3REYXRhKCkgT1ZFUlJJREU7CisgICAgdmlydHVhbCBQYXNz
UmVmUHRyPEV2ZW50PiBnZXRMYXN0RXZlbnQoKSBPVkVSUklERTsKIAogICAgIHN0YXRpYyBjb25z
dCBBdG9taWNTdHJpbmcmIHN1cHBsZW1lbnROYW1lKCk7Ci0gICAgc3RhdGljIERldmljZU1vdGlv
bkNvbnRyb2xsZXIqIGZyb20oUGFnZSogcGFnZSkgeyByZXR1cm4gc3RhdGljX2Nhc3Q8RGV2aWNl
TW90aW9uQ29udHJvbGxlcio+KFN1cHBsZW1lbnQ8UGFnZT46OmZyb20ocGFnZSwgc3VwcGxlbWVu
dE5hbWUoKSkpOyB9CisgICAgc3RhdGljIERldmljZU1vdGlvbkNvbnRyb2xsZXIqIGZyb20oUGFn
ZSopOwogICAgIHN0YXRpYyBib29sIGlzQWN0aXZlQXQoUGFnZSopOwogCiBwcml2YXRlOgogICAg
IGV4cGxpY2l0IERldmljZU1vdGlvbkNvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ2xpZW50Kik7Ci0K
LSAgICB2b2lkIHRpbWVyRmlyZWQoVGltZXI8RGV2aWNlTW90aW9uQ29udHJvbGxlcj4qKTsKLSAg
ICAKLSAgICBEZXZpY2VNb3Rpb25DbGllbnQqIG1fY2xpZW50OwotICAgIHR5cGVkZWYgSGFzaENv
dW50ZWRTZXQ8UmVmUHRyPERPTVdpbmRvdz4gPiBMaXN0ZW5lcnNDb3VudGVkU2V0OwotICAgIExp
c3RlbmVyc0NvdW50ZWRTZXQgbV9saXN0ZW5lcnM7Ci0gICAgTGlzdGVuZXJzQ291bnRlZFNldCBt
X3N1c3BlbmRlZExpc3RlbmVyczsKLSAgICB0eXBlZGVmIEhhc2hTZXQ8UmVmUHRyPERPTVdpbmRv
dz4gPiBMaXN0ZW5lcnNTZXQ7Ci0gICAgTGlzdGVuZXJzU2V0IG1fbmV3TGlzdGVuZXJzOwotICAg
IFRpbWVyPERldmljZU1vdGlvbkNvbnRyb2xsZXI+IG1fdGltZXI7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCBmZDY3YTg4NmE5M2RiMTc0
NGNjNmEyOTFhMGFkMGQ4OTg2NTBlZDJkLi5kYzRiZWVkN2EyY2Q4NzlmZDllYjlhMGI2N2Y2N2Vj
NTRhZDI5NTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTUxLDggKzUxLDYgQEAKICNp
bmNsdWRlICJET01TZWxlY3Rpb24uaCIKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNpbmNsdWRl
ICJEYXRlQ29tcG9uZW50cy5oIgotI2luY2x1ZGUgIkRldmljZU1vdGlvbkNvbnRyb2xsZXIuaCIK
LSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJEb2N1
bWVudEV2ZW50UXVldWUuaCIKICNpbmNsdWRlICJEb2N1bWVudEZyYWdtZW50LmgiCiAjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkZXIuaCIKQEAgLTIxNjksMjcgKzIxNjcsMTEgQEAgdm9pZCBEb2N1bWVu
dDo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogdm9pZCBEb2N1bWVudDo6c3VzcGVuZEFjdGl2
ZURPTU9iamVjdHMoQWN0aXZlRE9NT2JqZWN0OjpSZWFzb25Gb3JTdXNwZW5zaW9uIHdoeSkKIHsK
ICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpzdXNwZW5kQWN0aXZlRE9NT2JqZWN0cyh3aHkp
OwotCi0jaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICBpZiAoIXBhZ2UoKSkKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgaWYgKERldmljZU1vdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xs
ZXIgPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCi0gICAgICAgIGNvbnRy
b2xsZXItPnN1c3BlbmRFdmVudHNGb3JBbGxMaXN0ZW5lcnMoZG9tV2luZG93KCkpOwotI2VuZGlm
CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKQogewogICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMoKTsKLQotI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgaWYgKCFwYWdlKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGlmIChEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQotICAgICAgICBjb250cm9sbGVyLT5yZXN1
bWVFdmVudHNGb3JBbGxMaXN0ZW5lcnMoZG9tV2luZG93KCkpOwotI2VuZGlmCiB9CiAKIHZvaWQg
RG9jdW1lbnQ6OmNsZWFyQVhPYmplY3RDYWNoZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKaW5kZXggMmEwMWNiMWU4NmI0NjQ2NjYzY2IzZjM1ZjRkMGNhYmY1YThkZTUwYi4uODY5
ZjkwZjU0YTc3MjhlOTBiMjliYzkxZDJjMjM5OGViNmNhZjg5YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtNTg2LDggKzU4Niw2IEBAIHB1YmxpYzoKIGNsYXNzIEVtcHR5
RGV2aWNlTW90aW9uQ2xpZW50IDogcHVibGljIERldmljZU1vdGlvbkNsaWVudCB7CiBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldENvbnRyb2xsZXIoRGV2aWNlTW90aW9uQ29udHJvbGxlciop
IHsgfQotICAgIHZpcnR1YWwgdm9pZCBzdGFydFVwZGF0aW5nKCkgeyB9Ci0gICAgdmlydHVhbCB2
b2lkIHN0b3BVcGRhdGluZygpIHsgfQogICAgIHZpcnR1YWwgRGV2aWNlTW90aW9uRGF0YSogbGFz
dE1vdGlvbigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGV2aWNlTW90
aW9uQ29udHJvbGxlckRlc3Ryb3llZCgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRE9NV2luZG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNw
cAppbmRleCBiODRiYjAyNWM2NjBjMGNhMzg3N2EzZjcwNjEyZGE5M2FhMmYxNDgwLi4zZDgyNTk5
ZmJhYTgyM2E2ZmFmNjBhZDBiNmQ5Y2IzNTMwYjkwYTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuY3BwCkBAIC0xNTk2LDcgKzE1OTYsNyBAQCBib29sIERPTVdpbmRvdzo6YWRkRXZlbnRMaXN0
ZW5lcihjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudAogI2lm
IEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2
ZW50TmFtZXMoKS5kZXZpY2Vtb3Rpb25FdmVudCAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpk
ZXZpY2VNb3Rpb25FbmFibGVkKCkpIHsKICAgICAgICAgaWYgKERldmljZU1vdGlvbkNvbnRyb2xs
ZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCi0g
ICAgICAgICAgICBjb250cm9sbGVyLT5hZGRMaXN0ZW5lcih0aGlzKTsKKyAgICAgICAgICAgIGNv
bnRyb2xsZXItPmFkZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CiAgICAgfSBlbHNlIGlmIChl
dmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0aW9uRXZlbnQgJiYgUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlT3JpZW50YXRpb25FbmFibGVkKCkpIHsKICAgICAgICAg
aWYgKERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQogICAgICAgICAgICAgY29udHJvbGxlci0+
YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKQEAgLTE2MjUsNyArMTYyNSw3IEBAIGJvb2wg
RE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBFdmVudExpc3RlbmVyCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKICAgICBl
bHNlIGlmIChldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50KSB7CiAg
ICAgICAgIGlmIChEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlTW90
aW9uQ29udHJvbGxlcjo6ZnJvbShwYWdlKCkpKQotICAgICAgICAgICAgY29udHJvbGxlci0+cmVt
b3ZlTGlzdGVuZXIodGhpcyk7CisgICAgICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVEZXZpY2VF
dmVudExpc3RlbmVyKHRoaXMpOwogICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFt
ZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50KSB7CiAgICAgICAgIGlmIChEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6
OmZyb20ocGFnZSgpKSkKICAgICAgICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZURldmljZUV2ZW50
TGlzdGVuZXIodGhpcyk7CkBAIC0xNjgzLDcgKzE2ODMsNyBAQCB2b2lkIERPTVdpbmRvdzo6cmVt
b3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKQogCiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikK
ICAgICBpZiAoRGV2aWNlTW90aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZU1vdGlv
bkNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKLSAgICAgICAgY29udHJvbGxlci0+cmVtb3ZlQWxs
TGlzdGVuZXJzKHRoaXMpOworICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVBbGxEZXZpY2VFdmVu
dExpc3RlbmVycyh0aGlzKTsKICAgICBpZiAoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBj
b250cm9sbGVyID0gRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCiAg
ICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZUFsbERldmljZUV2ZW50TGlzdGVuZXJzKHRoaXMpOwog
I2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>175125</attachid>
            <date>2012-11-19 20:07:59 -0800</date>
            <delta_ts>2012-11-20 03:10:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102578-20121120130547.patch</filename>
            <type>text/plain</type>
            <size>14909</size>
            <attacher name="Kihong Kwon">kihong.kwon</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM1MjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjJiYWY1NjllZGIxMDRi
ZjVmMmRmNGE3YTYzMzZlZGVjZjY3ZWZmOC4uNzE5NzAwMGIwMzI0YzQ3NDhmZDViY2ZkMWFjMzkx
N2Y4MTlkNjZmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQxIEBACisyMDEyLTExLTE5ICBLaWhv
bmcgS3dvbiAgPGtpaG9uZy5rd29uQHNhbXN1bmcuY29tPgorCisgICAgICAgIEFwcGx5IERldmlj
ZUNvbnRyb2xsZXIgYXMgcGFyZW50IGNsYXNzIG9mIERldmljZU1vdGlvbkNvbnRyb2xsZXIuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI1NzgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBIYWppbWUgTW9yaXRhLgorCisgICAgICAgIERldmljZUNvbnRy
b2xsZXIgbmVlZHMgdG8gYmUgYXBwbGllZCBhcyBwYXJlbnQgY2xhc3Mgb2YgRGV2aWNlTW90aW9u
Q29udHJvbGxlcgorICAgICAgICBiZWNhdXNlIERldmljZUNvbnRyb2xsZXIgd2hpY2ggaXMgZXh0
cmFjdGVkIGFzIHBhcmVudCBjbGFzcyBvZgorICAgICAgICBEZXZpY2VNb3Rpb25Db250cm9sbGVy
IGFuZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIgaXMgYWxyZWFkeSBhZGRlZC4KKyAgICAg
ICAgVGhlcmVmb3JlIGR1cGxpY2F0ZWQgaW1wbGVtZW50YXRpb24gY2FuIGJlIHJlbW92ZWQuCisK
KyAgICAgICAgQ292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIGRvbS9EZXZp
Y2VNb3Rpb25DbGllbnQuaDoKKyAgICAgICAgKiBkb20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpEZXZpY2VNb3Rp
b25Db250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkRldmljZU1vdGlvbkNvbnRyb2xsZXI6
OmRpZENoYW5nZURldmljZU1vdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjpkZXZpY2VNb3Rpb25DbGllbnQpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6aGFzTGFzdERhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNl
TW90aW9uQ29udHJvbGxlcjo6Z2V0TGFzdEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU1vdGlvbkNvbnRyb2xsZXI6OmZyb20pOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICog
ZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAoV2ViQ29yZTo6RGV2aWNlTW90aW9uQ29udHJvbGxlcjo6fkRldmljZU1vdGlvbkNvbnRyb2xs
ZXIpOgorICAgICAgICAoRGV2aWNlTW90aW9uQ29udHJvbGxlcik6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgUmVtb3ZlIGFsbCBpbXBsZW1lbnRhdGlvbnMgd2hpY2ggYXJl
IHJlbGF0ZWQgRGV2aWNlT3JpZW50YXRpb25Fdm5ldCBhbmQgRGV2aWNlTW90aW9uRXZlbnQuCisg
ICAgICAgIEJlY2F1c2UgRGV2aWNlQ29udHJvbGxlciBjaGVja3Mgc3VzcGVuZCBhbmQgc3RvcCBz
dGF0dXMgb2YgYWN0aXZlIGRvbSBvYmplY3QgYmVmb3JlIGRpc3BhdGNoRXZlbnQuCisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c3VzcGVuZEFjdGl2ZURPTU9iamVjdHMpOgorICAgICAgICAo
V2ViQ29yZTo6RG9jdW1lbnQ6OnJlc3VtZUFjdGl2ZURPTU9iamVjdHMpOgorICAgICAgICAqIGxv
YWRlci9FbXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RE9NV2luZG93OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OkRPTVdpbmRvdzo6cmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMpOgorCiAyMDEyLTExLTE5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbiBDb2RlR2VuZXJh
dG9ySlMucG0gd2Ugc2hvdWxkIHJlbmFtZSAkZGF0YU5vZGUgdG8gJGludGVyZmFjZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0RldmljZU1vdGlvbkNsaWVudC5oCmluZGV4IDA4NTk4Y2M0MDRkNDUyYTdiMmMy
MGFmMWRiNjhjYmFiZDhlMzg1NjYuLjgyMmJmZWVjMzI5MDg3Y2VjYTU5OWZmMTE0MmE5OTAzMjYw
ZWE0MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25DbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlTW90aW9uQ2xpZW50LmgKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcgRWxlY3Ryb25pY3MuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE4ICsy
NywxOCBAQAogI2lmbmRlZiBEZXZpY2VNb3Rpb25DbGllbnRfaAogI2RlZmluZSBEZXZpY2VNb3Rp
b25DbGllbnRfaAogCisjaW5jbHVkZSAiRGV2aWNlQ2xpZW50LmgiCisKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlcjsKIGNsYXNzIERldmljZU1vdGlv
bkRhdGE7CiBjbGFzcyBQYWdlOwogCi1jbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQgeworY2xhc3Mg
RGV2aWNlTW90aW9uQ2xpZW50IDogcHVibGljIERldmljZUNsaWVudCB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+RGV2aWNlTW90aW9uQ2xpZW50KCkge30KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dHJvbGxlcihEZXZpY2VNb3Rpb25Db250cm9sbGVyKikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBz
dGFydFVwZGF0aW5nKCkgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSA9IDA7
CiAgICAgdmlydHVhbCBEZXZpY2VNb3Rpb25EYXRhKiBsYXN0TW90aW9uKCkgY29uc3QgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VNb3Rpb25Db250cm9sbGVyRGVzdHJveWVkKCkgPSAwOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmNwcAppbmRl
eCBjZWRmYTRhMjY0ZjgyMzM3NGE2ZTAxZGQyNjk2YWZhOTFiOWQ5NDIxLi42NjYxZWRjN2Y3NmRi
ODQyY2UyZGFjNzcxYjU3MDcwMDlmZjVkYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRGV2aWNlTW90aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU1vdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdo
dCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOSwyMCArMzAsMTUgQEAKICNpbmNsdWRlICJEZXZp
Y2VNb3Rpb25DbGllbnQuaCIKICNpbmNsdWRlICJEZXZpY2VNb3Rpb25EYXRhLmgiCiAjaW5jbHVk
ZSAiRGV2aWNlTW90aW9uRXZlbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAogRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6RGV2aWNlTW90aW9uQ29udHJvbGxl
cihEZXZpY2VNb3Rpb25DbGllbnQqIGNsaWVudCkKLSAgICA6IG1fY2xpZW50KGNsaWVudCkKLSAg
ICAsIG1fdGltZXIodGhpcywgJkRldmljZU1vdGlvbkNvbnRyb2xsZXI6OnRpbWVyRmlyZWQpCisg
ICAgOiBEZXZpY2VDb250cm9sbGVyKGNsaWVudCkKIHsKICAgICBBU1NFUlQobV9jbGllbnQpOwot
ICAgIG1fY2xpZW50LT5zZXRDb250cm9sbGVyKHRoaXMpOwotfQotCi1EZXZpY2VNb3Rpb25Db250
cm9sbGVyOjp+RGV2aWNlTW90aW9uQ29udHJvbGxlcigpCi17Ci0gICAgbV9jbGllbnQtPmRldmlj
ZU1vdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKTsKKyAgICBkZXZpY2VNb3Rpb25DbGllbnQoKS0+
c2V0Q29udHJvbGxlcih0aGlzKTsKIH0KIAogUGFzc093blB0cjxEZXZpY2VNb3Rpb25Db250cm9s
bGVyPiBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpjcmVhdGUoRGV2aWNlTW90aW9uQ2xpZW50KiBj
bGllbnQpCkBAIC01MCw4OSArNDYsMjQgQEAgUGFzc093blB0cjxEZXZpY2VNb3Rpb25Db250cm9s
bGVyPiBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpjcmVhdGUoRGV2aWNlTW90aW9uQ2wKICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IERldmljZU1vdGlvbkNvbnRyb2xsZXIoY2xpZW50KSk7CiB9CiAK
LXZvaWQgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6dGltZXJGaXJlZChUaW1lcjxEZXZpY2VNb3Rp
b25Db250cm9sbGVyPiogdGltZXIpCi17Ci0gICAgQVNTRVJUX1VOVVNFRCh0aW1lciwgdGltZXIg
PT0gJm1fdGltZXIpOwotICAgIEFTU0VSVChtX2NsaWVudC0+bGFzdE1vdGlvbigpKTsKLSAgICBt
X3RpbWVyLnN0b3AoKTsKLSAgICAKLSAgICBSZWZQdHI8RGV2aWNlTW90aW9uRGF0YT4gZGV2aWNl
TW90aW9uRGF0YSA9IG1fY2xpZW50LT5sYXN0TW90aW9uKCk7Ci0gICAgUmVmUHRyPERldmljZU1v
dGlvbkV2ZW50PiBldmVudCA9IERldmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygp
LmRldmljZW1vdGlvbkV2ZW50LCBkZXZpY2VNb3Rpb25EYXRhLmdldCgpKTsKLSAKLSAgICBWZWN0
b3I8UmVmUHRyPERPTVdpbmRvdz4gPiBsaXN0ZW5lcnNWZWN0b3I7Ci0gICAgY29weVRvVmVjdG9y
KG1fbmV3TGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3IpOwotICAgIG1fbmV3TGlzdGVuZXJzLmNs
ZWFyKCk7Ci0gICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0ZW5lcnNWZWN0b3Iuc2l6ZSgp
OyArK2kpCi0gICAgICAgIGxpc3RlbmVyc1ZlY3RvcltpXS0+ZGlzcGF0Y2hFdmVudChldmVudCk7
Ci19Ci0gICAgCi12b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmFkZExpc3RlbmVyKERPTVdp
bmRvdyogd2luZG93KQotewotICAgIC8vIElmIHRoZSBjbGllbnQgYWxyZWFkeSBoYXMgbW90aW9u
IGRhdGEsCi0gICAgLy8gaW1tZWRpYXRlbHkgdHJpZ2dlciBhbiBhc3luY2hyb25vdXMgcmVzcG9u
c2UuCi0gICAgaWYgKG1fY2xpZW50LT5sYXN0TW90aW9uKCkpIHsKLSAgICAgICAgbV9uZXdMaXN0
ZW5lcnMuYWRkKHdpbmRvdyk7Ci0gICAgICAgIGlmICghbV90aW1lci5pc0FjdGl2ZSgpKQotICAg
ICAgICAgICAgbV90aW1lci5zdGFydE9uZVNob3QoMCk7Ci0gICAgfQotICAgIAotICAgIGJvb2wg
d2FzRW1wdHkgPSBtX2xpc3RlbmVycy5pc0VtcHR5KCk7Ci0gICAgbV9saXN0ZW5lcnMuYWRkKHdp
bmRvdyk7Ci0gICAgaWYgKHdhc0VtcHR5KQotICAgICAgICBtX2NsaWVudC0+c3RhcnRVcGRhdGlu
ZygpOwotfQotCi12b2lkIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OnJlbW92ZUxpc3RlbmVyKERP
TVdpbmRvdyogd2luZG93KQotewotICAgIG1fbGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOwotICAg
IG1fc3VzcGVuZGVkTGlzdGVuZXJzLnJlbW92ZSh3aW5kb3cpOwotICAgIG1fbmV3TGlzdGVuZXJz
LnJlbW92ZSh3aW5kb3cpOwotICAgIGlmIChtX2xpc3RlbmVycy5pc0VtcHR5KCkpCi0gICAgICAg
IG1fY2xpZW50LT5zdG9wVXBkYXRpbmcoKTsKLX0KLQotdm9pZCBEZXZpY2VNb3Rpb25Db250cm9s
bGVyOjpyZW1vdmVBbGxMaXN0ZW5lcnMoRE9NV2luZG93KiB3aW5kb3cpCit2b2lkIERldmljZU1v
dGlvbkNvbnRyb2xsZXI6OmRpZENoYW5nZURldmljZU1vdGlvbihEZXZpY2VNb3Rpb25EYXRhKiBk
ZXZpY2VNb3Rpb25EYXRhKQogewotICAgIC8vIE1heSBiZSBjYWxsZWQgd2l0aCBhIERPTVdpbmRv
dyB0aGF0J3Mgbm90IGEgbGlzdGVuZXIuCi0gICAgaWYgKCFtX2xpc3RlbmVycy5jb250YWlucyh3
aW5kb3cpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX2xpc3RlbmVycy5yZW1vdmVBbGwod2lu
ZG93KTsKLSAgICBtX3N1c3BlbmRlZExpc3RlbmVycy5yZW1vdmVBbGwod2luZG93KTsKLSAgICBt
X25ld0xpc3RlbmVycy5yZW1vdmUod2luZG93KTsKLSAgICBpZiAobV9saXN0ZW5lcnMuaXNFbXB0
eSgpKQotICAgICAgICBtX2NsaWVudC0+c3RvcFVwZGF0aW5nKCk7CisgICAgZGlzcGF0Y2hEZXZp
Y2VFdmVudChEZXZpY2VNb3Rpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kZXZpY2Vtb3Rp
b25FdmVudCwgZGV2aWNlTW90aW9uRGF0YSkpOwogfQogCi12b2lkIERldmljZU1vdGlvbkNvbnRy
b2xsZXI6OnN1c3BlbmRFdmVudHNGb3JBbGxMaXN0ZW5lcnMoRE9NV2luZG93KiB3aW5kb3cpCitE
ZXZpY2VNb3Rpb25DbGllbnQqIERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmRldmljZU1vdGlvbkNs
aWVudCgpCiB7Ci0gICAgaWYgKCFtX2xpc3RlbmVycy5jb250YWlucyh3aW5kb3cpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBpbnQgY291bnQgPSBtX2xpc3RlbmVycy5jb3VudCh3aW5kb3cpOwot
ICAgIHJlbW92ZUFsbExpc3RlbmVycyh3aW5kb3cpOwotICAgIHdoaWxlIChjb3VudC0tKQotICAg
ICAgICBtX3N1c3BlbmRlZExpc3RlbmVycy5hZGQod2luZG93KTsKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8RGV2aWNlTW90aW9uQ2xpZW50Kj4obV9jbGllbnQpOwogfQogCi12b2lkIERldmljZU1v
dGlvbkNvbnRyb2xsZXI6OnJlc3VtZUV2ZW50c0ZvckFsbExpc3RlbmVycyhET01XaW5kb3cqIHdp
bmRvdykKK2Jvb2wgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6aGFzTGFzdERhdGEoKQogewotICAg
IGlmICghbV9zdXNwZW5kZWRMaXN0ZW5lcnMuY29udGFpbnMod2luZG93KSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgaW50IGNvdW50ID0gbV9zdXNwZW5kZWRMaXN0ZW5lcnMuY291bnQod2luZG93
KTsKLSAgICBtX3N1c3BlbmRlZExpc3RlbmVycy5yZW1vdmVBbGwod2luZG93KTsKLSAgICB3aGls
ZSAoY291bnQtLSkKLSAgICAgICAgYWRkTGlzdGVuZXIod2luZG93KTsKKyAgICByZXR1cm4gZGV2
aWNlTW90aW9uQ2xpZW50KCktPmxhc3RNb3Rpb24oKTsKIH0KIAotdm9pZCBEZXZpY2VNb3Rpb25D
b250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VNb3Rpb24oRGV2aWNlTW90aW9uRGF0YSogZGV2aWNl
TW90aW9uRGF0YSkKK1Bhc3NSZWZQdHI8RXZlbnQ+IERldmljZU1vdGlvbkNvbnRyb2xsZXI6Omdl
dExhc3RFdmVudCgpCiB7Ci0gICAgUmVmUHRyPERldmljZU1vdGlvbkV2ZW50PiBldmVudCA9IERl
dmljZU1vdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW1vdGlvbkV2ZW50LCBk
ZXZpY2VNb3Rpb25EYXRhKTsKLSAgICBWZWN0b3I8UmVmUHRyPERPTVdpbmRvdz4gPiBsaXN0ZW5l
cnNWZWN0b3I7Ci0gICAgY29weVRvVmVjdG9yKG1fbGlzdGVuZXJzLCBsaXN0ZW5lcnNWZWN0b3Ip
OwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlzdGVuZXJzVmVjdG9yLnNpemUoKTsgKytp
KQotICAgICAgICBsaXN0ZW5lcnNWZWN0b3JbaV0tPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAg
IHJldHVybiBEZXZpY2VNb3Rpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5kZXZpY2Vtb3Rp
b25FdmVudCwgZGV2aWNlTW90aW9uQ2xpZW50KCktPmxhc3RNb3Rpb24oKSk7CiB9CiAKIGNvbnN0
IEF0b21pY1N0cmluZyYgRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKQpA
QCAtMTQxLDYgKzcyLDExIEBAIGNvbnN0IEF0b21pY1N0cmluZyYgRGV2aWNlTW90aW9uQ29udHJv
bGxlcjo6c3VwcGxlbWVudE5hbWUoKQogICAgIHJldHVybiBuYW1lOwogfQogCitEZXZpY2VNb3Rp
b25Db250cm9sbGVyKiBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpmcm9tKFBhZ2UqIHBhZ2UpCit7
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PERldmljZU1vdGlvbkNvbnRyb2xsZXIqPihTdXBwbGVt
ZW50PFBhZ2U+Ojpmcm9tKHBhZ2UsIHN1cHBsZW1lbnROYW1lKCkpKTsKK30KKwogYm9vbCBEZXZp
Y2VNb3Rpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0KFBhZ2UqIHBhZ2UpCiB7CiAgICAgaWYgKERl
dmljZU1vdGlvbkNvbnRyb2xsZXIqIHNlbGYgPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpmcm9t
KHBhZ2UpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU1vdGlvbkNvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VNb3Rpb25Db250cm9sbGVyLmgKaW5k
ZXggZDRhYWQwNmFjY2ZjNTkwZWExNGY0OTY4NmU3MjU4Y2ZjZDVhY2FhZC4uZTNkNzJhOTgyYjdi
ODlmNmQ3ZTc1MGE1NGQwYTM4ZjM4ZGU3ZWNhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZU1vdGlvbkNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2
aWNlTW90aW9uQ29udHJvbGxlci5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MiBTYW1zdW5nIEVsZWN0cm9uaWNzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0yNiw0OSArMjcsMzEgQEAKICNpZm5kZWYgRGV2aWNlTW90
aW9uQ29udHJvbGxlcl9oCiAjZGVmaW5lIERldmljZU1vdGlvbkNvbnRyb2xsZXJfaAogCi0jaW5j
bHVkZSAiRE9NV2luZG93LmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlRpbWVyLmgi
Ci0jaW5jbHVkZSA8d3RmL0hhc2hDb3VudGVkU2V0Lmg+CisjaW5jbHVkZSAiRGV2aWNlQ29udHJv
bGxlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIERldmljZU1vdGlvbkRhdGE7
CiBjbGFzcyBEZXZpY2VNb3Rpb25DbGllbnQ7CitjbGFzcyBEZXZpY2VNb3Rpb25EYXRhOwogCi1j
bGFzcyBEZXZpY2VNb3Rpb25Db250cm9sbGVyIDogcHVibGljIFN1cHBsZW1lbnQ8UGFnZT4gewor
Y2xhc3MgRGV2aWNlTW90aW9uQ29udHJvbGxlciA6IHB1YmxpYyBEZXZpY2VDb250cm9sbGVyIHsK
IHB1YmxpYzoKLSAgICB+RGV2aWNlTW90aW9uQ29udHJvbGxlcigpOworICAgIH5EZXZpY2VNb3Rp
b25Db250cm9sbGVyKCkgeyB9OwogCiAgICAgc3RhdGljIFBhc3NPd25QdHI8RGV2aWNlTW90aW9u
Q29udHJvbGxlcj4gY3JlYXRlKERldmljZU1vdGlvbkNsaWVudCopOwogCi0gICAgdm9pZCBhZGRM
aXN0ZW5lcihET01XaW5kb3cqKTsKLSAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKERPTVdpbmRvdyop
OwotICAgIHZvaWQgcmVtb3ZlQWxsTGlzdGVuZXJzKERPTVdpbmRvdyopOwotCi0gICAgdm9pZCBz
dXNwZW5kRXZlbnRzRm9yQWxsTGlzdGVuZXJzKERPTVdpbmRvdyopOwotICAgIHZvaWQgcmVzdW1l
RXZlbnRzRm9yQWxsTGlzdGVuZXJzKERPTVdpbmRvdyopOwotCiAgICAgdm9pZCBkaWRDaGFuZ2VE
ZXZpY2VNb3Rpb24oRGV2aWNlTW90aW9uRGF0YSopOworICAgIERldmljZU1vdGlvbkNsaWVudCog
ZGV2aWNlTW90aW9uQ2xpZW50KCk7CiAKLSAgICBib29sIGlzQWN0aXZlKCkgeyByZXR1cm4gIW1f
bGlzdGVuZXJzLmlzRW1wdHkoKTsgfQorICAgIHZpcnR1YWwgYm9vbCBoYXNMYXN0RGF0YSgpIE9W
RVJSSURFOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxFdmVudD4gZ2V0TGFzdEV2ZW50KCkgT1ZF
UlJJREU7CiAKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBzdXBwbGVtZW50TmFtZSgp
OwotICAgIHN0YXRpYyBEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBmcm9tKFBhZ2UqIHBhZ2UpIHsg
cmV0dXJuIHN0YXRpY19jYXN0PERldmljZU1vdGlvbkNvbnRyb2xsZXIqPihTdXBwbGVtZW50PFBh
Z2U+Ojpmcm9tKHBhZ2UsIHN1cHBsZW1lbnROYW1lKCkpKTsgfQorICAgIHN0YXRpYyBEZXZpY2VN
b3Rpb25Db250cm9sbGVyKiBmcm9tKFBhZ2UqKTsKICAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0
KFBhZ2UqKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBEZXZpY2VNb3Rpb25Db250cm9sbGVy
KERldmljZU1vdGlvbkNsaWVudCopOwotCi0gICAgdm9pZCB0aW1lckZpcmVkKFRpbWVyPERldmlj
ZU1vdGlvbkNvbnRyb2xsZXI+Kik7Ci0gICAgCi0gICAgRGV2aWNlTW90aW9uQ2xpZW50KiBtX2Ns
aWVudDsKLSAgICB0eXBlZGVmIEhhc2hDb3VudGVkU2V0PFJlZlB0cjxET01XaW5kb3c+ID4gTGlz
dGVuZXJzQ291bnRlZFNldDsKLSAgICBMaXN0ZW5lcnNDb3VudGVkU2V0IG1fbGlzdGVuZXJzOwot
ICAgIExpc3RlbmVyc0NvdW50ZWRTZXQgbV9zdXNwZW5kZWRMaXN0ZW5lcnM7Ci0gICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxET01XaW5kb3c+ID4gTGlzdGVuZXJzU2V0OwotICAgIExpc3RlbmVy
c1NldCBtX25ld0xpc3RlbmVyczsKLSAgICBUaW1lcjxEZXZpY2VNb3Rpb25Db250cm9sbGVyPiBt
X3RpbWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5j
cHAKaW5kZXggYzg5MDYzNTY4YmE1NGU5Y2UzMTdiM2VlZmZiOWE4ZDZkYjlkNWFlZi4uYzAxZDM3
Y2Q2OWVlYTk1NzA1ZWE0ODdmMWEzMDAyOWZhMTI5MWEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
Y3BwCkBAIC01MSw4ICs1MSw2IEBACiAjaW5jbHVkZSAiRE9NU2VsZWN0aW9uLmgiCiAjaW5jbHVk
ZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRGF0ZUNvbXBvbmVudHMuaCIKLSNpbmNsdWRlICJE
ZXZpY2VNb3Rpb25Db250cm9sbGVyLmgiCi0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25Db250
cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRFdmVudFF1ZXVlLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgiCkBAIC0yMTY4LDI3
ICsyMTY2LDExIEBAIHZvaWQgRG9jdW1lbnQ6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKIHZv
aWQgRG9jdW1lbnQ6OnN1c3BlbmRBY3RpdmVET01PYmplY3RzKEFjdGl2ZURPTU9iamVjdDo6UmVh
c29uRm9yU3VzcGVuc2lvbiB3aHkpCiB7CiAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6c3Vz
cGVuZEFjdGl2ZURPTU9iamVjdHMod2h5KTsKLQotI2lmIEVOQUJMRShERVZJQ0VfT1JJRU5UQVRJ
T04pCi0gICAgaWYgKCFwYWdlKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChEZXZpY2VN
b3Rpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlTW90aW9uQ29udHJvbGxlcjo6ZnJv
bShwYWdlKCkpKQotICAgICAgICBjb250cm9sbGVyLT5zdXNwZW5kRXZlbnRzRm9yQWxsTGlzdGVu
ZXJzKGRvbVdpbmRvdygpKTsKLSNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50OjpyZXN1bWVBY3Rp
dmVET01PYmplY3RzKCkKIHsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXN1bWVBY3Rp
dmVET01PYmplY3RzKCk7Ci0KLSNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgIGlm
ICghcGFnZSgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoRGV2aWNlTW90aW9uQ29udHJv
bGxlciogY29udHJvbGxlciA9IERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkK
LSAgICAgICAgY29udHJvbGxlci0+cmVzdW1lRXZlbnRzRm9yQWxsTGlzdGVuZXJzKGRvbVdpbmRv
dygpKTsKLSNlbmRpZgogfQogCiB2b2lkIERvY3VtZW50OjpjbGVhckFYT2JqZWN0Q2FjaGUoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDJhMDFjYjFlODZiNDY0NjY2M2Ni
M2YzNWY0ZDBjYWJmNWE4ZGU1MGIuLjg2OWY5MGY1NGE3NzI4ZTkwYjI5YmM5MWQyYzIzOThlYjZj
YWY4OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTU4Niw4ICs1ODYs
NiBAQCBwdWJsaWM6CiBjbGFzcyBFbXB0eURldmljZU1vdGlvbkNsaWVudCA6IHB1YmxpYyBEZXZp
Y2VNb3Rpb25DbGllbnQgewogcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRDb250cm9sbGVy
KERldmljZU1vdGlvbkNvbnRyb2xsZXIqKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRVcGRh
dGluZygpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBzdG9wVXBkYXRpbmcoKSB7IH0KICAgICB2aXJ0
dWFsIERldmljZU1vdGlvbkRhdGEqIGxhc3RNb3Rpb24oKSBjb25zdCB7IHJldHVybiAwOyB9CiAg
ICAgdmlydHVhbCB2b2lkIGRldmljZU1vdGlvbkNvbnRyb2xsZXJEZXN0cm95ZWQoKSB7IH0KIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKaW5kZXggYjg0YmIwMjVjNjYwYzBjYTM4NzdhM2Y3
MDYxMmRhOTNhYTJmMTQ4MC4uM2Q4MjU5OWZiYWE4MjNhNmZhZjYwYWQwYjZkOWNiMzUzMGI5MGEy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcApAQCAtMTU5Niw3ICsxNTk2LDcgQEAgYm9v
bCBET01XaW5kb3c6OmFkZEV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIFBhc3NSZWZQdHI8RXZlbnQKICNpZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQogICAg
IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlbW90aW9uRXZlbnQgJiYg
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6ZGV2aWNlTW90aW9uRW5hYmxlZCgpKSB7CiAgICAgICAg
IGlmIChEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2aWNlTW90aW9uQ29u
dHJvbGxlcjo6ZnJvbShwYWdlKCkpKQotICAgICAgICAgICAgY29udHJvbGxlci0+YWRkTGlzdGVu
ZXIodGhpcyk7CisgICAgICAgICAgICBjb250cm9sbGVyLT5hZGREZXZpY2VFdmVudExpc3RlbmVy
KHRoaXMpOwogICAgIH0gZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2Vv
cmllbnRhdGlvbkV2ZW50ICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OmRldmljZU9yaWVudGF0
aW9uRW5hYmxlZCgpKSB7CiAgICAgICAgIGlmIChEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIgPSBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkK
ICAgICAgICAgICAgIGNvbnRyb2xsZXItPmFkZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CkBA
IC0xNjI1LDcgKzE2MjUsNyBAQCBib29sIERPTVdpbmRvdzo6cmVtb3ZlRXZlbnRMaXN0ZW5lcihj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lcgogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgZWxzZSBpZiAoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5kZXZpY2Vtb3Rpb25FdmVudCkgewogICAgICAgICBpZiAoRGV2aWNlTW90aW9uQ29udHJvbGxl
ciogY29udHJvbGxlciA9IERldmljZU1vdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKLSAg
ICAgICAgICAgIGNvbnRyb2xsZXItPnJlbW92ZUxpc3RlbmVyKHRoaXMpOworICAgICAgICAgICAg
Y29udHJvbGxlci0+cmVtb3ZlRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKICAgICB9IGVsc2Ug
aWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCkgewog
ICAgICAgICBpZiAoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gRGV2
aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCiAgICAgICAgICAgICBjb250
cm9sbGVyLT5yZW1vdmVEZXZpY2VFdmVudExpc3RlbmVyKHRoaXMpOwpAQCAtMTY4Myw3ICsxNjgz
LDcgQEAgdm9pZCBET01XaW5kb3c6OnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCkKIAogI2lmIEVO
QUJMRShERVZJQ0VfT1JJRU5UQVRJT04pCiAgICAgaWYgKERldmljZU1vdGlvbkNvbnRyb2xsZXIq
IGNvbnRyb2xsZXIgPSBEZXZpY2VNb3Rpb25Db250cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCi0gICAg
ICAgIGNvbnRyb2xsZXItPnJlbW92ZUFsbExpc3RlbmVycyh0aGlzKTsKKyAgICAgICAgY29udHJv
bGxlci0+cmVtb3ZlQWxsRGV2aWNlRXZlbnRMaXN0ZW5lcnModGhpcyk7CiAgICAgaWYgKERldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9IERldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlcjo6ZnJvbShwYWdlKCkpKQogICAgICAgICBjb250cm9sbGVyLT5yZW1vdmVBbGxEZXZp
Y2VFdmVudExpc3RlbmVycyh0aGlzKTsKICNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>