<?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>238194</bug_id>
          
          <creation_ts>2022-03-22 01:45:43 -0700</creation_ts>
          <short_desc>[WebGPU] Implement Queue::writeBuffer()</short_desc>
          <delta_ts>2022-03-22 12:48:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebGPU</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="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>dino</cc>
    
    <cc>djg</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853570</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-22 01:45:43 -0700</bug_when>
    <thetext>[WebGPU] Implement Queue::writeBuffer()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853573</commentid>
    <comment_count>1</comment_count>
      <attachid>455350</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-22 01:53:19 -0700</bug_when>
    <thetext>Created attachment 455350
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853575</commentid>
    <comment_count>2</comment_count>
      <attachid>455351</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2022-03-22 01:56:02 -0700</bug_when>
    <thetext>Created attachment 455351
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853611</commentid>
    <comment_count>3</comment_count>
      <attachid>455351</attachid>
    <who name="Kimmo Kinnunen">kkinnunen</who>
    <bug_when>2022-03-22 04:46:19 -0700</bug_when>
    <thetext>Comment on attachment 455351
Patch

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

&gt; Source/WebGPU/WebGPU/Queue.mm:149
&gt; +    // &quot;contentsSize â¥ 0.&quot;

non-latin chars in the source</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853848</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-22 12:47:08 -0700</bug_when>
    <thetext>Committed r291688 (248730@main): &lt;https://commits.webkit.org/248730@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455351.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853849</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-22 12:48:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/90653646&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455350</attachid>
            <date>2022-03-22 01:53:19 -0700</date>
            <delta_ts>2022-03-22 02:13:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238194-20220322015318.patch</filename>
            <type>text/plain</type>
            <size>12951</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IDBjNjhiYzE4YTQxYTY2ZjYw
