<?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>193143</bug_id>
          
          <creation_ts>2019-01-04 08:56:33 -0800</creation_ts>
          <short_desc>Add support for toggling device orientation API support per site</short_desc>
          <delta_ts>2019-01-04 14:12:05 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1491654</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-04 08:56:33 -0800</bug_when>
    <thetext>Add support for toggling device orientation API support per site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491655</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-04 08:56:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/46605724&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491658</commentid>
    <comment_count>2</comment_count>
      <attachid>358321</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-04 08:59:09 -0800</bug_when>
    <thetext>Created attachment 358321
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491664</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-04 09:04:22 -0800</bug_when>
    <thetext>Attachment 358321 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:1040:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
ERROR: Tools/TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:1046:  Multi-line string (&quot;...&quot;) found.  This lint script doesn&apos;t do well with such strings, and may give bogus warnings.  They&apos;re ugly and unnecessary, and you should use concatenation instead&quot;.  [readability/multiline_string] [5]
Total errors found: 2 in 21 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491885</commentid>
    <comment_count>4</comment_count>
      <attachid>358321</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-04 14:12:03 -0800</bug_when>
    <thetext>Comment on attachment 358321
Patch

Clearing flags on attachment: 358321

Committed r239639: &lt;https://trac.webkit.org/changeset/239639&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1491886</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2019-01-04 14:12:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358321</attachid>
            <date>2019-01-04 08:59:09 -0800</date>
            <delta_ts>2019-01-04 14:12:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193143-20190104085908.patch</filename>
            <type>text/plain</type>
            <size>27937</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGMxZjhkOTgyY2M4Mzk0