NjFhNTBiZjUyM2NlNzQ4YTljNDVjOWYuLjc1NGRiYzQwZjliZjFhMWU2ZGM4YjJhY2ZiMjg5MDNi
YjQ1MTNmNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjItMDMtMjIgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBs
ZW1lbnQgUXVldWU6OndyaXRlQnVmZmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzODE5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBzZW1hbnRpY3Mgb2Ygd3JpdGVCdWZmZXIoKSBhcmUgdGhh
dCB0aGUgZGF0YSBzaG91bGQgYmUgd3JpdHRlbiwgYnV0IHNwZWNpZmljYWxseQorICAgICAgICBh
dCB0aGUgY3VycmVudCBwb2ludCBpbiB0aGUgcXVldWUuIFNvLCB3ZSBjYW4ndCBqdXN0IG5haXZl
bHkgbWVtY3B5KCksIGZvciAyIHJlYXNvbnM6CisgICAgICAgIDEuIElmIHRoZSBidWZmZXIgaXMg
aW4tdXNlLCBtZW1jcHkoKSB3aWxsIGNsb2JiZXIgaXRzIGN1cnJlbnQgY29udGVudHMsIGxlYWRp
bmcgdG8KKyAgICAgICAgICAgICAgICBjb3JydXB0aW9uLiBJbnN0ZWFkLCBpdCdzIHN1cHBvc2Vk
IHRvIHBvcHVsYXRlIHRoZSBidWZmZXIgYXQgdGhlIGN1cnJlbnQgcG9pbnQKKyAgICAgICAgICAg
ICAgICBpbiB0aGUgcXVldWUsIGFzLWlmIGl0IHdhcyBhIHF1ZXVlIGl0ZW0uCisgICAgICAgIDIu
IElmIHRoZSBidWZmZXIgaXMgYSBwcml2YXRlIGJ1ZmZlciwgd2UgY2FuJ3QgbWVtY3B5KCkgdG8g
aXQgYW55d2F5CisKKyAgICAgICAgU28sIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0
aW9uIGZpcnN0IHRyaWVzIHRvIHNlZSBpZiB3ZSBjYW4gbWVtY3B5KCk6IGlmIHRoZQorICAgICAg
ICBidWZmZXIgaXMgc2hhcmVkIG9yIG1hbmFnZWQsIGFuZCBpZiB0aGUgcXVldWUgaXMgaWRsZS4g
SWYgaXQgY2FuLCB0aGVuIGl0IGRvZXMgc28sIGJ1dAorICAgICAgICBpZiBpdCBjYW4ndCwgaXQg
Y3JlYXRlcyBhIHRlbXBvcmFyeSBidWZmZXIgYW5kIGVucXVldWVzIGEgcXVldWUgY29tbWFuZCB0
byBjb3B5IHRoZQorICAgICAgICBjb250ZW50cyBvZiB0aGUgdGVtcG9yYXJ5IGJ1ZmZlciBpbnRv
IHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCisKKyAgICAgICAgVGhhdCBjb3B5IGNvbW1hbmQgaXMg
cGFydCBvZiBhIGxhemlseSBjcmVhdGVkIGNvbW1hbmQgYnVmZmVyLgorCisgICAgICAgIFRlc3Q6
IGFwaS92YWxpZGF0aW9uL3F1ZXVlL3dyaXRlQnVmZmVyLnNwZWMudHMKKworICAgICAgICAqIFdl
YkdQVS9CdWZmZXIuaDoKKyAgICAgICAgKFdlYkdQVTo6QnVmZmVyOjpzdGF0ZSBjb25zdCk6Cisg
ICAgICAgICogV2ViR1BVL0RldmljZS5oOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmRldmlj
ZSBjb25zdCk6CisgICAgICAgICogV2ViR1BVL1F1ZXVlLmg6CisgICAgICAgIChXZWJHUFU6OlF1
ZXVlOjppc0lkbGUgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9RdWV1ZS5tbToKKyAgICAgICAg
KFdlYkdQVTo6UXVldWU6On5RdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjplbnN1cmVC
bGl0Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6ZmluYWxpemVCbGl0
Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6b25TdWJtaXR0ZWRXb3Jr
RG9uZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjpjb21taXRNVExDb21tYW5kQnVmZmVyKToK
KyAgICAgICAgKFdlYkdQVTo6UXVldWU6OnN1Ym1pdCk6CisgICAgICAgIChXZWJHUFU6OnZhbGlk
YXRlV3JpdGVCdWZmZXJJbml0aWFsKToKKyAgICAgICAgKFdlYkdQVTo6UXVldWU6OnZhbGlkYXRl
V3JpdGVCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6d3JpdGVCdWZmZXIp
OgorCiAyMDIyLTAzLTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYkdQVV0gbWF4QW5pc290cm9weSA+IDE2IGlzIGNsYW1wZWQsIHJhdGhl
ciB0aGFuIGlsbGVnYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5o
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKaW5kZXggN2M5Y2I2ZjYzNWMzNTUzMDUy
MTRkMmQ1Y2UxMTRhYmE5Yzk3NWJkNS4uZTk5NmYxNzZiZDVjYzU0MDQ1MzkxMTRlMDdjM2U1OGI2
NWZhNDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKQEAgLTczLDYgKzczLDcgQEAgcHVibGljOgog
ICAgIGlkPE1UTEJ1ZmZlcj4gYnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXI7IH0KICAg
ICB1aW50NjRfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgV0dQVUJ1ZmZl
clVzYWdlRmxhZ3MgdXNhZ2UoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlOyB9CisgICAgU3RhdGUg
c3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAKIHByaXZhdGU6CiAgICAgQnVmZmVy
KGlkPE1UTEJ1ZmZlcj4sIHVpbnQ2NF90IHNpemUsIFdHUFVCdWZmZXJVc2FnZUZsYWdzLCBTdGF0
ZSBpbml0aWFsU3RhdGUsIE1hcHBpbmdSYW5nZSBpbml0aWFsTWFwcGluZ1JhbmdlLCBEZXZpY2Um
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvRGV2aWNlLmgKaW5kZXggYjkyNWI4MWFiMzdjYzk5M2Q1ZWYwNjRiMGQxZmI3
NDQ4ZWU1MGYyZC4uYzdmYTM3ZmVmOThhZTMwMTY1YmJmYWNiNGY3YWU0NTFjZDhmNzUwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvRGV2aWNlLmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0
VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soRnVuY3Rpb248dm9pZChXR1BVRXJyb3JUeXBlLCBTdHJp
bmcmJik+JiYpOwogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCisgICAgaWQ8TVRMRGV2
aWNlPiBkZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2RldmljZTsgfQorCiAgICAgdm9pZCBnZW5l
cmF0ZUFWYWxpZGF0aW9uRXJyb3IoU3RyaW5nJiYgbWVzc2FnZSk7CiAKICAgICBJbnN0YW5jZSYg
aW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luc3RhbmNlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaApp
bmRleCA3YjkyOGE3MTg0YjE4YmViN2I4MmUyODJiODc4MWQ3YTY0NGRjMzg3Li5mMWYwYWE0MDMy
ZTg4ZmUwYzI5YTE5ZDNkMjY3ODNlNjViNTdiZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9RdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLmgKQEAgLTYx
LDExICs2MSwyMCBAQCBwcml2YXRlOgogICAgIFF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4sIERl
dmljZSYpOwogCiAgICAgYm9vbCB2YWxpZGF0ZVN1Ym1pdCgpIGNvbnN0OworICAgIGJvb2wgdmFs
aWRhdGVXcml0ZUJ1ZmZlcihjb25zdCBCdWZmZXImLCB1aW50NjRfdCBidWZmZXJPZmZzZXQsIHNp
emVfdCkgY29uc3Q7CisKKyAgICB2b2lkIGVuc3VyZUJsaXRDb21tYW5kRW5jb2RlcigpOworICAg
IHZvaWQgZmluYWxpemVCbGl0Q29tbWFuZEVuY29kZXIoKTsKKworICAgIHZvaWQgY29tbWl0TVRM
Q29tbWFuZEJ1ZmZlcihpZDxNVExDb21tYW5kQnVmZmVyPik7CisgICAgYm9vbCBpc0lkbGUoKSBj
b25zdCB7IHJldHVybiBtX3N1Ym1pdHRlZENvbW1hbmRCdWZmZXJDb3VudCA9PSBtX2NvbXBsZXRl
ZENvbW1hbmRCdWZmZXJDb3VudDsgfQogCiAgICAgLy8gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGEg
YmFja2dyb3VuZCB0aHJlYWQuCiAgICAgdm9pZCBzY2hlZHVsZVdvcmsoSW5zdGFuY2U6OldvcmtJ
dGVtJiYpOwogCiAgICAgY29uc3QgaWQ8TVRMQ29tbWFuZFF1ZXVlPiBtX2NvbW1hbmRRdWV1ZSB7
IG5pbCB9OworICAgIGlkPE1UTENvbW1hbmRCdWZmZXI+IG1fY29tbWFuZEJ1ZmZlciB7IG5pbCB9
OworICAgIGlkPE1UTEJsaXRDb21tYW5kRW5jb2Rlcj4gbV9ibGl0Q29tbWFuZEVuY29kZXIgeyBu
aWwgfTsKICAgICBEZXZpY2UmIG1fZGV2aWNlOyAvLyBUaGUgb25seSBraW5kIG9mIHF1ZXVlcyB0
aGF0IGV4aXN0IHJpZ2h0IG5vdyBhcmUgZGVmYXVsdCBxdWV1ZXMsIHdoaWNoIGFyZSBvd25lZCBi
eSBEZXZpY2VzLgogCiAgICAgdWludDY0X3QgbV9zdWJtaXR0ZWRDb21tYW5kQnVmZmVyQ291bnQg
eyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbSBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCmluZGV4IDBkY2I1MDg4NGRjYzA5YzUwNTQ1ODNmMDMy
YTU5YzE5Y2M2MmI0NjguLjcwOTNmYmVlNTZlZTVhZmUxNGU5ODE4OTU3YTVjMTg1MDYwYmFhNmIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCisrKyBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCkBAIC0zOSw3ICszOSw0MiBAQCBRdWV1ZTo6UXVldWUoaWQ8
TVRMQ29tbWFuZFF1ZXVlPiBjb21tYW5kUXVldWUsIERldmljZSYgZGV2aWNlKQogewogfQogCi1R
dWV1ZTo6flF1ZXVlKCkgPSBkZWZhdWx0OworUXVldWU6On5RdWV1ZSgpCit7CisgICAgLy8gSWYg
d2UncmUgbm90IGlkbGUsIHRoZW4gdGhlcmUncyBhIHBlbmRpbmcgY29tcGxldGVkIGhhbmRsZXIg
dG8gYmUgcnVuLAorICAgIC8vIGJ1dCB0aGUgY29tcGxldGVkIGhhbmRsZXIgc2hvdWxkIGhhdmUg
cmV0YWluZWQgdXMsCisgICAgLy8gd2hpY2ggbWVhbnMgd2Ugc2hvdWxkbid0IGJlIGJlaW5nIGRl
c3Ryb3llZC4KKyAgICAvLyBTbyB3ZSBtdXN0IGJlIGlkbGUuCisgICAgQVNTRVJUKGlzSWRsZSgp
KTsKKworICAgIC8vIFdlIGNhbid0IGFjdHVhbGx5IGNhbGwgZmluYWxpemVCbGl0Q29tbWFuZEVu
Y29kZXIoKSBoZXJlIGJlY2F1c2UsIGlmIHRoZXJlIGFyZSBwZW5kaW5nIGNvcGllcywKKyAgICAv
LyB0aGF0IHdvdWxkIGNhdXNlIHRoZW0gdG8gYmUgY29tbWl0dGVkLCB3aGljaCBlbmRzIHVwIHJl
dGFpbmluZyB0aGlzIGluIHRoZSBjb21wbGV0ZWQgaGFuZGxlci4KKyAgICAvLyBJdCdzIGFjdHVh
bGx5IGZpbmUsIHRob3VnaCwgYmVjYXVzZSB3ZSBjYW4ganVzdCBkcm9wIGFueSBwZW5kaW5nIGNv
cGllcyBvbiB0aGUgZmxvb3IuCisgICAgLy8gSWYgdGhlIHF1ZXVlIGlzIGJlaW5nIGRlc3Ryb3ll
ZCwgdGhpcyBpcyB1bm9ic2VydmFibGUuCisgICAgaWYgKG1fYmxpdENvbW1hbmRFbmNvZGVyKQor
ICAgICAgICBbbV9ibGl0Q29tbWFuZEVuY29kZXIgZW5kRW5jb2RpbmddOworfQorCit2b2lkIFF1
ZXVlOjplbnN1cmVCbGl0Q29tbWFuZEVuY29kZXIoKQoreworICAgIGlmIChtX2JsaXRDb21tYW5k
RW5jb2RlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byAqY29tbWFuZEJ1ZmZlckRlc2Ny
aXB0b3IgPSBbTVRMQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgbmV3XTsKKyAgICBjb21tYW5kQnVm
ZmVyRGVzY3JpcHRvci5lcnJvck9wdGlvbnMgPSBNVExDb21tYW5kQnVmZmVyRXJyb3JPcHRpb25F
bmNvZGVyRXhlY3V0aW9uU3RhdHVzOworICAgIG1fY29tbWFuZEJ1ZmZlciA9IFttX2NvbW1hbmRR
dWV1ZSBjb21tYW5kQnVmZmVyV2l0aERlc2NyaXB0b3I6Y29tbWFuZEJ1ZmZlckRlc2NyaXB0b3Jd
OworICAgIG1fYmxpdENvbW1hbmRFbmNvZGVyID0gW21fY29tbWFuZEJ1ZmZlciBibGl0Q29tbWFu
ZEVuY29kZXJdOworfQorCit2b2lkIFF1ZXVlOjpmaW5hbGl6ZUJsaXRDb21tYW5kRW5jb2Rlcigp
Cit7CisgICAgaWYgKG1fYmxpdENvbW1hbmRFbmNvZGVyKSB7CisgICAgICAgIFttX2JsaXRDb21t
YW5kRW5jb2RlciBlbmRFbmNvZGluZ107CisgICAgICAgIGNvbW1pdE1UTENvbW1hbmRCdWZmZXIo
bV9jb21tYW5kQnVmZmVyKTsKKyAgICAgICAgbV9ibGl0Q29tbWFuZEVuY29kZXIgPSBuaWw7Cisg
ICAgICAgIG1fY29tbWFuZEJ1ZmZlciA9IG5pbDsKKyAgICB9Cit9CiAKIHZvaWQgUXVldWU6Om9u
U3VibWl0dGVkV29ya0RvbmUodWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV0dQVVF1
ZXVlV29ya0RvbmVTdGF0dXMpPiYmIGNhbGxiYWNrKQogewpAQCAtNDcsNyArODIsOSBAQCB2b2lk
IFF1ZXVlOjpvblN1Ym1pdHRlZFdvcmtEb25lKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdHUFVRdWV1ZVdvcmtEbwogCiAgICAgQVNTRVJUKG1fc3VibWl0dGVkQ29tbWFuZEJ1ZmZl
ckNvdW50ID49IG1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKIAotICAgIGlmIChtX3N1
Ym1pdHRlZENvbW1hbmRCdWZmZXJDb3VudCA9PSBtX2NvbXBsZXRlZENvbW1hbmRCdWZmZXJDb3Vu
dCkgeworICAgIGZpbmFsaXplQmxpdENvbW1hbmRFbmNvZGVyKCk7CisKKyAgICBpZiAoaXNJZGxl
KCkpIHsKICAgICAgICAgc2NoZWR1bGVXb3JrKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XSgpIG11dGFibGUgewogICAgICAgICAgICAgY2FsbGJhY2soV0dQVVF1ZXVlV29ya0RvbmVTdGF0
dXNfU3VjY2Vzcyk7CiAgICAgICAgIH0pOwpAQCAtNzIsNiArMTA5LDIxIEBAIGJvb2wgUXVldWU6
OnZhbGlkYXRlU3VibWl0KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBRdWV1
ZTo6Y29tbWl0TVRMQ29tbWFuZEJ1ZmZlcihpZDxNVExDb21tYW5kQnVmZmVyPiBjb21tYW5kQnVm
ZmVyKQoreworICAgIEFTU0VSVChjb21tYW5kQnVmZmVyLmNvbW1hbmRRdWV1ZSA9PSBtX2NvbW1h
bmRRdWV1ZSk7CisgICAgW2NvbW1hbmRCdWZmZXIgYWRkQ29tcGxldGVkSGFuZGxlcjpbcHJvdGVj
dGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dKGlkPE1UTENvbW1hbmRCdWZmZXI+KSB7CisgICAgICAg
IHByb3RlY3RlZFRoaXMtPnNjaGVkdWxlV29yayhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHZvaWQp
PihbcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpXSgpIHsKKyAgICAgICAg
ICAgICsrKHByb3RlY3RlZFRoaXMtPm1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwcm90ZWN0ZWRUaGlzLT5tX29uU3VibWl0
dGVkV29ya0RvbmVDYWxsYmFja3MudGFrZShwcm90ZWN0ZWRUaGlzLT5tX2NvbXBsZXRlZENvbW1h
bmRCdWZmZXJDb3VudCkpCisgICAgICAgICAgICAgICAgY2FsbGJhY2soV0dQVVF1ZXVlV29ya0Rv
bmVTdGF0dXNfU3VjY2Vzcyk7CisgICAgICAgIH0sIENvbXBsZXRpb25IYW5kbGVyQ2FsbFRocmVh
ZDo6TWFpblRocmVhZCkpOworICAgIH1dOworCisgICAgW2NvbW1hbmRCdWZmZXIgY29tbWl0XTsK
KyAgICArK21fc3VibWl0dGVkQ29tbWFuZEJ1ZmZlckNvdW50OworfQorCiB2b2lkIFF1ZXVlOjpz
dWJtaXQoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8Y29uc3QgQ29tbWFuZEJ1ZmZlcj4+
JiYgY29tbWFuZHMpCiB7CiAgICAgLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8j
ZG9tLWdwdXF1ZXVlLXN1Ym1pdApAQCAtODMsMzAgKzEzNSwxMTEgQEAgdm9pZCBRdWV1ZTo6c3Vi
bWl0KFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPGNvbnN0IENvbW1hbmRCdWZmZXI+PiYm
IGNvbW1hbmQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGZpbmFsaXplQmxpdENvbW1h
bmRFbmNvZGVyKCk7CisKICAgICAvLyAiRm9yIGVhY2ggY29tbWFuZEJ1ZmZlciBpbiBjb21tYW5k
QnVmZmVyczoiCiAgICAgZm9yIChhdXRvIGNvbW1hbmRCdWZmZXIgOiBjb21tYW5kcykgewotICAg
ICAgICBBU1NFUlQoY29tbWFuZEJ1ZmZlci5nZXQoKS5jb21tYW5kQnVmZmVyKCkuY29tbWFuZFF1
ZXVlID09IG1fY29tbWFuZFF1ZXVlKTsgLy8KLSAgICAgICAgW2NvbW1hbmRCdWZmZXIuZ2V0KCku
Y29tbWFuZEJ1ZmZlcigpIGFkZENvbXBsZXRlZEhhbmRsZXI6W3Byb3RlY3RlZFRoaXMgPSBSZWYg
eyAqdGhpcyB9XShpZDxNVExDb21tYW5kQnVmZmVyPikgewotICAgICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+c2NoZWR1bGVXb3JrKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodm9pZCk+KFtwcm90ZWN0
ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVmKCldKCkgewotICAgICAgICAgICAgICAgICsr
KHByb3RlY3RlZFRoaXMtPm1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKLSAgICAgICAg
ICAgICAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDogcHJvdGVjdGVkVGhpcy0+bV9vblN1Ym1pdHRl
ZFdvcmtEb25lQ2FsbGJhY2tzLnRha2UocHJvdGVjdGVkVGhpcy0+bV9jb21wbGV0ZWRDb21tYW5k
QnVmZmVyQ291bnQpKQotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXR1BVUXVldWVXb3Jr
RG9uZVN0YXR1c19TdWNjZXNzKTsKLSAgICAgICAgICAgIH0sIENvbXBsZXRpb25IYW5kbGVyQ2Fs
bFRocmVhZDo6TWFpblRocmVhZCkpOwotICAgICAgICB9XTsKLQogICAgICAgICAvLyAiRXhlY3V0
ZSBlYWNoIGNvbW1hbmQgaW4gY29tbWFuZEJ1ZmZlci5bW2NvbW1hbmRfbGlzdF1dLiIKLSAgICAg
ICAgW2NvbW1hbmRCdWZmZXIuZ2V0KCkuY29tbWFuZEJ1ZmZlcigpIGNvbW1pdF07CisgICAgICAg
IGNvbW1pdE1UTENvbW1hbmRCdWZmZXIoY29tbWFuZEJ1ZmZlci5nZXQoKS5jb21tYW5kQnVmZmVy
KCkpOwogICAgIH0KK30KKworc3RhdGljIGJvb2wgdmFsaWRhdGVXcml0ZUJ1ZmZlckluaXRpYWwo
c2l6ZV90IHNpemUpCit7CisgICAgLy8gImNvbnRlbnRzU2l6ZSDiiaUgMC4iCisKKyAgICAvLyAi
ZGF0YU9mZnNldCArIGNvbnRlbnRzU2l6ZSDiiaQgZGF0YVNpemUuIgogCi0gICAgbV9zdWJtaXR0
ZWRDb21tYW5kQnVmZmVyQ291bnQgKz0gY29tbWFuZHMuc2l6ZSgpOworICAgIC8vICJjb250ZW50
c1NpemUsIGNvbnZlcnRlZCB0byBieXRlcywgaXMgYSBtdWx0aXBsZSBvZiA0IGJ5dGVzLiIKKyAg
ICBpZiAoc2l6ZSAlIDQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVl
OworfQorCitib29sIFF1ZXVlOjp2YWxpZGF0ZVdyaXRlQnVmZmVyKGNvbnN0IEJ1ZmZlciYgYnVm
ZmVyLCB1aW50NjRfdCBidWZmZXJPZmZzZXQsIHNpemVfdCBzaXplKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiAiYnVmZmVyIGlzIHZhbGlkIHRvIHVzZSB3aXRoIHRoaXMuIgorCisgICAgLy8gImJ1
ZmZlci5bW3N0YXRlXV0gaXMgdW5tYXBwZWQuIgorICAgIGlmIChidWZmZXIuc3RhdGUoKSAhPSBC
dWZmZXI6OlN0YXRlOjpVbm1hcHBlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
ImJ1ZmZlci5bW3VzYWdlXV0gaW5jbHVkZXMgQ09QWV9EU1QuIgorICAgIGlmICghKGJ1ZmZlci51
c2FnZSgpICYgV0dQVUJ1ZmZlclVzYWdlX0NvcHlEc3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyAiYnVmZmVyT2Zmc2V0LCBjb252ZXJ0ZWQgdG8gYnl0ZXMsIGlzIGEgbXVsdGlw
bGUgb2YgNCBieXRlcy4iCisgICAgaWYgKGJ1ZmZlck9mZnNldCAlIDQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIC8vICJidWZmZXJPZmZzZXQgKyBjb250ZW50c1NpemUsIGNvbnZlcnRl
ZCB0byBieXRlcywg4omkIGJ1ZmZlci5bW3NpemVdXSBieXRlcy4iCisgICAgLy8gRklYTUU6IFVz
ZSBjaGVja2VkIGFyaXRobWV0aWMKKyAgICBpZiAoYnVmZmVyT2Zmc2V0ICsgc2l6ZSA+IGJ1ZmZl
ci5zaXplKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQog
CiB2b2lkIFF1ZXVlOjp3cml0ZUJ1ZmZlcihjb25zdCBCdWZmZXImIGJ1ZmZlciwgdWludDY0X3Qg
YnVmZmVyT2Zmc2V0LCBjb25zdCB2b2lkKiBkYXRhLCBzaXplX3Qgc2l6ZSkKIHsKLSAgICBVTlVT
RURfUEFSQU0oYnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVyT2Zmc2V0KTsKLSAgICBV
TlVTRURfUEFSQU0oZGF0YSk7Ci0gICAgVU5VU0VEX1BBUkFNKHNpemUpOworICAgIC8vIGh0dHBz
Oi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2RvbS1ncHVxdWV1ZS13cml0ZWJ1ZmZlcgorCisg
ICAgLy8gIklmIGRhdGEgaXMgYW4gQXJyYXlCdWZmZXIgb3IgRGF0YVZpZXcsIGxldCB0aGUgZWxl
bWVudCB0eXBlIGJlICJieXRlIi4gT3RoZXJ3aXNlLCBkYXRhIGlzIGEgVHlwZWRBcnJheTsgbGV0
IHRoZSBlbGVtZW50IHR5cGUgYmUgdGhlIHR5cGUgb2YgdGhlIFR5cGVkQXJyYXkuIgorCisgICAg
Ly8gIkxldCBkYXRhU2l6ZSBiZSB0aGUgc2l6ZSBvZiBkYXRhLCBpbiBlbGVtZW50cy4iCisKKyAg
ICAvLyAiSWYgc2l6ZSBpcyBtaXNzaW5nLCBsZXQgY29udGVudHNTaXplIGJlIGRhdGFTaXplIOKI
kiBkYXRhT2Zmc2V0LiBPdGhlcndpc2UsIGxldCBjb250ZW50c1NpemUgYmUgc2l6ZS4iCisKKyAg
ICAvLyAiSWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdW5zYXRpc2ZpZWQi
CisgICAgaWYgKCF2YWxpZGF0ZVdyaXRlQnVmZmVySW5pdGlhbChzaXplKSkgeworICAgICAgICAv
LyBGSVhNRTogInRocm93IE9wZXJhdGlvbkVycm9yIGFuZCBzdG9wLiIKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIC8vICJMZXQgZGF0YUNvbnRlbnRzIGJlIGEgY29weSBvZiB0aGUgYnl0
ZXMgaGVsZCBieSB0aGUgYnVmZmVyIHNvdXJjZS4iCisKKyAgICAvLyAiTGV0IGNvbnRlbnRzIGJl
IHRoZSBjb250ZW50c1NpemUgZWxlbWVudHMgb2YgZGF0YUNvbnRlbnRzIHN0YXJ0aW5nIGF0IGFu
IG9mZnNldCBvZiBkYXRhT2Zmc2V0IGVsZW1lbnRzLiIKKworICAgIC8vICJJZiBhbnkgb2YgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB1bnNhdGlzZmllZCIKKyAgICBpZiAoIXZhbGlkYXRl
V3JpdGVCdWZmZXIoYnVmZmVyLCBidWZmZXJPZmZzZXQsIHNpemUpKSB7CisgICAgICAgIC8vICJn
ZW5lcmF0ZSBhIHZhbGlkYXRpb24gZXJyb3IgYW5kIHN0b3AuIgorICAgICAgICBtX2RldmljZS5n
ZW5lcmF0ZUFWYWxpZGF0aW9uRXJyb3IoIlZhbGlkYXRpb24gZmFpbHVyZS4iX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgLy8gIldyaXRlIGNvbnRlbnRzIGludG8gYnVmZmVyIHN0
YXJ0aW5nIGF0IGJ1ZmZlck9mZnNldC4iCisgICAgaWYgKCFzaXplKQorICAgICAgICByZXR1cm47
CisKKyAgICAvLyBGSVhNRShQRVJGT1JNQU5DRSk6IEluc3RlYWQgb2YgY2hlY2tpbmcgd2hldGhl
ciBvciBub3QgdGhlIHdob2xlIHF1ZXVlIGlzIGlkbGUsCisgICAgLy8gd2UgY291bGQgZGV0ZWN0
IHdoZXRoZXIgdGhpcyBzcGVjaWZpYyByZXNvdXJjZSBpcyBpZGxlLCBpZiB3ZSB0cmFja2VkIGV2
ZXJ5IHJlc291cmNlLgorICAgIGlmIChpc0lkbGUoKSkgeworICAgICAgICBzd2l0Y2ggKGJ1ZmZl
ci5idWZmZXIoKS5zdG9yYWdlTW9kZSkgeworICAgICAgICBjYXNlIE1UTFN0b3JhZ2VNb2RlU2hh
cmVkOgorICAgICAgICAgICAgbWVtY3B5KHN0YXRpY19jYXN0PGNoYXIqPihidWZmZXIuYnVmZmVy
KCkuY29udGVudHMpICsgYnVmZmVyT2Zmc2V0LCBkYXRhLCBzaXplKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorICAgICAg
ICBjYXNlIE1UTFN0b3JhZ2VNb2RlTWFuYWdlZDoKKyAgICAgICAgICAgIG1lbWNweShzdGF0aWNf
Y2FzdDxjaGFyKj4oYnVmZmVyLmJ1ZmZlcigpLmNvbnRlbnRzKSArIGJ1ZmZlck9mZnNldCwgZGF0
YSwgc2l6ZSk7CisgICAgICAgICAgICBbYnVmZmVyLmJ1ZmZlcigpIGRpZE1vZGlmeVJhbmdlOk5T
TWFrZVJhbmdlKGJ1ZmZlck9mZnNldCwgc2l6ZSldOworICAgICAgICAgICAgcmV0dXJuOworI2Vu
ZGlmCisgICAgICAgIGNhc2UgTVRMU3RvcmFnZU1vZGVQcml2YXRlOgorICAgICAgICAgICAgLy8g
VGhlIG9ubHkgd2F5IHRvIGdldCBkYXRhIGludG8gYSBwcml2YXRlIHJlc291cmNlIGlzIHRvIHRl
bGwgdGhlIEdQVSB0byBjb3B5IGl0IGluLgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGVuc3VyZUJsaXRDb21tYW5kRW5jb2Rlcigp
OworICAgIC8vIEZJWE1FKFBFUkZPUk1BTkNFKTogU3ViYWxsb2NhdGUsIHNvIHRoZSBjb21tb24g
Y2FzZSBkb2Vzbid0IG5lZWQgdG8gaGl0IHRoZSBrZXJuZWwuCisgICAgaWQ8TVRMQnVmZmVyPiB0
ZW1wb3JhcnlCdWZmZXIgPSBbbV9kZXZpY2UuZGV2aWNlKCkgbmV3QnVmZmVyV2l0aEJ5dGVzOmRh
dGEgbGVuZ3RoOnN0YXRpY19jYXN0PE5TVUludGVnZXI+KHNpemUpIG9wdGlvbnM6TVRMUmVzb3Vy
Y2VTdG9yYWdlTW9kZVNoYXJlZF07CisgICAgaWYgKCF0ZW1wb3JhcnlCdWZmZXIpCisgICAgICAg
IHJldHVybjsKKyAgICBbbV9ibGl0Q29tbWFuZEVuY29kZXIgY29weUZyb21CdWZmZXI6dGVtcG9y
YXJ5QnVmZmVyIHNvdXJjZU9mZnNldDowIHRvQnVmZmVyOmJ1ZmZlci5idWZmZXIoKSBkZXN0aW5h
dGlvbk9mZnNldDpidWZmZXJPZmZzZXQgc2l6ZTpzdGF0aWNfY2FzdDxOU1VJbnRlZ2VyPihzaXpl
KV07CiB9CiAKIHZvaWQgUXVldWU6OndyaXRlVGV4dHVyZShjb25zdCBXR1BVSW1hZ2VDb3B5VGV4
dHVyZSYgZGVzdGluYXRpb24sIGNvbnN0IHZvaWQqIGRhdGEsIHNpemVfdCBkYXRhU2l6ZSwgY29u
c3QgV0dQVVRleHR1cmVEYXRhTGF5b3V0JiBkYXRhTGF5b3V0LCBjb25zdCBXR1BVRXh0ZW50M0Qm
IHdyaXRlU2l6ZSkK
</data>
<flag name="commit-queue"
          id="483315"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455351</attachid>
            <date>2022-03-22 01:56:02 -0700</date>
            <delta_ts>2022-03-22 12:47:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238194-20220322015601.patch</filename>
            <type>text/plain</type>
            <size>12976</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNjA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCmluZGV4IDBjNjhiYzE4YTQxYTY2ZjYw