OTQwNzM0NzI4MDUyYWQ4MDA0ZGY2ZmE2OS4uYzYyYTNjZjBjNTFlNGY4NzIxYzc1ZWM1ZjEyM2Nk
ZDcxMjEwYzQ1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDE5LTAxLTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRv
Z2dsaW5nIGRldmljZSBvcmllbnRhdGlvbiBBUEkgc3VwcG9ydCBwZXIgc2l0ZQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMTQzCisgICAgICAgIDxy
ZGFyOi8vcHJvYmxlbS80NjYwNTcyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdG9nZ2xpbmcgZGV2aWNlIG9yaWVudGF0
aW9uIEFQSSBzdXBwb3J0IHBlciBzaXRlIHZpYSBfV0tXZWJzaXRlUG9saWNpZXMuCisKKyAgICAg
ICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnNpbXVs
YXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2UpOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgor
ICAgICAgICAqIGxvYWRlci9Eb2N1bWVudExvYWRlci5oOgorICAgICAgICAoV2ViQ29yZTo6RG9j
dW1lbnRMb2FkZXI6OmRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkIGNvbnN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpzZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5h
YmxlZCk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKToKKwogMjAxOS0wMS0wMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjM5MzA2
KTogRG9uJ3QgZGlzYWJsZSBmb250IHNtb290aGluZyBpbiB0cmFuc3BhcmVudCBsYXllcnMgb24g
bWFjT1MgTW9qYXZlIGFuZCBsYXRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhNDgzNWJhNDJiNmNmZDZmZGM0NzFk
YjM5ODlkMWE4ZTRmMjE2YWY5Li45NGU0OGU0YzZmNmU1MjBhMzk1Njc1M2EzMTM2ZjdkZDVhZWY3
MmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE5LTAxLTA0ICBDaHJpcyBEdW1leiAg
PGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHRvZ2dsaW5nIGRl
dmljZSBvcmllbnRhdGlvbiBBUEkgc3VwcG9ydCBwZXIgc2l0ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMTQzCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS80NjYwNTcyND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBBZGQgc3VwcG9ydCBmb3IgdG9nZ2xpbmcgZGV2aWNlIG9yaWVudGF0aW9uIEFQSSBz
dXBwb3J0IHBlciBzaXRlIHZpYSBfV0tXZWJzaXRlUG9saWNpZXMuCisKKyAgICAgICAgKiBTaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xp
Y2llc0RhdGE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2ll
c0RhdGE6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVQb2xpY2llc0RhdGE6OmFw
cGx5VG9Eb2N1bWVudExvYWRlcik6CisgICAgICAgICogU2hhcmVkL1dlYnNpdGVQb2xpY2llc0Rh
dGEuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSVdlYnNpdGVQb2xpY2llcy5jcHA6Cisg
ICAgICAgIChBUEk6OldlYnNpdGVQb2xpY2llczo6ZGF0YSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9zaW11bGF0ZURldmljZU9yaWVu
dGF0aW9uQ2hhbmdlV2l0aEFscGhhOmJldGE6Z2FtbWE6XSk6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9D
b2NvYS9fV0tXZWJzaXRlUG9saWNpZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29h
L19XS1dlYnNpdGVQb2xpY2llcy5tbToKKyAgICAgICAgKC1bX1dLV2Vic2l0ZVBvbGljaWVzIHNl
dERldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOl0pOgorICAgICAgICAoLVtfV0tXZWJzaXRl
UG9saWNpZXMgZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWRdKToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpz
aW11bGF0ZURldmljZU9yaWVudGF0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzaW11bGF0ZURldmljZU9yaWVudGF0aW9uQ2hhbmdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAyMDE5LTAxLTAzICBCcmVu
dCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBsb2dpYyBo
YW5kbGluZyBETlQgaGVhZGVyIGR1cmluZyByZWRpcmVjdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CmluZGV4IGVjNjZiZTc2NjFkMjE2MDZlNTdjZDFmNzQ5Y2RjZDQyYzE3ZjVlZGMuLjc4ZDBmNDQ0
NDM0ZjA4ZjU4NWRkMTEzMzNmZTFkMDhlYWE3ZjExYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cApAQCAtNjIzMCw2ICs2MjMwLDEyIEBAIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciogRG9j
dW1lbnQ6OmRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcigpIGNvbnN0CiAgICAgcmV0dXJuIG1f
ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmdldCgpOwogfQogCit2b2lkIERvY3VtZW50Ojpz
aW11bGF0ZURldmljZU9yaWVudGF0aW9uQ2hhbmdlKGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEs
IGRvdWJsZSBnYW1tYSkKK3sKKyAgICBhdXRvIG9yaWVudGF0aW9uID0gRGV2aWNlT3JpZW50YXRp
b25EYXRhOjpjcmVhdGUoYWxwaGEsIGJldGEsIGdhbW1hLCBXVEY6Om51bGxvcHQsIFdURjo6bnVs
bG9wdCk7CisgICAgZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCktPmRpZENoYW5nZURldmlj
ZU9yaWVudGF0aW9uKG9yaWVudGF0aW9uLnB0cigpKTsKK30KKwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoRlVMTFNDUkVFTl9BUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IDhhMGZmZTEwYjQ1OTcx
MjI3NGRlN2Q3MjQyODYwMjkwNzM3Y2Y5ZWEuLjZiZWRmNzVjZmJlMjk2NzBlYmZiYjUxMTYzZTAx
MDAzMjZmZGEyZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0xMjI5LDYgKzEyMjksNyBAQCBw
dWJsaWM6CiAjaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikgJiYgUExBVEZPUk0oSU9TX0ZB
TUlMWSkKICAgICBEZXZpY2VNb3Rpb25Db250cm9sbGVyKiBkZXZpY2VNb3Rpb25Db250cm9sbGVy
KCkgY29uc3Q7CiAgICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKiBkZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIoKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNpbXVsYXRl
RGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91Ymxl
IGdhbW1hKTsKICNlbmRpZgogCiAgICAgY29uc3QgRG9jdW1lbnRUaW1pbmcmIHRpbWluZygpIGNv
bnN0IHsgcmV0dXJuIG1fZG9jdW1lbnRUaW1pbmc7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3Vt
ZW50TG9hZGVyLmgKaW5kZXggYmMzYjE5NjE5ODBhNzBhNDJjMWVhNWQ0NjQxZmRhODdjYzI0YzNm
ZC4uZjRjNjM3NzM5YTM1OTRkYjE5YTNkNWRlZDIwNGZiZDNlZTJmNzBmZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmgKQEAgLTI2MSw2ICsyNjEsOSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCB1c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV91
c2VyQ29udGVudEV4dGVuc2lvbnNFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRVc2VyQ29udGVudEV4
dGVuc2lvbnNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX3VzZXJDb250ZW50RXh0ZW5zaW9uc0Vu
YWJsZWQgPSBlbmFibGVkOyB9CiAKKyAgICBib29sIGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFi
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZDsgfQor
ICAgIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoYm9vbCBlbmFibGVkKSB7
IG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgPSBlbmFibGVkOyB9CisKICAgICBBdXRv
cGxheVBvbGljeSBhdXRvcGxheVBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0b3BsYXlQb2xp
Y3k7IH0KICAgICB2b2lkIHNldEF1dG9wbGF5UG9saWN5KEF1dG9wbGF5UG9saWN5IHBvbGljeSkg
eyBtX2F1dG9wbGF5UG9saWN5ID0gcG9saWN5OyB9CiAKQEAgLTU0MSw2ICs1NDQsNyBAQCBwcml2
YXRlOgogICAgIFN0cmluZyBtX2N1c3RvbVVzZXJBZ2VudDsKICAgICBTdHJpbmcgbV9jdXN0b21O
YXZpZ2F0b3JQbGF0Zm9ybTsKICAgICBib29sIG1fdXNlckNvbnRlbnRFeHRlbnNpb25zRW5hYmxl
ZCB7IHRydWUgfTsKKyAgICBib29sIG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgeyB0
cnVlIH07CiAgICAgQXV0b3BsYXlQb2xpY3kgbV9hdXRvcGxheVBvbGljeSB7IEF1dG9wbGF5UG9s
aWN5OjpEZWZhdWx0IH07CiAgICAgT3B0aW9uU2V0PEF1dG9wbGF5UXVpcms+IG1fYWxsb3dlZEF1
dG9wbGF5UXVpcmtzOwogICAgIFBvcFVwUG9saWN5IG1fcG9wVXBQb2xpY3kgeyBQb3BVcFBvbGlj
eTo6RGVmYXVsdCB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCmluZGV4IDE5ZjhmNTI3NWFj
ZTZiYTI3ZmM0NTJjNmZmN2I2OGMzNzM1MWMzOGQuLjE3NTlkZWZjMDcwYTQzZDRiNmZhMmI1ZmI3
NjE4Y2FkMWFhNDM3NTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAKQEAgLTE4MzksOSAr
MTgzOSw5IEBAIGJvb2wgRE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0
cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lCiAjZW5kaWYKIAogI2lmIEVOQUJMRShE
RVZJQ0VfT1JJRU5UQVRJT04pCi0gICAgaWYgKGZyYW1lKCkgJiYgZnJhbWUoKS0+c2V0dGluZ3Mo
KS5kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpKSB7CisgICAgaWYgKGZyYW1lKCkgJiYg
ZnJhbWUoKS0+c2V0dGluZ3MoKS5kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCgpICYmIGRv
Y3VtZW50KCkgJiYgZG9jdW1lbnQoKS0+bG9hZGVyKCkgJiYgZG9jdW1lbnQoKS0+bG9hZGVyKCkt
PmRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKCkpIHsKICNpZiBQTEFURk9STShJT1NfRkFN
SUxZKQotICAgICAgICBpZiAoKGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlbW90aW9u
RXZlbnQgfHwgZXZlbnRUeXBlID09IGV2ZW50TmFtZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50
KSAmJiBkb2N1bWVudCgpKSB7CisgICAgICAgIGlmICgoZXZlbnRUeXBlID09IGV2ZW50TmFtZXMo
KS5kZXZpY2Vtb3Rpb25FdmVudCB8fCBldmVudFR5cGUgPT0gZXZlbnROYW1lcygpLmRldmljZW9y
aWVudGF0aW9uRXZlbnQpKSB7CiAgICAgICAgICAgICBpZiAoaXNTYW1lU2VjdXJpdHlPcmlnaW5B
c01haW5GcmFtZSgpICYmIGlzU2VjdXJlQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAgaWYg
KGV2ZW50VHlwZSA9PSBldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCkKICAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQoKS0+ZGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkt
PmFkZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7CkBAIC0xODU5LDEzICsxODU5LDEzIEBAIGJv
b2wgRE9NV2luZG93OjphZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBSZWY8RXZlbnRMaXN0ZW5lCiAgICAgICAgICAgICBpZiAoaXNTYW1lU2VjdXJpdHlPcmln
aW5Bc01haW5GcmFtZSgpICYmIGlzU2VjdXJlQ29udGV4dCgpKSB7CiAgICAgICAgICAgICAgICAg
aWYgKERldmljZU1vdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VNb3Rpb25Db250
cm9sbGVyOjpmcm9tKHBhZ2UoKSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXItPmFk
ZERldmljZUV2ZW50TGlzdGVuZXIodGhpcyk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKGRvY3Vt
ZW50KCkpCisgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICBkb2N1bWVudCgpLT5h
ZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlOjpKUywgTWVzc2FnZUxldmVsOjpXYXJuaW5n
LCAiQmxvY2tlZCBhdHRlbXB0IHRvIGFkZCBhIGRldmljZSBtb3Rpb24gbGlzdGVuZXIgZnJvbSBj
aGlsZCBmcmFtZSB0aGF0IHdhc24ndCB0aGUgc2FtZSBzZWN1cml0eSBvcmlnaW4gYXMgdGhlIG1h
aW4gcGFnZS4iX3MpOwogICAgICAgICB9IGVsc2UgaWYgKGV2ZW50VHlwZSA9PSBldmVudE5hbWVz
KCkuZGV2aWNlb3JpZW50YXRpb25FdmVudCkgewogICAgICAgICAgICAgaWYgKGlzU2FtZVNlY3Vy
aXR5T3JpZ2luQXNNYWluRnJhbWUoKSAmJiBpc1NlY3VyZUNvbnRleHQoKSkgewogICAgICAgICAg
ICAgICAgIGlmIChEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmZyb20ocGFnZSgpKSkKICAgICAgICAgICAgICAgICAg
ICAgY29udHJvbGxlci0+YWRkRGV2aWNlRXZlbnRMaXN0ZW5lcih0aGlzKTsKLSAgICAgICAgICAg
IH0gZWxzZSBpZiAoZG9jdW1lbnQoKSkgeworICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICBpZiAoaXNTZWN1cmVDb250ZXh0KCkpCiAgICAgICAgICAgICAgICAgICAgIGRvY3Vt
ZW50KCktPmFkZENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6
Oldhcm5pbmcsICJCbG9ja2VkIGF0dGVtcHQgdG8gYWRkIGEgZGV2aWNlIG9yaWVudGF0aW9uIGxp
c3RlbmVyIGZyb20gY2hpbGQgZnJhbWUgdGhhdCB3YXNuJ3QgdGhlIHNhbWUgc2VjdXJpdHkgb3Jp
Z2luIGFzIHRoZSBtYWluIHBhZ2UuIl9zKTsKICAgICAgICAgICAgICAgICBlbHNlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuY3BwCmluZGV4IDQxNGNiNDI1YWZm
ZDRhMDk3NDQyYjZmMWMwYjUzMjc0YmI3YWMwZDcuLmI3MzRmMGUzZjgyMDk2OGFmNDgyMzc5YzUw
MDc5ZmE4MTlhOTNiZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQ
b2xpY2llc0RhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2ll
c0RhdGEuY3BwCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogdm9pZCBXZWJz
aXRlUG9saWNpZXNEYXRhOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogewog
ICAgIGVuY29kZXIgPDwgY29udGVudEJsb2NrZXJzRW5hYmxlZDsKKyAgICBlbmNvZGVyIDw8IGRl
dmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOwogICAgIGVuY29kZXIgPDwgYXV0b3BsYXlQb2xp
Y3k7CiAgICAgZW5jb2RlciA8PCBhbGxvd2VkQXV0b3BsYXlRdWlya3M7CiAgICAgZW5jb2RlciA8
PCBjdXN0b21IZWFkZXJGaWVsZHM7CkBAIC01Miw2ICs1MywxMSBAQCBPcHRpb25hbDxXZWJzaXRl
UG9saWNpZXNEYXRhPiBXZWJzaXRlUG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyKQogICAgIGRlY29kZXIgPj4gY29udGVudEJsb2NrZXJzRW5hYmxlZDsKICAgICBpZiAo
IWNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQpCiAgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CisK
KyAgICBPcHRpb25hbDxib29sPiBkZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZDsKKyAgICBk
ZWNvZGVyID4+IGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOworICAgIGlmICghZGV2aWNl
T3JpZW50YXRpb25FdmVudEVuYWJsZWQpCisgICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAg
ICAgCiAgICAgT3B0aW9uYWw8V2Vic2l0ZUF1dG9wbGF5UG9saWN5PiBhdXRvcGxheVBvbGljeTsK
ICAgICBkZWNvZGVyID4+IGF1dG9wbGF5UG9saWN5OwpAQCAtOTAsNiArOTYsNyBAQCBPcHRpb25h
bDxXZWJzaXRlUG9saWNpZXNEYXRhPiBXZWJzaXRlUG9saWNpZXNEYXRhOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyKQogICAgIAogICAgIHJldHVybiB7IHsKICAgICAgICAgV1RGTW92ZSgq
Y29udGVudEJsb2NrZXJzRW5hYmxlZCksCisgICAgICAgIFdURk1vdmUoKmRldmljZU9yaWVudGF0
aW9uRXZlbnRFbmFibGVkKSwKICAgICAgICAgV1RGTW92ZSgqYWxsb3dlZEF1dG9wbGF5UXVpcmtz
KSwKICAgICAgICAgV1RGTW92ZSgqYXV0b3BsYXlQb2xpY3kpLAogICAgICAgICBXVEZNb3ZlKCpj
dXN0b21IZWFkZXJGaWVsZHMpLApAQCAtMTA1LDYgKzExMiw3IEBAIHZvaWQgV2Vic2l0ZVBvbGlj
aWVzRGF0YTo6YXBwbHlUb0RvY3VtZW50TG9hZGVyKFdlYnNpdGVQb2xpY2llc0RhdGEmJiB3ZWJz
aXRlUG9sCiAgICAgZG9jdW1lbnRMb2FkZXIuc2V0Q3VzdG9tSGVhZGVyRmllbGRzKFdURk1vdmUo
d2Vic2l0ZVBvbGljaWVzLmN1c3RvbUhlYWRlckZpZWxkcykpOwogICAgIGRvY3VtZW50TG9hZGVy
LnNldEN1c3RvbVVzZXJBZ2VudCh3ZWJzaXRlUG9saWNpZXMuY3VzdG9tVXNlckFnZW50KTsKICAg
ICBkb2N1bWVudExvYWRlci5zZXRDdXN0b21OYXZpZ2F0b3JQbGF0Zm9ybSh3ZWJzaXRlUG9saWNp
ZXMuY3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pOworICAgIGRvY3VtZW50TG9hZGVyLnNldERldmlj
ZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKHdlYnNpdGVQb2xpY2llcy5kZXZpY2VPcmllbnRhdGlv
bkV2ZW50RW5hYmxlZCk7CiAgICAgCiAgICAgLy8gT25seSBzZXRVc2VyQ29udGVudEV4dGVuc2lv
bnNFbmFibGVkIGlmIGl0IGhhc24ndCBhbHJlYWR5IGJlZW4gZGlzYWJsZWQgYnkgcmVsb2FkaW5n
IHdpdGhvdXQgY29udGVudCBibG9ja2Vycy4KICAgICBpZiAoZG9jdW1lbnRMb2FkZXIudXNlckNv
bnRlbnRFeHRlbnNpb25zRW5hYmxlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvV2Vic2l0ZVBvbGljaWVzRGF0YS5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2Vic2l0ZVBv
bGljaWVzRGF0YS5oCmluZGV4IGE3YWIxM2EwYjc0ZGNmMjI3NDIyMDMzMjM4ZWRhN2EyNzgxOGU5
YTkuLmZjYWVkMjdjNDAzOWM4MTEyYjIyZTFjMzAwMDAwNzgyOTA4ZDQxM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYnNpdGVQb2xpY2llc0RhdGEuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9XZWJzaXRlUG9saWNpZXNEYXRhLmgKQEAgLTQ3LDYgKzQ3LDcgQEAgc3Ry
dWN0IFdlYnNpdGVQb2xpY2llc0RhdGEgewogICAgIHN0YXRpYyB2b2lkIGFwcGx5VG9Eb2N1bWVu
dExvYWRlcihXZWJzaXRlUG9saWNpZXNEYXRhJiYsIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyJik7
CiAKICAgICBib29sIGNvbnRlbnRCbG9ja2Vyc0VuYWJsZWQgeyB0cnVlIH07CisgICAgYm9vbCBk
ZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCB7IHRydWUgfTsKICAgICBPcHRpb25TZXQ8V2Vi
c2l0ZUF1dG9wbGF5UXVpcms+IGFsbG93ZWRBdXRvcGxheVF1aXJrczsKICAgICBXZWJzaXRlQXV0
b3BsYXlQb2xpY3kgYXV0b3BsYXlQb2xpY3kgeyBXZWJzaXRlQXV0b3BsYXlQb2xpY3k6OkRlZmF1
bHQgfTsKICAgICBWZWN0b3I8V2ViQ29yZTo6SFRUUEhlYWRlckZpZWxkPiBjdXN0b21IZWFkZXJG
aWVsZHM7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0
ZVBvbGljaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9s
aWNpZXMuY3BwCmluZGV4IDY1OTE4YThiNDg5ZDlmNWQzZWJlZGE0NmE5ZGYzMjVlNzljNDI5NTku
Ljg0NDc2OTZlM2UyNDZiYTliOTVkY2JiMmY1Y2FmNTIzNjhkOTc5NGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuY3BwCkBAIC01Niw3
ICs1Niw3IEBAIFdlYktpdDo6V2Vic2l0ZVBvbGljaWVzRGF0YSBXZWJzaXRlUG9saWNpZXM6OmRh
dGEoKQogICAgIE9wdGlvbmFsPFdlYktpdDo6V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnM+IHBh
cmFtZXRlcnM7CiAgICAgaWYgKG1fd2Vic2l0ZURhdGFTdG9yZSkKICAgICAgICAgcGFyYW1ldGVy
cyA9IG1fd2Vic2l0ZURhdGFTdG9yZS0+d2Vic2l0ZURhdGFTdG9yZSgpLnBhcmFtZXRlcnMoKTsK
LSAgICByZXR1cm4geyBjb250ZW50QmxvY2tlcnNFbmFibGVkKCksIGFsbG93ZWRBdXRvcGxheVF1
aXJrcygpLCBhdXRvcGxheVBvbGljeSgpLCBjdXN0b21IZWFkZXJGaWVsZHMoKSwgcG9wVXBQb2xp
Y3koKSwgV1RGTW92ZShwYXJhbWV0ZXJzKSwgbV9jdXN0b21Vc2VyQWdlbnQsIG1fY3VzdG9tTmF2
aWdhdG9yUGxhdGZvcm0gfTsKKyAgICByZXR1cm4geyBjb250ZW50QmxvY2tlcnNFbmFibGVkKCks
IGRldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkKCksIGFsbG93ZWRBdXRvcGxheVF1aXJrcygp
LCBhdXRvcGxheVBvbGljeSgpLCBjdXN0b21IZWFkZXJGaWVsZHMoKSwgcG9wVXBQb2xpY3koKSwg
V1RGTW92ZShwYXJhbWV0ZXJzKSwgbV9jdXN0b21Vc2VyQWdlbnQsIG1fY3VzdG9tTmF2aWdhdG9y
UGxhdGZvcm0gfTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0FQSVdlYnNpdGVQb2xpY2llcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQ
SVdlYnNpdGVQb2xpY2llcy5oCmluZGV4IDNmN2FhMDYxYmYxODJjMGM2NmY3OWFkOTk3ZmE3ZWQ5
YTNhMzIwYWQuLjcxOGM3NTVmNmYzYzFjNjY4NTIyYzUwNGJjMDYyYzdkOGQ0YmE4ZmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElXZWJzaXRlUG9saWNpZXMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJV2Vic2l0ZVBvbGljaWVzLmgKQEAg
LTUwLDYgKzUwLDkgQEAgcHVibGljOgogCiAgICAgYm9vbCBjb250ZW50QmxvY2tlcnNFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50QmxvY2tlcnNFbmFibGVkOyB9CiAgICAgdm9pZCBz
ZXRDb250ZW50QmxvY2tlcnNFbmFibGVkKGJvb2wgZW5hYmxlZCkgeyBtX2NvbnRlbnRCbG9ja2Vy
c0VuYWJsZWQgPSBlbmFibGVkOyB9CisKKyAgICBib29sIGRldmljZU9yaWVudGF0aW9uRXZlbnRF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZDsg
fQorICAgIHZvaWQgc2V0RGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQoYm9vbCBlbmFibGVk
KSB7IG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgPSBlbmFibGVkOyB9CiAgICAgCiAg
ICAgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms+IGFsbG93ZWRBdXRvcGxh
eVF1aXJrcygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dlZEF1dG9wbGF5UXVpcmtzOyB9CiAgICAg
dm9pZCBzZXRBbGxvd2VkQXV0b3BsYXlRdWlya3MoT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1
dG9wbGF5UXVpcms+IHF1aXJrcykgeyBtX2FsbG93ZWRBdXRvcGxheVF1aXJrcyA9IHF1aXJrczsg
fQpAQCAtNzksNiArODIsNyBAQCBwcml2YXRlOgogICAgIFdlYnNpdGVQb2xpY2llcyhib29sIGNv
bnRlbnRCbG9ja2Vyc0VuYWJsZWQsIE9wdGlvblNldDxXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVF1
aXJrPiwgV2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlQb2xpY3ksIFZlY3RvcjxXZWJDb3JlOjpIVFRQ
SGVhZGVyRmllbGQ+JiYsIFdlYktpdDo6V2Vic2l0ZVBvcFVwUG9saWN5LCBSZWZQdHI8V2Vic2l0
ZURhdGFTdG9yZT4mJik7CiAKICAgICBib29sIG1fY29udGVudEJsb2NrZXJzRW5hYmxlZCB7IHRy
dWUgfTsKKyAgICBib29sIG1fZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQgeyB0cnVlIH07
CiAgICAgT3B0aW9uU2V0PFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UXVpcms+IG1fYWxsb3dlZEF1
dG9wbGF5UXVpcmtzOwogICAgIFdlYktpdDo6V2Vic2l0ZUF1dG9wbGF5UG9saWN5IG1fYXV0b3Bs
YXlQb2xpY3kgeyBXZWJLaXQ6OldlYnNpdGVBdXRvcGxheVBvbGljeTo6RGVmYXVsdCB9OwogICAg
IFZlY3RvcjxXZWJDb3JlOjpIVFRQSGVhZGVyRmllbGQ+IG1fY3VzdG9tSGVhZGVyRmllbGRzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXgg
M2M1YmViZjI3YjQyZmI5NDU2ZmVkZDBlOWFlMTMzZTc1YmRhNmRjOS4uODQ0MzY0MzQ3YmI5ODc1
MzQwYmEyY2EwNDljZTQwODYyMDA0NzJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00ODA2LDYgKzQ4MDYsMTEgQEAgLSAoX1dLQXR0
YWNobWVudCAqKV9hdHRhY2htZW50Rm9ySWRlbnRpZmllcjooTlNTdHJpbmcgKilpZGVudGlmaWVy
CiAgICAgcmV0dXJuIG5pbDsKIH0KIAorLSAodm9pZClfc2ltdWxhdGVEZXZpY2VPcmllbnRhdGlv
bkNoYW5nZVdpdGhBbHBoYTooZG91YmxlKWFscGhhIGJldGE6KGRvdWJsZSliZXRhIGdhbW1hOihk
b3VibGUpZ2FtbWEKK3sKKyAgICBfcGFnZS0+c2ltdWxhdGVEZXZpY2VPcmllbnRhdGlvbkNoYW5n
ZShhbHBoYSwgYmV0YSwgZ2FtbWEpOworfQorCiArIChCT09MKV9oYW5kbGVzU2FmZUJyb3dzaW5n
CiB7CiAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3UHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld1ByaXZhdGUuaAppbmRleCBlNzA5NDA5ZmI0YTY2ODM0ZjVjYjJm
YTM5NjdhMzkzYWY1OTg2MDUwLi4wNzlhODEyNWEzMmU4OTJkMDkxNGY4YTY3NTU0NjQ3NGI3MWQ2
MTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3UHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdQcml2YXRlLmgKQEAgLTE5MCw2ICsxOTAsOCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNV
SW50ZWdlciwgX1dLUmVjdEVkZ2UpIHsKIC0gKF9XS0F0dGFjaG1lbnQgKilfaW5zZXJ0QXR0YWNo
bWVudFdpdGhGaWxlV3JhcHBlcjooTlNGaWxlV3JhcHBlciAqKWZpbGVXcmFwcGVyIGNvbnRlbnRU
eXBlOihOU1N0cmluZyAqKWNvbnRlbnRUeXBlIGNvbXBsZXRpb246KHZvaWQoXikoQk9PTCBzdWNj
ZXNzKSljb21wbGV0aW9uSGFuZGxlciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJB
KSwgaW9zKFdLX0lPU19UQkEpKTsKIC0gKF9XS0F0dGFjaG1lbnQgKilfYXR0YWNobWVudEZvcklk
ZW50aWZpZXI6KE5TU3RyaW5nICopaWRlbnRpZmllciBXS19BUElfQVZBSUxBQkxFKG1hY29zeChX
S19NQUNfVEJBKSwgaW9zKFdLX0lPU19UQkEpKTsKIAorLSAodm9pZClfc2ltdWxhdGVEZXZpY2VP
cmllbnRhdGlvbkNoYW5nZVdpdGhBbHBoYTooZG91YmxlKWFscGhhIGJldGE6KGRvdWJsZSliZXRh
IGdhbW1hOihkb3VibGUpZ2FtbWEgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSks
IGlvcyhXS19JT1NfVEJBKSk7CisKICsgKEJPT0wpX2hhbmRsZXNTYWZlQnJvd3NpbmcgV0tfQVBJ
X0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1NfVEJBKSk7CiArIChOU1VS
TCAqKV9jb25maXJtTWFsd2FyZVNlbnRpbmVsIFdLX0FQSV9BVkFJTEFCTEUobWFjb3N4KFdLX01B
Q19UQkEpLCBpb3MoV0tfSU9TX1RCQSkpOwogKyAoTlNVUkwgKilfdmlzaXRVbnNhZmVXZWJzaXRl
U2VudGluZWwgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlvcyhXS19JT1Nf
VEJBKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZVBvbGljaWVzLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
V2Vic2l0ZVBvbGljaWVzLmgKaW5kZXggNjIxYTE1NjRiZjY0OGYxYWUyNjUwMzhhOTU1M2JiYjky
ZGYzOTNkNi4uNmEyZDMyZjI1Y2VjNDlmZTI0YjNhMGQyNmJhZjc4MzU0ODA0OTdiMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2ll
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tXZWJzaXRlUG9s
aWNpZXMuaApAQCAtNTksNiArNTksNyBAQCBXS19DTEFTU19BVkFJTEFCTEUobWFjb3N4KDEwLjEy
LjMpLCBpb3MoMTAuMykpCiBAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nKSBXS1dlYnNpdGVE
YXRhU3RvcmUgKndlYnNpdGVEYXRhU3RvcmUgV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goMTAuMTMu
NCksIGlvcygxMS4zKSk7CiBAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmN1
c3RvbVVzZXJBZ2VudCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9zKFdL
X0lPU19UQkEpKTsKIEBwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY3VzdG9t
TmF2aWdhdG9yUGxhdGZvcm0gV0tfQVBJX0FWQUlMQUJMRShtYWNvc3goV0tfTUFDX1RCQSksIGlv
cyhXS19JT1NfVEJBKSk7CitAcHJvcGVydHkgKG5vbmF0b21pYykgQk9PTCBkZXZpY2VPcmllbnRh
dGlvbkV2ZW50RW5hYmxlZCBXS19BUElfQVZBSUxBQkxFKG1hY29zeChXS19NQUNfVEJBKSwgaW9z
KFdLX0lPU19UQkEpKTsKIAogQGVuZAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL0NvY29hL19XS1dlYnNpdGVQb2xpY2llcy5tbQppbmRleCA3ZjNjODIyNTQ0OWE3
OGU5ZTE1NDgyODQ2ODc0ZjI0NjQwMTZjODA1Li40NjI4NmNkYmY5YjI2NTZlZDU0MjBkMWJkZmYy
NzBiZjk2ZjcxNWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29j
b2EvX1dLV2Vic2l0ZVBvbGljaWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tXZWJzaXRlUG9saWNpZXMubW0KQEAgLTU5LDYgKzU5LDE2IEBAIC0gKEJPT0wp
Y29udGVudEJsb2NrZXJzRW5hYmxlZAogICAgIHJldHVybiBfd2Vic2l0ZVBvbGljaWVzLT5jb250
ZW50QmxvY2tlcnNFbmFibGVkKCk7CiB9CiAKKy0gKHZvaWQpc2V0RGV2aWNlT3JpZW50YXRpb25F
dmVudEVuYWJsZWQ6KEJPT0wpZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWQKK3sKKyAgICBf
d2Vic2l0ZVBvbGljaWVzLT5zZXREZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZChkZXZpY2VP
cmllbnRhdGlvbkV2ZW50RW5hYmxlZCk7Cit9CisKKy0gKEJPT0wpZGV2aWNlT3JpZW50YXRpb25F
dmVudEVuYWJsZWQKK3sKKyAgICByZXR1cm4gX3dlYnNpdGVQb2xpY2llcy0+ZGV2aWNlT3JpZW50
YXRpb25FdmVudEVuYWJsZWQoKTsKK30KKwogLSAodm9pZClzZXRBbGxvd2VkQXV0b3BsYXlRdWly
a3M6KF9XS1dlYnNpdGVBdXRvcGxheVF1aXJrKWFsbG93ZWRRdWlya3MKIHsKICAgICBPcHRpb25T
ZXQ8V2ViS2l0OjpXZWJzaXRlQXV0b3BsYXlRdWlyaz4gcXVpcmtzOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggZGE3YTk0YTMzZDgxOTM1Y2ExNDMyMDczNDY4
OGNjOTg5NzNhNTQ4Mi4uNmYzZjU1YzQ5OGI0ZjZkZDg2Y2JmZWVhMzcwM2I3ZTA3Y2VlZWRmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC04NDgwLDYgKzg0
ODAsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OndpbGxBY3F1aXJlVW5pdmVyc2FsRmlsZVJlYWRT
YW5kYm94RXh0ZW5zaW9uKCkKICAgICBwcm9jZXNzKCkud2lsbEFjcXVpcmVVbml2ZXJzYWxGaWxl
UmVhZFNhbmRib3hFeHRlbnNpb24oKTsKIH0KIAordm9pZCBXZWJQYWdlUHJveHk6OnNpbXVsYXRl
RGV2aWNlT3JpZW50YXRpb25DaGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91Ymxl
IGdhbW1hKQoreworICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2ltdWxh
dGVEZXZpY2VPcmllbnRhdGlvbkNoYW5nZShhbHBoYSwgYmV0YSwgZ2FtbWEpLCBtX3BhZ2VJRCk7
Cit9CisKICNpZiBFTkFCTEUoREFUQV9ERVRFQ1RJT04pCiAKIHZvaWQgV2ViUGFnZVByb3h5Ojpk
ZXRlY3REYXRhSW5BbGxGcmFtZXMoV2ViQ29yZTo6RGF0YURldGVjdG9yVHlwZXMgdHlwZXMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgRGF0YURldGVjdGlvblJlc3VsdCYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCAx
OGJmODEwMWEwZWRkMmI0YTBmZTk4NzYwZGVmNDM4OGIzNDAzMDE4Li5jMWZkMTVhZmJhNDQ3Y2Ez
N2UxYWQ3ZmM3N2I1NDY4ZWY2OThhYjc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtNDg3LDYgKzQ4Nyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGxvYWRXZWJBcmNo
aXZlRGF0YShBUEk6OkRhdGEqLCBBUEk6Ok9iamVjdCogdXNlckRhdGEgPSBudWxscHRyKTsKICAg
ICB2b2lkIG5hdmlnYXRlVG9QREZMaW5rV2l0aFNpbXVsYXRlZENsaWNrKGNvbnN0IFN0cmluZyYg
dXJsLCBXZWJDb3JlOjpJbnRQb2ludCBkb2N1bWVudFBvaW50LCBXZWJDb3JlOjpJbnRQb2ludCBz
Y3JlZW5Qb2ludCk7CiAKKyAgICB2b2lkIHNpbXVsYXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2Uo
ZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKKwogICAgIHZvaWQgc3Rv
cExvYWRpbmcoKTsKICAgICBSZWZQdHI8QVBJOjpOYXZpZ2F0aW9uPiByZWxvYWQoT3B0aW9uU2V0
PFdlYkNvcmU6OlJlbG9hZE9wdGlvbj4pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGE5NzkwMWQzZTIwN2RkNGQ5NWU5MmMxOWM4ZDk1Yzk2
MjVlMDI3NTkuLmRiYTQ0NDcyOGE5Y2ZjMzQxM2FiMWQ4NDY4MzdlNDE0MjFiODM2YjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02Mzg1LDYg
KzYzODUsMTcgQEAgdm9pZCBXZWJQYWdlOjpkaWRDb21wbGV0ZVNoYXJlU2hlZXQoYm9vbCB3YXNH
cmFudGVkLCBTaGFyZVNoZWV0Q2FsbGJhY2tJRCBjYWxsYmEKICAgICBjYWxsYmFjayh3YXNHcmFu
dGVkKTsKIH0KIAordm9pZCBXZWJQYWdlOjpzaW11bGF0ZURldmljZU9yaWVudGF0aW9uQ2hhbmdl
KGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKK3sKKyNpZiBFTkFCTEUo
REVWSUNFX09SSUVOVEFUSU9OKSAmJiBQTEFURk9STShJT1NfRkFNSUxZKQorICAgIGF1dG8qIGZy
YW1lID0gbWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSB8fCAhZnJhbWUtPmRvY3VtZW50KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIGZyYW1lLT5kb2N1bWVudCgpLT5zaW11bGF0ZURldmlj
ZU9yaWVudGF0aW9uQ2hhbmdlKGFscGhhLCBiZXRhLCBnYW1tYSk7CisjZW5kaWYKK30KKwogI2lm
IEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKIHZvaWQgV2ViUGFnZTo6aW5zZXJ0QXR0YWNo
bWVudChjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiYmIGZpbGVT
aXplLCBjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBTdHJpbmcmIGNvbnRlbnRUeXBlLCBD
YWxsYmFja0lEIGNhbGxiYWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKaW5kZXggMGI0MmE2MTdjY2MxMDk4YTU3NWViNDdjYzY0MWY2MDM1NWU2OGRiNi4u
ZTNkMTVjMzU4N2RhZTI4YWMyODU1OGFkNTljNTcyMzY1MjYyNTQwMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQ1OSw2ICsxNDU5LDggQEAgcHJp
dmF0ZToKICAgICB2b2lkIGRpZFJlY2VpdmVQYXNzd29yZEZvclF1aWNrTG9va0RvY3VtZW50KGNv
bnN0IFN0cmluZyYpOwogI2VuZGlmCiAKKyAgICB2b2lkIHNpbXVsYXRlRGV2aWNlT3JpZW50YXRp
b25DaGFuZ2UoZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKTsKKwogICAg
IHZvaWQgZnJhbWVCZWNhbWVSZW1vdGUodWludDY0X3QgZnJhbWVJRCwgV2ViQ29yZTo6R2xvYmFs
RnJhbWVJZGVudGlmaWVyJiYgcmVtb3RlRnJhbWVJZGVudGlmaWVyLCBXZWJDb3JlOjpHbG9iYWxX
aW5kb3dJZGVudGlmaWVyJiYgcmVtb3RlV2luZG93SWRlbnRpZmllcik7CiAKICAgICB2b2lkIHJl
Z2lzdGVyVVJMU2NoZW1lSGFuZGxlcih1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHNjaGVtZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5tZXNzYWdlcy5pbgppbmRleCBlMjY1NGQ5NDNjZjRjNGY2YjVlNDk3ZWI3OTJmYjhkNWQ2
NWNiYmY0Li4zNGJlNzFjOTU2MmMwNzAzZDg0NzhiMDg4MTk0MzM3OTE5YTk1ZTUzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTU0Myw0ICs1NDMsNSBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIExlZ2FjeVJlY2VpdmVy
IHsKICAgICBTZXREZWZlcnNMb2FkaW5nKGJvb2wgZGVmZXJzTG9hZGluZykKIAogICAgIFVwZGF0
ZUN1cnJlbnRNb2RpZmllclN0YXRlKE9wdGlvblNldDxXZWJDb3JlOjpQbGF0Zm9ybUV2ZW50OjpN
b2RpZmllcj4gbW9kaWZpZXJzKQorICAgIFNpbXVsYXRlRGV2aWNlT3JpZW50YXRpb25DaGFuZ2Uo
ZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91YmxlIGdhbW1hKQogfQpkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNlYTc2NWY2NDM4NTQ2ZDBh
MTVhNjE3MDdjNGJlNmNlYzZlZTYzNWYuLjViNTIwZWFmYTYwM2EzMmU5YThlZThlYTZhMjg3OGE4
M2MzMjBkOGYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wMS0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciB0b2dnbGluZyBkZXZpY2Ugb3JpZW50
YXRpb24gQVBJIHN1cHBvcnQgcGVyIHNpdGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE5MzE0MworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDY2MDU3
MjQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IEFQSSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJL
aXRDb2NvYS9XZWJzaXRlUG9saWNpZXMubW06CisgICAgICAgICgtW0RhdGFNYXBwaW5nU2NoZW1l
SGFuZGxlciBzZXRUYXNrSGFuZGxlcjpdKToKKyAgICAgICAgKC1bRGF0YU1hcHBpbmdTY2hlbWVI
YW5kbGVyIHdlYlZpZXc6c3RhcnRVUkxTY2hlbWVUYXNrOl0pOgorICAgICAgICAoLVtXZWJzaXRl
UG9saWNpZXNEZXZpY2VPcmllbnRhdGlvbkRlbGVnYXRlIGluaXRXaXRoRGV2aWNlT3JpZW50YXRp
b25FdmVudEVuYWJsZWQ6XSk6CisgICAgICAgICgtW1dlYnNpdGVQb2xpY2llc0RldmljZU9yaWVu
dGF0aW9uRGVsZWdhdGUgX3dlYlZpZXc6ZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjp1
c2VySW5mbzpkZWNpc2lvbkhhbmRsZXI6XSk6CisgICAgICAgICgtW1dlYnNpdGVQb2xpY2llc0Rl
dmljZU9yaWVudGF0aW9uRGVsZWdhdGUgd2ViVmlldzpkaWRGaW5pc2hOYXZpZ2F0aW9uOl0pOgor
CiAyMDE5LTAxLTAzICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4K
IAogICAgICAgICBVc2VyTWVkaWEgdGVzdCBzaG91bGQgdXNlIFdLUGFnZU5hdmlnYXRpb25DbGll
bnQKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViS2l0Q29jb2EvV2Vi
c2l0ZVBvbGljaWVzLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9X
ZWJzaXRlUG9saWNpZXMubW0KaW5kZXggNzA4YjA3MjgwNWU3Y2UzNjBlZmY3NWE1ZGY3ZTY1M2Q4
M2NlNzBkOS4uOWQyM2Q1YmY4ZmYxZWE2ZjY4YTI2ZjEyMmRkZWI2ODBlYzI5ZTk3YSAxMDA2NDQK
LS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRlUG9saWNp
ZXMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRDb2NvYS9XZWJzaXRl
UG9saWNpZXMubW0KQEAgLTM4LDYgKzM4LDcgQEAKICNpbXBvcnQgPFdlYktpdC9fV0tVc2VyQ29u
dGVudEV4dGVuc2lvblN0b3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViS2l0L19XS1dlYnNpdGVE
YXRhU3RvcmVDb25maWd1cmF0aW9uLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLV2Vic2l0ZVBvbGlj
aWVzLmg+CisjaW1wb3J0IDx3dGYvRnVuY3Rpb24uaD4KICNpbXBvcnQgPHd0Zi9IYXNoTWFwLmg+
CiAjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpA
QCAtODY2LDggKzg2NywxMCBAQCBzdGF0aWMgdW5zaWduZWQgbG9hZENvdW50OwogCiBAaW50ZXJm
YWNlIERhdGFNYXBwaW5nU2NoZW1lSGFuZGxlciA6IE5TT2JqZWN0IDxXS1VSTFNjaGVtZUhhbmRs
ZXI+IHsKICAgICBIYXNoTWFwPFN0cmluZywgUmV0YWluUHRyPE5TRGF0YSAqPj4gX2RhdGFNYXBw
aW5nczsKKyAgICBGdW5jdGlvbjx2b2lkKGlkIDxXS1VSTFNjaGVtZVRhc2s+KT4gX3Rhc2tIYW5k
bGVyOwogfQogLSAodm9pZClhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzooTlNTdHJpbmcgKil1cmxT
dHJpbmcgdG9EYXRhOihjb25zdCBjaGFyKilkYXRhOworLSAodm9pZClzZXRUYXNrSGFuZGxlcjoo
RnVuY3Rpb248dm9pZChpZCA8V0tVUkxTY2hlbWVUYXNrPik+JiYpaGFuZGxlcjsKIEBlbmQKIAog
QGltcGxlbWVudGF0aW9uIERhdGFNYXBwaW5nU2NoZW1lSGFuZGxlcgpAQCAtODc3LDEyICs4ODAs
MTggQEAgLSAodm9pZClhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzooTlNTdHJpbmcgKil1cmxTdHJp
bmcgdG9EYXRhOihjb25zdCBjaGFyKilkYXRhCiAgICAgX2RhdGFNYXBwaW5ncy5zZXQodXJsU3Ry
aW5nLCBbTlNEYXRhIGRhdGFXaXRoQnl0ZXNOb0NvcHk6KHZvaWQqKWRhdGEgbGVuZ3RoOnN0cmxl
bihkYXRhKSBmcmVlV2hlbkRvbmU6Tk9dKTsKIH0KIAorLSAodm9pZClzZXRUYXNrSGFuZGxlcjoo
RnVuY3Rpb248dm9pZChpZCA8V0tVUkxTY2hlbWVUYXNrPik+JiYpaGFuZGxlcgoreworICAgIF90
YXNrSGFuZGxlciA9IFdURk1vdmUoaGFuZGxlcik7Cit9CisKIC0gKHZvaWQpd2ViVmlldzooV0tX
ZWJWaWV3ICopd2ViVmlldyBzdGFydFVSTFNjaGVtZVRhc2s6KGlkIDxXS1VSTFNjaGVtZVRhc2s+
KXRhc2sKIHsKICAgICBOU1VSTCAqZmluYWxVUkwgPSB0YXNrLnJlcXVlc3QuVVJMOwogCiAgICAg
Kytsb2FkQ291bnQ7Ci0gICAgRVhQRUNUX1NUUkVRKCJGb28gQ3VzdG9tIFVzZXJBZ2VudCIsIFtb
dGFzay5yZXF1ZXN0IHZhbHVlRm9ySFRUUEhlYWRlckZpZWxkOkAiVXNlci1BZ2VudCJdIFVURjhT
dHJpbmddKTsKKyAgICBpZiAoX3Rhc2tIYW5kbGVyKQorICAgICAgICBfdGFza0hhbmRsZXIodGFz
ayk7CiAKICAgICBhdXRvIHJlc3BvbnNlID0gYWRvcHROUyhbW05TVVJMUmVzcG9uc2UgYWxsb2Nd
IGluaXRXaXRoVVJMOmZpbmFsVVJMIE1JTUVUeXBlOkAidGV4dC9odG1sIiBleHBlY3RlZENvbnRl
bnRMZW5ndGg6MSB0ZXh0RW5jb2RpbmdOYW1lOm5pbF0pOwogICAgIFt0YXNrIGRpZFJlY2VpdmVS
ZXNwb25zZTpyZXNwb25zZS5nZXQoKV07CkBAIC05NTUsNiArOTY0LDkgQEAgVEVTVChXZWJLaXQs
IFdlYnNpdGVQb2xpY2llc0N1c3RvbVVzZXJBZ2VudCkKICAgICBhdXRvIHNjaGVtZUhhbmRsZXIg
PSBhZG9wdE5TKFtbRGF0YU1hcHBpbmdTY2hlbWVIYW5kbGVyIGFsbG9jXSBpbml0XSk7CiAgICAg
W3NjaGVtZUhhbmRsZXIgYWRkTWFwcGluZ0Zyb21VUkxTdHJpbmc6QCJ0ZXN0Oi8vd3d3LndlYmtp
dC5vcmcvbWFpbi5odG1sIiB0b0RhdGE6Y3VzdG9tVXNlckFnZW50TWFpbkZyYW1lVGVzdEJ5dGVz
XTsKICAgICBbc2NoZW1lSGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInRlc3Q6Ly93
d3cuYXBwbGUuY29tL3N1YmZyYW1lLmh0bWwiIHRvRGF0YTpjdXN0b21Vc2VyQWdlbnRTdWJGcmFt
ZVRlc3RCeXRlc107CisgICAgW3NjaGVtZUhhbmRsZXIgc2V0VGFza0hhbmRsZXI6W10oaWQgPFdL
VVJMU2NoZW1lVGFzaz4gdGFzaykgeworICAgICAgICBFWFBFQ1RfU1RSRVEoIkZvbyBDdXN0b20g
VXNlckFnZW50IiwgW1t0YXNrLnJlcXVlc3QgdmFsdWVGb3JIVFRQSGVhZGVyRmllbGQ6QCJVc2Vy
LUFnZW50Il0gVVRGOFN0cmluZ10pOworICAgIH1dOwogICAgIFtjb25maWd1cmF0aW9uIHNldFVS
TFNjaGVtZUhhbmRsZXI6c2NoZW1lSGFuZGxlci5nZXQoKSBmb3JVUkxTY2hlbWU6QCJ0ZXN0Il07
CiAKICAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBhbGxvY10gaW5p
dFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDgwMCwgNjAwKSBjb25maWd1cmF0aW9uOmNvbmZp
Z3VyYXRpb24uZ2V0KCldKTsKQEAgLTEwMjMsNiArMTAzNSw5MCBAQCBURVNUKFdlYktpdCwgV2Vi
c2l0ZVBvbGljaWVzQ3VzdG9tTmF2aWdhdG9yUGxhdGZvcm0pCiAgICAgRVhQRUNUX1NUUkVRKCJU
ZXN0IEN1c3RvbSBQbGF0Zm9ybSIsIFtbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZhU2Ny
aXB0OkAibmF2aWdhdG9yLnBsYXRmb3JtIl0gVVRGOFN0cmluZ10pOwogfQogCisjaWYgUExBVEZP
Uk0oSU9TX0ZBTUlMWSkKKworc3RhdGljIGNvbnN0IGNoYXIqIGRldmljZU9yaWVudGF0aW9uRXZl
bnRUZXN0Qnl0ZXMgPSBSIlRFU1RSRVNPVVJDRSgKKzxzY3JpcHQ+CithZGRFdmVudExpc3RlbmVy
KCJkZXZpY2VvcmllbnRhdGlvbiIsIChldmVudCkgPT4geworICAgIHdlYmtpdC5tZXNzYWdlSGFu
ZGxlcnMudGVzdEhhbmRsZXIucG9zdE1lc3NhZ2UoInJlY2VpdmVkLWRldmljZS1vcmllbnRhdGlv
bi1ldmVudCIpOworfSk7Cis8L3NjcmlwdD4KKylURVNUUkVTT1VSQ0UiOworCitAaW50ZXJmYWNl
IFdlYnNpdGVQb2xpY2llc0RldmljZU9yaWVudGF0aW9uRGVsZWdhdGUgOiBOU09iamVjdCA8V0tO
YXZpZ2F0aW9uRGVsZWdhdGU+IHsKKyAgICBCT09MIF9kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5h
YmxlZDsKK30KKy0gKGluc3RhbmNldHlwZSlpbml0V2l0aERldmljZU9yaWVudGF0aW9uRXZlbnRF
bmFibGVkOihCT09MKWVuYWJsZWQ7CitAZW5kCisKK0BpbXBsZW1lbnRhdGlvbiBXZWJzaXRlUG9s
aWNpZXNEZXZpY2VPcmllbnRhdGlvbkRlbGVnYXRlCisKKy0gKGluc3RhbmNldHlwZSlpbml0V2l0
aERldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOihCT09MKWVuYWJsZWQKK3sKKyAgICBzZWxm
ID0gW3N1cGVyIGluaXRdOworICAgIF9kZXZpY2VPcmllbnRhdGlvbkV2ZW50RW5hYmxlZCA9IGVu
YWJsZWQ7CisgICAgcmV0dXJuIHNlbGY7Cit9CisKKy0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmll
dyAqKXdlYlZpZXcgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbjooV0tOYXZpZ2F0aW9u
QWN0aW9uICopbmF2aWdhdGlvbkFjdGlvbiB1c2VySW5mbzooaWQgPE5TU2VjdXJlQ29kaW5nPil1
c2VySW5mbyBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKFdLTmF2aWdhdGlvbkFjdGlvblBvbGlj
eSwgX1dLV2Vic2l0ZVBvbGljaWVzICopKWRlY2lzaW9uSGFuZGxlcgoreworICAgIF9XS1dlYnNp
dGVQb2xpY2llcyAqd2Vic2l0ZVBvbGljaWVzID0gW1tbX1dLV2Vic2l0ZVBvbGljaWVzIGFsbG9j
XSBpbml0XSBhdXRvcmVsZWFzZV07CisgICAgW3dlYnNpdGVQb2xpY2llcyBzZXREZXZpY2VPcmll
bnRhdGlvbkV2ZW50RW5hYmxlZDpfZGV2aWNlT3JpZW50YXRpb25FdmVudEVuYWJsZWRdOworCisg
ICAgZGVjaXNpb25IYW5kbGVyKFdLTmF2aWdhdGlvbkFjdGlvblBvbGljeUFsbG93LCB3ZWJzaXRl
UG9saWNpZXMpOworfQorCistICh2b2lkKXdlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlk
RmluaXNoTmF2aWdhdGlvbjooV0tOYXZpZ2F0aW9uICopbmF2aWdhdGlvbgoreworICAgIGZpbmlz
aGVkTmF2aWdhdGlvbiA9IHRydWU7Cit9CisKK0BlbmQKKworc3RhdGljIHZvaWQgcnVuV2Vic2l0
ZVBvbGljaWVzRGV2aWNlT3JpZW50YXRpb25FdmVudFRlc3QoYm9vbCB3ZWJzaXRlUG9saWN5VmFs
dWUpCit7CisgICAgYXV0byBjb25maWd1cmF0aW9uID0gYWRvcHROUyhbW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gYWxsb2NdIGluaXRdKTsKKworICAgIGF1dG8gc2NoZW1lSGFuZGxlciA9IGFkb3B0
TlMoW1tEYXRhTWFwcGluZ1NjaGVtZUhhbmRsZXIgYWxsb2NdIGluaXRdKTsKKyAgICBbc2NoZW1l
SGFuZGxlciBhZGRNYXBwaW5nRnJvbVVSTFN0cmluZzpAInRlc3Q6Ly9sb2NhbGhvc3QvbWFpbi5o
dG1sIiB0b0RhdGE6ZGV2aWNlT3JpZW50YXRpb25FdmVudFRlc3RCeXRlc107CisgICAgW2NvbmZp
Z3VyYXRpb24gc2V0VVJMU2NoZW1lSGFuZGxlcjpzY2hlbWVIYW5kbGVyLmdldCgpIGZvclVSTFNj
aGVtZTpAInRlc3QiXTsKKworICAgIGF1dG8gd2ViVmlldyA9IGFkb3B0TlMoW1tUZXN0V0tXZWJW
aWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgODAwLCA2MDApIGNvbmZp
Z3VyYXRpb246Y29uZmlndXJhdGlvbi5nZXQoKV0pOworCisgICAgYXV0byBkZWxlZ2F0ZSA9IGFk
b3B0TlMoW1tXZWJzaXRlUG9saWNpZXNEZXZpY2VPcmllbnRhdGlvbkRlbGVnYXRlIGFsbG9jXSBp
bml0V2l0aERldmljZU9yaWVudGF0aW9uRXZlbnRFbmFibGVkOndlYnNpdGVQb2xpY3lWYWx1ZV0p
OworICAgIFt3ZWJWaWV3IHNldE5hdmlnYXRpb25EZWxlZ2F0ZTpkZWxlZ2F0ZS5nZXQoKV07CisK
KyAgICBOU1VSTFJlcXVlc3QgKnJlcXVlc3QgPSBbTlNVUkxSZXF1ZXN0IHJlcXVlc3RXaXRoVVJM
OltOU1VSTCBVUkxXaXRoU3RyaW5nOkAidGVzdDovL2xvY2FsaG9zdC9tYWluLmh0bWwiXV07Cisg
ICAgW3dlYlZpZXcgbG9hZFJlcXVlc3Q6cmVxdWVzdF07CisgICAgVGVzdFdlYktpdEFQSTo6VXRp
bDo6cnVuKCZmaW5pc2hlZE5hdmlnYXRpb24pOworICAgIGZpbmlzaGVkTmF2aWdhdGlvbiA9IGZh
bHNlOworCisgICAgX19ibG9jayBib29sIGRpZFJlY2VpdmVNZXNzYWdlID0gZmFsc2U7CisgICAg
W3dlYlZpZXcgcGVyZm9ybUFmdGVyUmVjZWl2aW5nTWVzc2FnZTpAInJlY2VpdmVkLWRldmljZS1v
cmllbnRhdGlvbi1ldmVudCIgYWN0aW9uOl57CisgICAgICAgIGRpZFJlY2VpdmVNZXNzYWdlID0g
dHJ1ZTsKKyAgICB9XTsKKworICAgIFt3ZWJWaWV3IF9zaW11bGF0ZURldmljZU9yaWVudGF0aW9u
Q2hhbmdlV2l0aEFscGhhOjEuMCBiZXRhOjIuMCBnYW1tYTozLjBdOworCisgICAgaWYgKHdlYnNp
dGVQb2xpY3lWYWx1ZSkKKyAgICAgICAgVGVzdFdlYktpdEFQSTo6VXRpbDo6cnVuKCZkaWRSZWNl
aXZlTWVzc2FnZSk7CisgICAgZWxzZSB7CisgICAgICAgIFRlc3RXZWJLaXRBUEk6OlV0aWw6OnNs
ZWVwKDAuMSk7CisgICAgICAgIEVYUEVDVF9GQUxTRShkaWRSZWNlaXZlTWVzc2FnZSk7CisgICAg
fQorfQorCitURVNUKFdlYktpdCwgV2Vic2l0ZVBvbGljaWVzRGV2aWNlT3JpZW50YXRpb25FdmVu
dEVuYWJsZWQpCit7CisgICAgcnVuV2Vic2l0ZVBvbGljaWVzRGV2aWNlT3JpZW50YXRpb25FdmVu
dFRlc3QodHJ1ZSk7Cit9CisKK1RFU1QoV2ViS2l0LCBXZWJzaXRlUG9saWNpZXNEZXZpY2VPcmll
bnRhdGlvbkV2ZW50RGlzYWJsZWQpCit7CisgICAgcnVuV2Vic2l0ZVBvbGljaWVzRGV2aWNlT3Jp
ZW50YXRpb25FdmVudFRlc3QoZmFsc2UpOworfQorCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZB
TUlMWSkKIAogQGludGVyZmFjZSBQb3BVcFBvbGljaWVzRGVsZWdhdGUgOiBOU09iamVjdCA8V0tO
YXZpZ2F0aW9uRGVsZWdhdGUsIFdLVUlEZWxlZ2F0ZVByaXZhdGU+CiBAcHJvcGVydHkgKG5vbmF0
b21pYywgY29weSkgX1dLV2Vic2l0ZVBvcFVwUG9saWN5KF5wb3BVcFBvbGljeUZvclVSTCkoTlNV
UkwgKik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>