NjFhNTBiZjUyM2NlNzQ4YTljNDVjOWYuLjc1NGRiYzQwZjliZjFhMWU2ZGM4YjJhY2ZiMjg5MDNi
YjQ1MTNmNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJHUFUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMjItMDMtMjIgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViR1BVXSBJbXBs
ZW1lbnQgUXVldWU6OndyaXRlQnVmZmVyKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzODE5NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZSBzZW1hbnRpY3Mgb2Ygd3JpdGVCdWZmZXIoKSBhcmUgdGhh
dCB0aGUgZGF0YSBzaG91bGQgYmUgd3JpdHRlbiwgYnV0IHNwZWNpZmljYWxseQorICAgICAgICBh
dCB0aGUgY3VycmVudCBwb2ludCBpbiB0aGUgcXVldWUuIFNvLCB3ZSBjYW4ndCBqdXN0IG5haXZl
bHkgbWVtY3B5KCksIGZvciAyIHJlYXNvbnM6CisgICAgICAgIDEuIElmIHRoZSBidWZmZXIgaXMg
aW4tdXNlLCBtZW1jcHkoKSB3aWxsIGNsb2JiZXIgaXRzIGN1cnJlbnQgY29udGVudHMsIGxlYWRp
bmcgdG8KKyAgICAgICAgICAgICAgICBjb3JydXB0aW9uLiBJbnN0ZWFkLCBpdCdzIHN1cHBvc2Vk
IHRvIHBvcHVsYXRlIHRoZSBidWZmZXIgYXQgdGhlIGN1cnJlbnQgcG9pbnQKKyAgICAgICAgICAg
ICAgICBpbiB0aGUgcXVldWUsIGFzLWlmIGl0IHdhcyBhIHF1ZXVlIGl0ZW0uCisgICAgICAgIDIu
IElmIHRoZSBidWZmZXIgaXMgYSBwcml2YXRlIGJ1ZmZlciwgd2UgY2FuJ3QgbWVtY3B5KCkgdG8g
aXQgYW55d2F5CisKKyAgICAgICAgU28sIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGlzIGZ1bmN0
aW9uIGZpcnN0IHRyaWVzIHRvIHNlZSBpZiB3ZSBjYW4gbWVtY3B5KCk6IGlmIHRoZQorICAgICAg
ICBidWZmZXIgaXMgc2hhcmVkIG9yIG1hbmFnZWQsIGFuZCBpZiB0aGUgcXVldWUgaXMgaWRsZS4g
SWYgaXQgY2FuLCB0aGVuIGl0IGRvZXMgc28sIGJ1dAorICAgICAgICBpZiBpdCBjYW4ndCwgaXQg
Y3JlYXRlcyBhIHRlbXBvcmFyeSBidWZmZXIgYW5kIGVucXVldWVzIGEgcXVldWUgY29tbWFuZCB0
byBjb3B5IHRoZQorICAgICAgICBjb250ZW50cyBvZiB0aGUgdGVtcG9yYXJ5IGJ1ZmZlciBpbnRv
IHRoZSBkZXN0aW5hdGlvbiBidWZmZXIuCisKKyAgICAgICAgVGhhdCBjb3B5IGNvbW1hbmQgaXMg
cGFydCBvZiBhIGxhemlseSBjcmVhdGVkIGNvbW1hbmQgYnVmZmVyLgorCisgICAgICAgIFRlc3Q6
IGFwaS92YWxpZGF0aW9uL3F1ZXVlL3dyaXRlQnVmZmVyLnNwZWMudHMKKworICAgICAgICAqIFdl
YkdQVS9CdWZmZXIuaDoKKyAgICAgICAgKFdlYkdQVTo6QnVmZmVyOjpzdGF0ZSBjb25zdCk6Cisg
ICAgICAgICogV2ViR1BVL0RldmljZS5oOgorICAgICAgICAoV2ViR1BVOjpEZXZpY2U6OmRldmlj
ZSBjb25zdCk6CisgICAgICAgICogV2ViR1BVL1F1ZXVlLmg6CisgICAgICAgIChXZWJHUFU6OlF1
ZXVlOjppc0lkbGUgY29uc3QpOgorICAgICAgICAqIFdlYkdQVS9RdWV1ZS5tbToKKyAgICAgICAg
KFdlYkdQVTo6UXVldWU6On5RdWV1ZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjplbnN1cmVC
bGl0Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6ZmluYWxpemVCbGl0
Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6b25TdWJtaXR0ZWRXb3Jr
RG9uZSk6CisgICAgICAgIChXZWJHUFU6OlF1ZXVlOjpjb21taXRNVExDb21tYW5kQnVmZmVyKToK
KyAgICAgICAgKFdlYkdQVTo6UXVldWU6OnN1Ym1pdCk6CisgICAgICAgIChXZWJHUFU6OnZhbGlk
YXRlV3JpdGVCdWZmZXJJbml0aWFsKToKKyAgICAgICAgKFdlYkdQVTo6UXVldWU6OnZhbGlkYXRl
V3JpdGVCdWZmZXIgY29uc3QpOgorICAgICAgICAoV2ViR1BVOjpRdWV1ZTo6d3JpdGVCdWZmZXIp
OgorCiAyMDIyLTAzLTIxICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+
CiAKICAgICAgICAgW1dlYkdQVV0gbWF4QW5pc290cm9weSA+IDE2IGlzIGNsYW1wZWQsIHJhdGhl
ciB0aGFuIGlsbGVnYWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0J1ZmZlci5o
IGIvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKaW5kZXggN2M5Y2I2ZjYzNWMzNTUzMDUy
MTRkMmQ1Y2UxMTRhYmE5Yzk3NWJkNS4uZTk5NmYxNzZiZDVjYzU0MDQ1MzkxMTRlMDdjM2U1OGI2
NWZhNDY0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkdQVS9XZWJHUFUvQnVmZmVyLmgKQEAgLTczLDYgKzczLDcgQEAgcHVibGljOgog
ICAgIGlkPE1UTEJ1ZmZlcj4gYnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXI7IH0KICAg
ICB1aW50NjRfdCBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgV0dQVUJ1ZmZl
clVzYWdlRmxhZ3MgdXNhZ2UoKSBjb25zdCB7IHJldHVybiBtX3VzYWdlOyB9CisgICAgU3RhdGUg
c3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAKIHByaXZhdGU6CiAgICAgQnVmZmVy
KGlkPE1UTEJ1ZmZlcj4sIHVpbnQ2NF90IHNpemUsIFdHUFVCdWZmZXJVc2FnZUZsYWdzLCBTdGF0
ZSBpbml0aWFsU3RhdGUsIE1hcHBpbmdSYW5nZSBpbml0aWFsTWFwcGluZ1JhbmdlLCBEZXZpY2Um
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL0RldmljZS5oIGIvU291cmNlL1dl
YkdQVS9XZWJHUFUvRGV2aWNlLmgKaW5kZXggYjkyNWI4MWFiMzdjYzk5M2Q1ZWYwNjRiMGQxZmI3
NDQ4ZWU1MGYyZC4uYzdmYTM3ZmVmOThhZTMwMTY1YmJmYWNiNGY3YWU0NTFjZDhmNzUwNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkdQVS9XZWJHUFUvRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkdQ
VS9XZWJHUFUvRGV2aWNlLmgKQEAgLTg2LDYgKzg2LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0
VW5jYXB0dXJlZEVycm9yQ2FsbGJhY2soRnVuY3Rpb248dm9pZChXR1BVRXJyb3JUeXBlLCBTdHJp
bmcmJik+JiYpOwogICAgIHZvaWQgc2V0TGFiZWwoU3RyaW5nJiYpOwogCisgICAgaWQ8TVRMRGV2
aWNlPiBkZXZpY2UoKSBjb25zdCB7IHJldHVybiBtX2RldmljZTsgfQorCiAgICAgdm9pZCBnZW5l
cmF0ZUFWYWxpZGF0aW9uRXJyb3IoU3RyaW5nJiYgbWVzc2FnZSk7CiAKICAgICBJbnN0YW5jZSYg
aW5zdGFuY2UoKSBjb25zdCB7IHJldHVybiBtX2luc3RhbmNlOyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5oIGIvU291cmNlL1dlYkdQVS9XZWJHUFUvUXVldWUuaApp
bmRleCA3YjkyOGE3MTg0YjE4YmViN2I4MmUyODJiODc4MWQ3YTY0NGRjMzg3Li5mMWYwYWE0MDMy
ZTg4ZmUwYzI5YTE5ZDNkMjY3ODNlNjViNTdiZmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViR1BV
L1dlYkdQVS9RdWV1ZS5oCisrKyBiL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLmgKQEAgLTYx
LDExICs2MSwyMCBAQCBwcml2YXRlOgogICAgIFF1ZXVlKGlkPE1UTENvbW1hbmRRdWV1ZT4sIERl
dmljZSYpOwogCiAgICAgYm9vbCB2YWxpZGF0ZVN1Ym1pdCgpIGNvbnN0OworICAgIGJvb2wgdmFs
aWRhdGVXcml0ZUJ1ZmZlcihjb25zdCBCdWZmZXImLCB1aW50NjRfdCBidWZmZXJPZmZzZXQsIHNp
emVfdCkgY29uc3Q7CisKKyAgICB2b2lkIGVuc3VyZUJsaXRDb21tYW5kRW5jb2RlcigpOworICAg
IHZvaWQgZmluYWxpemVCbGl0Q29tbWFuZEVuY29kZXIoKTsKKworICAgIHZvaWQgY29tbWl0TVRM
Q29tbWFuZEJ1ZmZlcihpZDxNVExDb21tYW5kQnVmZmVyPik7CisgICAgYm9vbCBpc0lkbGUoKSBj
b25zdCB7IHJldHVybiBtX3N1Ym1pdHRlZENvbW1hbmRCdWZmZXJDb3VudCA9PSBtX2NvbXBsZXRl
ZENvbW1hbmRCdWZmZXJDb3VudDsgfQogCiAgICAgLy8gVGhpcyBjYW4gYmUgY2FsbGVkIG9uIGEg
YmFja2dyb3VuZCB0aHJlYWQuCiAgICAgdm9pZCBzY2hlZHVsZVdvcmsoSW5zdGFuY2U6OldvcmtJ
dGVtJiYpOwogCiAgICAgY29uc3QgaWQ8TVRMQ29tbWFuZFF1ZXVlPiBtX2NvbW1hbmRRdWV1ZSB7
IG5pbCB9OworICAgIGlkPE1UTENvbW1hbmRCdWZmZXI+IG1fY29tbWFuZEJ1ZmZlciB7IG5pbCB9
OworICAgIGlkPE1UTEJsaXRDb21tYW5kRW5jb2Rlcj4gbV9ibGl0Q29tbWFuZEVuY29kZXIgeyBu
aWwgfTsKICAgICBEZXZpY2UmIG1fZGV2aWNlOyAvLyBUaGUgb25seSBraW5kIG9mIHF1ZXVlcyB0
aGF0IGV4aXN0IHJpZ2h0IG5vdyBhcmUgZGVmYXVsdCBxdWV1ZXMsIHdoaWNoIGFyZSBvd25lZCBi
eSBEZXZpY2VzLgogCiAgICAgdWludDY0X3QgbV9zdWJtaXR0ZWRDb21tYW5kQnVmZmVyQ291bnQg
eyAwIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViR1BVL1dlYkdQVS9RdWV1ZS5tbSBiL1NvdXJj
ZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCmluZGV4IDBkY2I1MDg4NGRjYzA5YzUwNTQ1ODNmMDMy
YTU5YzE5Y2M2MmI0NjguLjY3NWQ2MWM3NTliNTEzZDExMjNhYmFiMzlmZGU4MWViYTZjYzY3N2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCisrKyBiL1NvdXJjZS9X
ZWJHUFUvV2ViR1BVL1F1ZXVlLm1tCkBAIC0zOSw3ICszOSw0MiBAQCBRdWV1ZTo6UXVldWUoaWQ8
TVRMQ29tbWFuZFF1ZXVlPiBjb21tYW5kUXVldWUsIERldmljZSYgZGV2aWNlKQogewogfQogCi1R
dWV1ZTo6flF1ZXVlKCkgPSBkZWZhdWx0OworUXVldWU6On5RdWV1ZSgpCit7CisgICAgLy8gSWYg
d2UncmUgbm90IGlkbGUsIHRoZW4gdGhlcmUncyBhIHBlbmRpbmcgY29tcGxldGVkIGhhbmRsZXIg
dG8gYmUgcnVuLAorICAgIC8vIGJ1dCB0aGUgY29tcGxldGVkIGhhbmRsZXIgc2hvdWxkIGhhdmUg
cmV0YWluZWQgdXMsCisgICAgLy8gd2hpY2ggbWVhbnMgd2Ugc2hvdWxkbid0IGJlIGJlaW5nIGRl
c3Ryb3llZC4KKyAgICAvLyBTbyB3ZSBtdXN0IGJlIGlkbGUuCisgICAgQVNTRVJUKGlzSWRsZSgp
KTsKKworICAgIC8vIFdlIGNhbid0IGFjdHVhbGx5IGNhbGwgZmluYWxpemVCbGl0Q29tbWFuZEVu
Y29kZXIoKSBoZXJlIGJlY2F1c2UsIGlmIHRoZXJlIGFyZSBwZW5kaW5nIGNvcGllcywKKyAgICAv
LyB0aGF0IHdvdWxkIGNhdXNlIHRoZW0gdG8gYmUgY29tbWl0dGVkLCB3aGljaCBlbmRzIHVwIHJl
dGFpbmluZyB0aGlzIGluIHRoZSBjb21wbGV0ZWQgaGFuZGxlci4KKyAgICAvLyBJdCdzIGFjdHVh
bGx5IGZpbmUsIHRob3VnaCwgYmVjYXVzZSB3ZSBjYW4ganVzdCBkcm9wIGFueSBwZW5kaW5nIGNv
cGllcyBvbiB0aGUgZmxvb3IuCisgICAgLy8gSWYgdGhlIHF1ZXVlIGlzIGJlaW5nIGRlc3Ryb3ll
ZCwgdGhpcyBpcyB1bm9ic2VydmFibGUuCisgICAgaWYgKG1fYmxpdENvbW1hbmRFbmNvZGVyKQor
ICAgICAgICBbbV9ibGl0Q29tbWFuZEVuY29kZXIgZW5kRW5jb2RpbmddOworfQorCit2b2lkIFF1
ZXVlOjplbnN1cmVCbGl0Q29tbWFuZEVuY29kZXIoKQoreworICAgIGlmIChtX2JsaXRDb21tYW5k
RW5jb2RlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byAqY29tbWFuZEJ1ZmZlckRlc2Ny
aXB0b3IgPSBbTVRMQ29tbWFuZEJ1ZmZlckRlc2NyaXB0b3IgbmV3XTsKKyAgICBjb21tYW5kQnVm
ZmVyRGVzY3JpcHRvci5lcnJvck9wdGlvbnMgPSBNVExDb21tYW5kQnVmZmVyRXJyb3JPcHRpb25F
bmNvZGVyRXhlY3V0aW9uU3RhdHVzOworICAgIG1fY29tbWFuZEJ1ZmZlciA9IFttX2NvbW1hbmRR
dWV1ZSBjb21tYW5kQnVmZmVyV2l0aERlc2NyaXB0b3I6Y29tbWFuZEJ1ZmZlckRlc2NyaXB0b3Jd
OworICAgIG1fYmxpdENvbW1hbmRFbmNvZGVyID0gW21fY29tbWFuZEJ1ZmZlciBibGl0Q29tbWFu
ZEVuY29kZXJdOworfQorCit2b2lkIFF1ZXVlOjpmaW5hbGl6ZUJsaXRDb21tYW5kRW5jb2Rlcigp
Cit7CisgICAgaWYgKG1fYmxpdENvbW1hbmRFbmNvZGVyKSB7CisgICAgICAgIFttX2JsaXRDb21t
YW5kRW5jb2RlciBlbmRFbmNvZGluZ107CisgICAgICAgIGNvbW1pdE1UTENvbW1hbmRCdWZmZXIo
bV9jb21tYW5kQnVmZmVyKTsKKyAgICAgICAgbV9ibGl0Q29tbWFuZEVuY29kZXIgPSBuaWw7Cisg
ICAgICAgIG1fY29tbWFuZEJ1ZmZlciA9IG5pbDsKKyAgICB9Cit9CiAKIHZvaWQgUXVldWU6Om9u
U3VibWl0dGVkV29ya0RvbmUodWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV0dQVVF1
ZXVlV29ya0RvbmVTdGF0dXMpPiYmIGNhbGxiYWNrKQogewpAQCAtNDcsNyArODIsOSBAQCB2b2lk
IFF1ZXVlOjpvblN1Ym1pdHRlZFdvcmtEb25lKHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdHUFVRdWV1ZVdvcmtEbwogCiAgICAgQVNTRVJUKG1fc3VibWl0dGVkQ29tbWFuZEJ1ZmZl
ckNvdW50ID49IG1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKIAotICAgIGlmIChtX3N1
Ym1pdHRlZENvbW1hbmRCdWZmZXJDb3VudCA9PSBtX2NvbXBsZXRlZENvbW1hbmRCdWZmZXJDb3Vu
dCkgeworICAgIGZpbmFsaXplQmxpdENvbW1hbmRFbmNvZGVyKCk7CisKKyAgICBpZiAoaXNJZGxl
KCkpIHsKICAgICAgICAgc2NoZWR1bGVXb3JrKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2sp
XSgpIG11dGFibGUgewogICAgICAgICAgICAgY2FsbGJhY2soV0dQVVF1ZXVlV29ya0RvbmVTdGF0
dXNfU3VjY2Vzcyk7CiAgICAgICAgIH0pOwpAQCAtNzIsNiArMTA5LDIxIEBAIGJvb2wgUXVldWU6
OnZhbGlkYXRlU3VibWl0KCkgY29uc3QKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAordm9pZCBRdWV1
ZTo6Y29tbWl0TVRMQ29tbWFuZEJ1ZmZlcihpZDxNVExDb21tYW5kQnVmZmVyPiBjb21tYW5kQnVm
ZmVyKQoreworICAgIEFTU0VSVChjb21tYW5kQnVmZmVyLmNvbW1hbmRRdWV1ZSA9PSBtX2NvbW1h
bmRRdWV1ZSk7CisgICAgW2NvbW1hbmRCdWZmZXIgYWRkQ29tcGxldGVkSGFuZGxlcjpbcHJvdGVj
dGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dKGlkPE1UTENvbW1hbmRCdWZmZXI+KSB7CisgICAgICAg
IHByb3RlY3RlZFRoaXMtPnNjaGVkdWxlV29yayhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHZvaWQp
PihbcHJvdGVjdGVkVGhpcyA9IHByb3RlY3RlZFRoaXMuY29weVJlZigpXSgpIHsKKyAgICAgICAg
ICAgICsrKHByb3RlY3RlZFRoaXMtPm1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKKyAg
ICAgICAgICAgIGZvciAoYXV0byYgY2FsbGJhY2sgOiBwcm90ZWN0ZWRUaGlzLT5tX29uU3VibWl0
dGVkV29ya0RvbmVDYWxsYmFja3MudGFrZShwcm90ZWN0ZWRUaGlzLT5tX2NvbXBsZXRlZENvbW1h
bmRCdWZmZXJDb3VudCkpCisgICAgICAgICAgICAgICAgY2FsbGJhY2soV0dQVVF1ZXVlV29ya0Rv
bmVTdGF0dXNfU3VjY2Vzcyk7CisgICAgICAgIH0sIENvbXBsZXRpb25IYW5kbGVyQ2FsbFRocmVh
ZDo6TWFpblRocmVhZCkpOworICAgIH1dOworCisgICAgW2NvbW1hbmRCdWZmZXIgY29tbWl0XTsK
KyAgICArK21fc3VibWl0dGVkQ29tbWFuZEJ1ZmZlckNvdW50OworfQorCiB2b2lkIFF1ZXVlOjpz
dWJtaXQoVmVjdG9yPHN0ZDo6cmVmZXJlbmNlX3dyYXBwZXI8Y29uc3QgQ29tbWFuZEJ1ZmZlcj4+
JiYgY29tbWFuZHMpCiB7CiAgICAgLy8gaHR0cHM6Ly9ncHV3ZWIuZ2l0aHViLmlvL2dwdXdlYi8j
ZG9tLWdwdXF1ZXVlLXN1Ym1pdApAQCAtODMsMzAgKzEzNSwxMTEgQEAgdm9pZCBRdWV1ZTo6c3Vi
bWl0KFZlY3RvcjxzdGQ6OnJlZmVyZW5jZV93cmFwcGVyPGNvbnN0IENvbW1hbmRCdWZmZXI+PiYm
IGNvbW1hbmQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGZpbmFsaXplQmxpdENvbW1h
bmRFbmNvZGVyKCk7CisKICAgICAvLyAiRm9yIGVhY2ggY29tbWFuZEJ1ZmZlciBpbiBjb21tYW5k
QnVmZmVyczoiCiAgICAgZm9yIChhdXRvIGNvbW1hbmRCdWZmZXIgOiBjb21tYW5kcykgewotICAg
ICAgICBBU1NFUlQoY29tbWFuZEJ1ZmZlci5nZXQoKS5jb21tYW5kQnVmZmVyKCkuY29tbWFuZFF1
ZXVlID09IG1fY29tbWFuZFF1ZXVlKTsgLy8KLSAgICAgICAgW2NvbW1hbmRCdWZmZXIuZ2V0KCku
Y29tbWFuZEJ1ZmZlcigpIGFkZENvbXBsZXRlZEhhbmRsZXI6W3Byb3RlY3RlZFRoaXMgPSBSZWYg
eyAqdGhpcyB9XShpZDxNVExDb21tYW5kQnVmZmVyPikgewotICAgICAgICAgICAgcHJvdGVjdGVk
VGhpcy0+c2NoZWR1bGVXb3JrKENvbXBsZXRpb25IYW5kbGVyPHZvaWQodm9pZCk+KFtwcm90ZWN0
ZWRUaGlzID0gcHJvdGVjdGVkVGhpcy5jb3B5UmVmKCldKCkgewotICAgICAgICAgICAgICAgICsr
KHByb3RlY3RlZFRoaXMtPm1fY29tcGxldGVkQ29tbWFuZEJ1ZmZlckNvdW50KTsKLSAgICAgICAg
ICAgICAgICBmb3IgKGF1dG8mIGNhbGxiYWNrIDogcHJvdGVjdGVkVGhpcy0+bV9vblN1Ym1pdHRl
ZFdvcmtEb25lQ2FsbGJhY2tzLnRha2UocHJvdGVjdGVkVGhpcy0+bV9jb21wbGV0ZWRDb21tYW5k
QnVmZmVyQ291bnQpKQotICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhXR1BVUXVldWVXb3Jr
RG9uZVN0YXR1c19TdWNjZXNzKTsKLSAgICAgICAgICAgIH0sIENvbXBsZXRpb25IYW5kbGVyQ2Fs
bFRocmVhZDo6TWFpblRocmVhZCkpOwotICAgICAgICB9XTsKLQogICAgICAgICAvLyAiRXhlY3V0
ZSBlYWNoIGNvbW1hbmQgaW4gY29tbWFuZEJ1ZmZlci5bW2NvbW1hbmRfbGlzdF1dLiIKLSAgICAg
ICAgW2NvbW1hbmRCdWZmZXIuZ2V0KCkuY29tbWFuZEJ1ZmZlcigpIGNvbW1pdF07CisgICAgICAg
IGNvbW1pdE1UTENvbW1hbmRCdWZmZXIoY29tbWFuZEJ1ZmZlci5nZXQoKS5jb21tYW5kQnVmZmVy
KCkpOwogICAgIH0KK30KKworc3RhdGljIGJvb2wgdmFsaWRhdGVXcml0ZUJ1ZmZlckluaXRpYWwo
c2l6ZV90IHNpemUpCit7CisgICAgLy8gImNvbnRlbnRzU2l6ZSDiiaUgMC4iCisKKyAgICAvLyAi
ZGF0YU9mZnNldCArIGNvbnRlbnRzU2l6ZSDiiaQgZGF0YVNpemUuIgogCi0gICAgbV9zdWJtaXR0
ZWRDb21tYW5kQnVmZmVyQ291bnQgKz0gY29tbWFuZHMuc2l6ZSgpOworICAgIC8vICJjb250ZW50
c1NpemUsIGNvbnZlcnRlZCB0byBieXRlcywgaXMgYSBtdWx0aXBsZSBvZiA0IGJ5dGVzLiIKKyAg
ICBpZiAoc2l6ZSAlIDQpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVl
OworfQorCitib29sIFF1ZXVlOjp2YWxpZGF0ZVdyaXRlQnVmZmVyKGNvbnN0IEJ1ZmZlciYgYnVm
ZmVyLCB1aW50NjRfdCBidWZmZXJPZmZzZXQsIHNpemVfdCBzaXplKSBjb25zdAoreworICAgIC8v
IEZJWE1FOiAiYnVmZmVyIGlzIHZhbGlkIHRvIHVzZSB3aXRoIHRoaXMuIgorCisgICAgLy8gImJ1
ZmZlci5bW3N0YXRlXV0gaXMgdW5tYXBwZWQuIgorICAgIGlmIChidWZmZXIuc3RhdGUoKSAhPSBC
dWZmZXI6OlN0YXRlOjpVbm1hcHBlZCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8g
ImJ1ZmZlci5bW3VzYWdlXV0gaW5jbHVkZXMgQ09QWV9EU1QuIgorICAgIGlmICghKGJ1ZmZlci51
c2FnZSgpICYgV0dQVUJ1ZmZlclVzYWdlX0NvcHlEc3QpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAvLyAiYnVmZmVyT2Zmc2V0LCBjb252ZXJ0ZWQgdG8gYnl0ZXMsIGlzIGEgbXVsdGlw
bGUgb2YgNCBieXRlcy4iCisgICAgaWYgKGJ1ZmZlck9mZnNldCAlIDQpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgIC8vICJidWZmZXJPZmZzZXQgKyBjb250ZW50c1NpemUsIGNvbnZlcnRl
ZCB0byBieXRlcywg4omkIGJ1ZmZlci5bW3NpemVdXSBieXRlcy4iCisgICAgLy8gRklYTUU6IFVz
ZSBjaGVja2VkIGFyaXRobWV0aWMKKyAgICBpZiAoYnVmZmVyT2Zmc2V0ICsgc2l6ZSA+IGJ1ZmZl
ci5zaXplKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHJldHVybiB0cnVlOwogfQog
CiB2b2lkIFF1ZXVlOjp3cml0ZUJ1ZmZlcihjb25zdCBCdWZmZXImIGJ1ZmZlciwgdWludDY0X3Qg
YnVmZmVyT2Zmc2V0LCBjb25zdCB2b2lkKiBkYXRhLCBzaXplX3Qgc2l6ZSkKIHsKLSAgICBVTlVT
RURfUEFSQU0oYnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVyT2Zmc2V0KTsKLSAgICBV
TlVTRURfUEFSQU0oZGF0YSk7Ci0gICAgVU5VU0VEX1BBUkFNKHNpemUpOworICAgIC8vIGh0dHBz
Oi8vZ3B1d2ViLmdpdGh1Yi5pby9ncHV3ZWIvI2RvbS1ncHVxdWV1ZS13cml0ZWJ1ZmZlcgorCisg
ICAgLy8gIklmIGRhdGEgaXMgYW4gQXJyYXlCdWZmZXIgb3IgRGF0YVZpZXcsIGxldCB0aGUgZWxl
bWVudCB0eXBlIGJlICJieXRlIi4gT3RoZXJ3aXNlLCBkYXRhIGlzIGEgVHlwZWRBcnJheTsgbGV0
IHRoZSBlbGVtZW50IHR5cGUgYmUgdGhlIHR5cGUgb2YgdGhlIFR5cGVkQXJyYXkuIgorCisgICAg
Ly8gIkxldCBkYXRhU2l6ZSBiZSB0aGUgc2l6ZSBvZiBkYXRhLCBpbiBlbGVtZW50cy4iCisKKyAg
ICAvLyAiSWYgc2l6ZSBpcyBtaXNzaW5nLCBsZXQgY29udGVudHNTaXplIGJlIGRhdGFTaXplIOKI
kiBkYXRhT2Zmc2V0LiBPdGhlcndpc2UsIGxldCBjb250ZW50c1NpemUgYmUgc2l6ZS4iCisKKyAg
ICAvLyAiSWYgYW55IG9mIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgdW5zYXRpc2ZpZWQi
CisgICAgaWYgKCF2YWxpZGF0ZVdyaXRlQnVmZmVySW5pdGlhbChzaXplKSkgeworICAgICAgICAv
LyBGSVhNRTogInRocm93IE9wZXJhdGlvbkVycm9yIGFuZCBzdG9wLiIKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIC8vICJMZXQgZGF0YUNvbnRlbnRzIGJlIGEgY29weSBvZiB0aGUgYnl0
ZXMgaGVsZCBieSB0aGUgYnVmZmVyIHNvdXJjZS4iCisKKyAgICAvLyAiTGV0IGNvbnRlbnRzIGJl
IHRoZSBjb250ZW50c1NpemUgZWxlbWVudHMgb2YgZGF0YUNvbnRlbnRzIHN0YXJ0aW5nIGF0IGFu
IG9mZnNldCBvZiBkYXRhT2Zmc2V0IGVsZW1lbnRzLiIKKworICAgIC8vICJJZiBhbnkgb2YgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSB1bnNhdGlzZmllZCIKKyAgICBpZiAoIXZhbGlkYXRl
V3JpdGVCdWZmZXIoYnVmZmVyLCBidWZmZXJPZmZzZXQsIHNpemUpKSB7CisgICAgICAgIC8vICJn
ZW5lcmF0ZSBhIHZhbGlkYXRpb24gZXJyb3IgYW5kIHN0b3AuIgorICAgICAgICBtX2RldmljZS5n
ZW5lcmF0ZUFWYWxpZGF0aW9uRXJyb3IoIlZhbGlkYXRpb24gZmFpbHVyZS4iX3MpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgLy8gIldyaXRlIGNvbnRlbnRzIGludG8gYnVmZmVyIHN0
YXJ0aW5nIGF0IGJ1ZmZlck9mZnNldC4iCisgICAgaWYgKCFzaXplKQorICAgICAgICByZXR1cm47
CisKKyAgICAvLyBGSVhNRShQRVJGT1JNQU5DRSk6IEluc3RlYWQgb2YgY2hlY2tpbmcgd2hldGhl
ciBvciBub3QgdGhlIHdob2xlIHF1ZXVlIGlzIGlkbGUsCisgICAgLy8gd2UgY291bGQgZGV0ZWN0
IHdoZXRoZXIgdGhpcyBzcGVjaWZpYyByZXNvdXJjZSBpcyBpZGxlLCBpZiB3ZSB0cmFja2VkIGV2
ZXJ5IHJlc291cmNlLgorICAgIGlmIChpc0lkbGUoKSkgeworICAgICAgICBzd2l0Y2ggKGJ1ZmZl
ci5idWZmZXIoKS5zdG9yYWdlTW9kZSkgeworICAgICAgICBjYXNlIE1UTFN0b3JhZ2VNb2RlU2hh
cmVkOgorICAgICAgICAgICAgbWVtY3B5KHN0YXRpY19jYXN0PGNoYXIqPihidWZmZXIuYnVmZmVy
KCkuY29udGVudHMpICsgYnVmZmVyT2Zmc2V0LCBkYXRhLCBzaXplKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyNpZiBQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKQorICAgICAg
ICBjYXNlIE1UTFN0b3JhZ2VNb2RlTWFuYWdlZDoKKyAgICAgICAgICAgIG1lbWNweShzdGF0aWNf
Y2FzdDxjaGFyKj4oYnVmZmVyLmJ1ZmZlcigpLmNvbnRlbnRzKSArIGJ1ZmZlck9mZnNldCwgZGF0
YSwgc2l6ZSk7CisgICAgICAgICAgICBbYnVmZmVyLmJ1ZmZlcigpIGRpZE1vZGlmeVJhbmdlOk5T
TWFrZVJhbmdlKGJ1ZmZlck9mZnNldCwgc2l6ZSldOworICAgICAgICAgICAgcmV0dXJuOworI2Vu
ZGlmCisgICAgICAgIGNhc2UgTVRMU3RvcmFnZU1vZGVQcml2YXRlOgorICAgICAgICAgICAgLy8g
VGhlIG9ubHkgd2F5IHRvIGdldCBkYXRhIGludG8gYSBwcml2YXRlIHJlc291cmNlIGlzIHRvIHRl
bGwgdGhlIEdQVSB0byBjb3B5IGl0IGluLgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGVuc3VyZUJsaXRDb21tYW5kRW5jb2Rlcigp
OworICAgIC8vIEZJWE1FKFBFUkZPUk1BTkNFKTogU3ViYWxsb2NhdGUsIHNvIHRoZSBjb21tb24g
Y2FzZSBkb2Vzbid0IG5lZWQgdG8gaGl0IHRoZSBrZXJuZWwuCisgICAgaWQ8TVRMQnVmZmVyPiB0
ZW1wb3JhcnlCdWZmZXIgPSBbbV9kZXZpY2UuZGV2aWNlKCkgbmV3QnVmZmVyV2l0aEJ5dGVzOmRh
dGEgbGVuZ3RoOnN0YXRpY19jYXN0PE5TVUludGVnZXI+KHNpemUpIG9wdGlvbnM6TVRMUmVzb3Vy
Y2VTdG9yYWdlTW9kZVNoYXJlZF07CisgICAgaWYgKCF0ZW1wb3JhcnlCdWZmZXIpCisgICAgICAg
IHJldHVybjsKKyAgICBbbV9ibGl0Q29tbWFuZEVuY29kZXIgY29weUZyb21CdWZmZXI6dGVtcG9y
YXJ5QnVmZmVyIHNvdXJjZU9mZnNldDowIHRvQnVmZmVyOmJ1ZmZlci5idWZmZXIoKSBkZXN0aW5h
dGlvbk9mZnNldDpzdGF0aWNfY2FzdDxOU1VJbnRlZ2VyPihidWZmZXJPZmZzZXQpIHNpemU6c3Rh
dGljX2Nhc3Q8TlNVSW50ZWdlcj4oc2l6ZSldOwogfQogCiB2b2lkIFF1ZXVlOjp3cml0ZVRleHR1
cmUoY29uc3QgV0dQVUltYWdlQ29weVRleHR1cmUmIGRlc3RpbmF0aW9uLCBjb25zdCB2b2lkKiBk
YXRhLCBzaXplX3QgZGF0YVNpemUsIGNvbnN0IFdHUFVUZXh0dXJlRGF0YUxheW91dCYgZGF0YUxh
eW91dCwgY29uc3QgV0dQVUV4dGVudDNEJiB3cml0ZVNpemUpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>