<?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>223544</bug_id>
          
          <creation_ts>2021-03-19 17:02:41 -0700</creation_ts>
          <short_desc>[GPU Process]: Improve getImageData() perf part 1: Add a GetImageData display list item</short_desc>
          <delta_ts>2021-03-22 20:23:51 -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>New Bugs</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>
          
          <blocked>220649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1741953</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-19 17:02:41 -0700</bug_when>
    <thetext>[GPU Process]: Improve getImageData() perf part 1: Add a GetImageData display list item</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1741954</commentid>
    <comment_count>1</comment_count>
      <attachid>423791</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-19 17:08:46 -0700</bug_when>
    <thetext>Created attachment 423791
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742319</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-22 11:33:49 -0700</bug_when>
    <thetext>Tools/Scripts/svn-apply failed to apply attachment 423791 to trunk.
Please resolve the conflicts and upload a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742607</commentid>
    <comment_count>3</comment_count>
      <attachid>423971</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-22 17:36:01 -0700</bug_when>
    <thetext>Created attachment 423971
Patch for committing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742638</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-22 18:54:01 -0700</bug_when>
    <thetext>Committed r274838: &lt;https://commits.webkit.org/r274838&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423971.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742639</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-22 18:55:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/75719660&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742647</commentid>
    <comment_count>6</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-22 19:42:34 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742648</commentid>
    <comment_count>7</comment_count>
      <attachid>423979</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-03-22 19:42:35 -0700</bug_when>
    <thetext>Created attachment 423979
Follow-up</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1742655</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-22 20:23:50 -0700</bug_when>
    <thetext>Committed r274839: &lt;https://commits.webkit.org/r274839&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 423979.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423791</attachid>
            <date>2021-03-19 17:08:46 -0700</date>
            <delta_ts>2021-03-22 11:33:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223544-20210319170845.patch</filename>
            <type>text/plain</type>
            <size>23013</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTU5NGYyNzA5NmExZmRl
YWE2YmZmNjM5NTg3N2FjYWI5ZmJlMGY3Yy4uNTMyMjc1YjhlNWIzYTRkOGEwMTQ3ZTg2NmFhODc1
MjY0NWFhMDRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTAzLTE5ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXTogSW1wcm92ZSBnZXRJbWFnZURhdGEoKSBwZXJmIHBhcnQgMTogQWRkIGEgR2V0SW1hZ2VE
YXRhIGRpc3BsYXkgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSdyZSBtb3ZpbmcgdG8gYSBkZXNpZ24gZm9yIGdldEltYWdlRGF0YSgp
IHdoZXJlIHRoZSB3ZWIgcHJvY2VzcyBhbmQgdGhlIEdQVSBwcm9jZXNzCisgICAgICAgIHNldCB1
cCBhIHNobWVtICsgc2VtYXBob3JlIGFoZWFkLW9mLXRpbWUsIHNvIHRoYXQgd2hlbiB3ZSBlbmNv
dW50ZXIgYSBjYWxsIHRvIGdldEltYWdlRGF0YSgpLAorICAgICAgICB0aGUgR1BVIHByb2Nlc3Mg
Y2FuIGp1c3Qgd3JpdGUgaW50byB0aGUgc2htZW0gYW5kIHNpZ25hbCB0aGUgc2VtYXBob3JlLiBU
aGUgd2ViIHByb2Nlc3MganVzdAorICAgICAgICBlbmNvZGVzIHRoZSBnZXRJbWFnZURhdGEoKSBj
YWxsIGludG8gdGhlIHJlZ3VsYXIgZGlzcGxheSBsaXN0LCBmbHVzaEFzeW5jKClzIHRvIGtpY2sg
dGhlIEdQVQorICAgICAgICBwcm9jZXNzLCB0aGVuIGp1c3Qgd2FpdHMgb24gdGhlIHNlbWFwaG9y
ZS4gSW5pdGlhbCBwZXJmb3JtYW5jZSB0ZXN0aW5nIHNob3dzIHRoYXQgdGhpcyBpcworICAgICAg
ICB3YXksIHdheSBmYXN0ZXIgdGhhbiBzZW5kaW5nIG1lc3NhZ2VzIGNvbnRhaW5pbmcgcGl4ZWwg
Y29sb3IgZGF0YSBwYXlsb2Fkcy4KKworICAgICAgICBUaGlzIHBhdGNoIGlzIGp1c3QgdGhlIGZp
cnN0IHN0ZXA6IEFkZGluZyBhIEdldEltYWdlRGF0YSBkaXNwbGF5IGxpc3QgaXRlbS4gVGhlIGl0
ZW0KKyAgICAgICAgY3VycmVudGx5IGdldHMgcmVjb3JkZWQgaW4gdGhlIHdlYiBwcm9jZXNzIGFu
ZCBhcHBsaWVkIGluIHRoZSBHUFUgcHJvY2VzcywgYnV0IHRoZSBhcHBsaWNhdGlvbgorICAgICAg
ICBwcm9jZXNzIGN1cnJlbnRseSBkb2VzIG5vdGhpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3Rz
IGJlY2F1c2UgdGhlcmUgaXMgbm8gYmVoYXZpb3IgY2hhbmdlIHlldC4KKworICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6RGlzcGxheUxpc3Q6OmFwcGVuZCk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZTo6YXBwbHkpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OmRlc3Ryb3kpOgorICAgICAgICAo
V2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OnNhZmVDb3B5IGNvbnN0KToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVy
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbVR5cGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OnNpemVPZkl0ZW1J
bkJ5dGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0Ojppc0RyYXdpbmdJdGVtKToK
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0Ojppc0lubGluZUl0ZW0pOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Om9wZXJhdG9yPDwpOgorICAgICAg
ICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlB1dEltYWdlRGF0YTo6YXBwbHkgY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEl0ZW1zLmg6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6R2V0SW1hZ2VEYXRhOjpH
ZXRJbWFnZURhdGEpOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkdldEltYWdlRGF0
YTo6b3V0cHV0Rm9ybWF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpH
ZXRJbWFnZURhdGE6OnNyY1JlY3QgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6Z2V0SW1hZ2VEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oOgorCiAyMDIxLTAz
LTE5ICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIE1hbnkgbWVk
aWEvbWVkaWEtZnJhZ21lbnRzLyB0ZXN0cyBhcmUgY3Jhc2hpbmcgZHVlIHRvIG90aGVyIHRlc3Rz
IHRoYXQgcnVuIGJlZm9yZSB0aGVtLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA4ZThhMGRhZDdlMWEyNmNmMDg2NzAy
ZGJhODkxMDk1NWNkZWFhZGJkLi5jNzM1Njk1YzE3NzAzMTNjNzU5NGRmMmM0OGRhOTI2MmRkNWY3
OWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTAzLTE5ICBNeWxlcyBDLiBNYXhm
aWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9jZXNzXTogSW1w
cm92ZSBnZXRJbWFnZURhdGEoKSBwZXJmIHBhcnQgMTogQWRkIGEgR2V0SW1hZ2VEYXRhIGRpc3Bs
YXkgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjM1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAg
KiBHUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkZWNvZGVJdGVtKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5Lmg6CisKIDIw
MjEtMDMtMTkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBBbGxvdyBvcGVuZGlyZWN0b3J5ZCBhY2Nlc3MgaW4gYmFzZSBzeXN0ZW0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlz
dHMvRGlzcGxheUxpc3QuY3BwCmluZGV4IGMwODMyMGU1NjU2NzViZTEyYTY0YzY5Njk0YmUxNWY4
MjdiNzk4NWUuLjViNTViZWM4YzBhZTIxYTkyOTg0NWE0MTVkMTM1NzljMzY5YmQ1NDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0LmNwcApAQCAtMjg3LDYgKzI4Nyw4IEBAIHZvaWQgRGlzcGxheUxp
c3Q6OmFwcGVuZChJdGVtSGFuZGxlIGl0ZW0pCiAgICAgICAgIHJldHVybiBhcHBlbmQ8TWV0YUNv
bW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyPihpdGVtLmdldDxNZXRhQ29tbWFuZENo
YW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkpOwogICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFD
b21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKICAgICAgICAgcmV0dXJuIGFwcGVuZDxNZXRhQ29tbWFu
ZENoYW5nZUl0ZW1CdWZmZXI+KGl0ZW0uZ2V0PE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcj4o
KSk7CisgICAgY2FzZSBJdGVtVHlwZTo6R2V0SW1hZ2VEYXRhOgorICAgICAgICByZXR1cm4gYXBw
ZW5kPEdldEltYWdlRGF0YT4oaXRlbS5nZXQ8R2V0SW1hZ2VEYXRhPigpKTsKICAgICBjYXNlIEl0
ZW1UeXBlOjpQdXRJbWFnZURhdGE6CiAgICAgICAgIHJldHVybiBhcHBlbmQ8UHV0SW1hZ2VEYXRh
PihpdGVtLmdldDxQdXRJbWFnZURhdGE+KCkpOwogICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJh
bWVGb3JNZWRpYToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5jcHAK
aW5kZXggMGY4MTE0YjgxZGRjNWFhYmMxN2Q1YjE1NGU4ZDk3YzczNTdkMTI1NS4uMmI2ZDcxYWZi
ODI0M2E4MDAzMzRjMDU3ZDQ3YTE2ZDEwOTkyNDBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0SXRlbUJ1ZmZlci5jcHAKQEAgLTE0MCw5ICsxNDAsMTAgQEAgdm9pZCBJdGVtSGFu
ZGxlOjphcHBseShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpCiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIGNhc2UgSXRlbVR5cGU6OkRy
YXdHbHlwaHM6CisgICAgY2FzZSBJdGVtVHlwZTo6RHJhd0dseXBoczogewogICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBjYXNlIEl0ZW1U
eXBlOjpEcmF3SW1hZ2VCdWZmZXI6IHsKICAgICAgICAgZ2V0PERyYXdJbWFnZUJ1ZmZlcj4oKS5h
cHBseShjb250ZXh0KTsKICAgICAgICAgcmV0dXJuOwpAQCAtMjMyLDggKzIzMywxMCBAQCB2b2lk
IEl0ZW1IYW5kbGU6OmFwcGx5KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkKICAgICBjYXNlIEl0
ZW1UeXBlOjpNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6CiAgICAgY2Fz
ZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgogICAgICAgICByZXR1cm47
CisgICAgY2FzZSBJdGVtVHlwZTo6R2V0SW1hZ2VEYXRhOgogICAgIGNhc2UgSXRlbVR5cGU6OlB1
dEltYWdlRGF0YTogewotICAgICAgICBnZXQ8UHV0SW1hZ2VEYXRhPigpLmFwcGx5KGNvbnRleHQp
OworICAgICAgICAvLyBTaG91bGQgYWxyZWFkeSBiZSBoYW5kbGVkIGJ5IHRoZSBkZWxlZ2F0ZS4K
KyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAg
ICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZvck1lZGlhOiB7CkBAIC0zNDYsNiArMzQ5LDEw
IEBAIHZvaWQgSXRlbUhhbmRsZTo6ZGVzdHJveSgpCiAgICAgICAgIGdldDxGaWxsUm91bmRlZFJl
Y3Q+KCkufkZpbGxSb3VuZGVkUmVjdCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGNh
c2UgSXRlbVR5cGU6OkdldEltYWdlRGF0YTogeworICAgICAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfdHJpdmlhbGx5X2Rlc3RydWN0aWJsZTxHZXRJbWFnZURhdGE+Ojp2YWx1ZSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOiB7CiAgICAg
ICAgIGdldDxQdXRJbWFnZURhdGE+KCkuflB1dEltYWdlRGF0YSgpOwogICAgICAgICByZXR1cm47
CkBAIC02MDIsNiArNjA5LDggQEAgYm9vbCBJdGVtSGFuZGxlOjpzYWZlQ29weShJdGVtSGFuZGxl
IGRlc3RpbmF0aW9uKSBjb25zdAogICAgICAgICByZXR1cm4gY29weUludG88RmlsbFJlY3RXaXRo
Um91bmRlZEhvbGU+KCp0aGlzLCBpdGVtT2Zmc2V0KTsKICAgICBjYXNlIEl0ZW1UeXBlOjpGaWxs
Um91bmRlZFJlY3Q6CiAgICAgICAgIHJldHVybiBjb3B5SW50bzxGaWxsUm91bmRlZFJlY3Q+KCp0
aGlzLCBpdGVtT2Zmc2V0KTsKKyAgICBjYXNlIEl0ZW1UeXBlOjpHZXRJbWFnZURhdGE6CisgICAg
ICAgIHJldHVybiBjb3B5SW50bzxHZXRJbWFnZURhdGE+KCp0aGlzLCBpdGVtT2Zmc2V0KTsKICAg
ICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CiAgICAgICAgIHJldHVybiBjb3B5SW50bzxQ
dXRJbWFnZURhdGE+KCp0aGlzLCBpdGVtT2Zmc2V0KTsKICAgICBjYXNlIEl0ZW1UeXBlOjpTZXRM
aW5lRGFzaDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuaAppbmRleCBk
ODc1OTMyYzE3NmYwNzkwMzZlZjBjNGZiZjVkMmRhNzEzMzE1YWQ1Li4xMzhkOWNhMGJkNzM0M2Ri
YmY1ZjUxOTE2MDdjM2IxOTJhMzc3YmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0
SXRlbUJ1ZmZlci5oCkBAIC0xMzksNyArMTM5LDcgQEAgcHVibGljOgogICAgIC8vIHdyaXRhYmxl
IGJ1ZmZlciBoYW5kbGU7IGlmIHJlbWFpbmluZyBidWZmZXIgY2FwYWNpdHkgaXMgaW5zdWZmaWNp
ZW50IHRvIHN0b3JlIHRoZSBpdGVtLCBhCiAgICAgLy8gbmV3IGJ1ZmZlciB3aWxsIGJlIGFsbG9j
YXRlZCAoZWl0aGVyIGJ5IHRoZSBJdGVtQnVmZmVyV3JpdGluZ0NsaWVudCwgaWYgc2V0LCBvciBi
eSB0aGUgaXRlbQogICAgIC8vIGJ1ZmZlciBpdHNlbGYgaWYgdGhlcmUgaXMgbm8gY2xpZW50KS4g
SXRlbXMgYXJlIHBsYWNlZCBiYWNrLXRvLWJhY2sgaW4gdGhlc2UgaXRlbSBidWZmZXJzLAotICAg
IC8vIHdpdGggcGFkZGluZyBhZnRlciBlYWNoIGl0ZW0gdG8gZW5zdXJlIHRoYXQgYWxsIGl0ZW1z
IGFyZSBhbGlnbmVkIHRvIDggYnl0ZXMuCisgICAgLy8gd2l0aCBwYWRkaW5nIGJldHdlZW4gZWFj
aCBpdGVtIHRvIGVuc3VyZSB0aGF0IGFsbCBpdGVtcyBhcmUgYWxpZ25lZCB0byA4IGJ5dGVzLgog
ICAgIC8vCiAgICAgLy8gSWYgYSB3cml0aW5nIGNsaWVudCBpcyBwcmVzZW50IGFuZCByZXF1aXJl
cyBjdXN0b20gZW5jb2RpbmcgZm9yIHRoZSBnaXZlbiBpdGVtIHR5cGUgVCwgdGhlCiAgICAgLy8g
aXRlbSBidWZmZXIgd2lsbCBhc2sgdGhlIGNsaWVudCBmb3IgYW4gb3BhcXVlIFNoYXJlZEJ1ZmZl
ciBjb250YWluaW5nIGVuY29kZWQgZGF0YSBmb3IgdGhlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RJdGVtVHlwZS5jcHAKaW5kZXggNTY5MjUwMDY1MWFhMmJhZDRlODkxZDg5NzQwMmIxYWQz
MGI2MGIzMS4uZGIxZGI5NDdhYjg1NTdmMDBjYWY5ZDAxNzZlNzFiMjVkOTYxNThjNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SXRlbVR5cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcApAQCAtMTMyLDYgKzEzMiw4IEBA
IHN0YXRpYyBzaXplX3Qgc2l6ZU9mSXRlbUluQnl0ZXMoSXRlbVR5cGUgdHlwZSkKICAgICAgICAg
cmV0dXJuIHNpemVvZihNZXRhQ29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIpOwog
ICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKICAgICAgICAg
cmV0dXJuIHNpemVvZihNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXIpOworICAgIGNhc2UgSXRl
bVR5cGU6OkdldEltYWdlRGF0YToKKyAgICAgICAgcmV0dXJuIHNpemVvZihHZXRJbWFnZURhdGEp
OwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAgICAgICAgcmV0dXJuIHNpemVv
ZihQdXRJbWFnZURhdGEpOwogICAgIGNhc2UgSXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYToK
QEAgLTE2OSw2ICsxNzEsOSBAQCBzdGF0aWMgc2l6ZV90IHNpemVPZkl0ZW1JbkJ5dGVzKEl0ZW1U
eXBlIHR5cGUpCiAKIGJvb2wgaXNEcmF3aW5nSXRlbShJdGVtVHlwZSB0eXBlKQogeworICAgIC8q
IFNlZSB0aGUgY29tbWVudCBhdCB0aGUgdG9wIG9mIERpc3BsYXlMaXN0SXRlbXMuaCBmb3Igd2hh
dCB0aGlzIG1lYW5zLgorICAgICAqIFRoaXMgbmVlZHMgdG8gbWF0Y2ggYWxsIHRoZSAic3RhdGlj
IGNvbnN0ZXhwciBib29sIGlzRHJhd2luZ0l0ZW0icyBpbnNpZGUgdGhlIGluZGl2aWR1YWwgaXRl
bSBjbGFzc2VzLiAqLworCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBJdGVtVHlwZTo6
QXBwbHlEZXZpY2VTY2FsZUZhY3RvcjoKICNpZiBVU0UoQ0cpCkBAIC0yMDIsNiArMjA3LDcgQEAg
Ym9vbCBpc0RyYXdpbmdJdGVtKEl0ZW1UeXBlIHR5cGUpCiAgICAgY2FzZSBJdGVtVHlwZTo6U2V0
U3RhdGU6CiAgICAgY2FzZSBJdGVtVHlwZTo6U2V0U3Ryb2tlVGhpY2tuZXNzOgogICAgIGNhc2Ug
SXRlbVR5cGU6OlRyYW5zbGF0ZToKKyAgICBjYXNlIEl0ZW1UeXBlOjpHZXRJbWFnZURhdGE6CiAg
ICAgICAgIHJldHVybiBmYWxzZTsKICAgICBjYXNlIEl0ZW1UeXBlOjpCZWdpblRyYW5zcGFyZW5j
eUxheWVyOgogICAgIGNhc2UgSXRlbVR5cGU6OkNsZWFyUmVjdDoKQEAgLTI1MSw2ICsyNTcsMTAg
QEAgc2l6ZV90IHBhZGRlZFNpemVPZlR5cGVBbmRJdGVtSW5CeXRlcyhJdGVtVHlwZSB0eXBlKQog
CiBib29sIGlzSW5saW5lSXRlbShJdGVtVHlwZSB0eXBlKQogeworICAgIC8qIFNlZSB0aGUgY29t
bWVudCBhdCB0aGUgdG9wIG9mIERpc3BsYXlMaXN0SXRlbXMuaCBmb3Igd2hhdCB0aGlzIG1lYW5z
LgorICAgICAqIFRoaXMgbmVlZHMgdG8gbWF0Y2ggKDEpIFJlbW90ZUltYWdlQnVmZmVyUHJveHk6
OmVuY29kZUl0ZW0oKSwgKDIpIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlY29kZUl0ZW0oKSwK
KyAgICAgKiBhbmQgKDMpIGFsbCB0aGUgInN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0
ZW0icyBpbnNpZGUgdGhlIGluZGl2aWR1YWwgaXRlbSBjbGFzc2VzLiAqLworCiAgICAgc3dpdGNo
ICh0eXBlKSB7CiAgICAgY2FzZSBJdGVtVHlwZTo6Q2xpcE91dFRvUGF0aDoKICAgICBjYXNlIEl0
ZW1UeXBlOjpDbGlwUGF0aDoKQEAgLTMyMCw2ICszMzAsNyBAQCBib29sIGlzSW5saW5lSXRlbShJ
dGVtVHlwZSB0eXBlKQogICAgIGNhc2UgSXRlbVR5cGU6OlN0cm9rZVJlY3Q6CiAgICAgY2FzZSBJ
dGVtVHlwZTo6U3Ryb2tlTGluZToKICAgICBjYXNlIEl0ZW1UeXBlOjpUcmFuc2xhdGU6CisgICAg
Y2FzZSBJdGVtVHlwZTo6R2V0SW1hZ2VEYXRhOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRl
bVR5cGUuaAppbmRleCBjZDZjMWE0OTljOTgyMTZlMTI2NTgwYzNlM2NjNGEzZDhjMjY5NDkwLi4w
ZWZkMGI3MmIwMjlhZmIwMTI4OTEwMzA5Y2ZlMWJiY2RkNmQzOTFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
VHlwZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0
cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmgKQEAgLTc5LDYgKzc5LDcgQEAgZW51bSBjbGFzcyBJdGVt
VHlwZSA6IHVpbnQ4X3QgewogICAgIEZsdXNoQ29udGV4dCwKICAgICBNZXRhQ29tbWFuZENoYW5n
ZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXIsCiAgICAgTWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVy
LAorICAgIEdldEltYWdlRGF0YSwKICAgICBQdXRJbWFnZURhdGEsCiAgICAgUGFpbnRGcmFtZUZv
ck1lZGlhLAogICAgIFN0cm9rZVJlY3QsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5j
cHAKaW5kZXggMTY4NzM2NWQ0N2I0NGE4ZThlOGNjMmQ4OGYxOTc0YmRiNWU0NjJkMy4uMGU0MGEy
NmFlMDA5N2RjODBlNDhiMjQyZWIxOWRmZjk2YzQxYjNmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1zLmNwcApAQCAtNzY5LDYgKzc2OSwxMyBAQCBzdGF0aWMgVGV4dFN0cmVhbSYg
b3BlcmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgRmlsbEVsbGlwc2UmIGl0ZW0pCiAgICAg
cmV0dXJuIHRzOwogfQogCitzdGF0aWMgVGV4dFN0cmVhbSYgb3BlcmF0b3I8PChUZXh0U3RyZWFt
JiB0cywgY29uc3QgR2V0SW1hZ2VEYXRhJiBpdGVtKQoreworICAgIHRzLmR1bXBQcm9wZXJ0eSgi
b3V0cHV0Rm9ybWF0IiwgaXRlbS5vdXRwdXRGb3JtYXQoKSk7CisgICAgdHMuZHVtcFByb3BlcnR5
KCJzcmNSZWN0IiwgaXRlbS5zcmNSZWN0KCkpOworICAgIHJldHVybiB0czsKK30KKwogUHV0SW1h
Z2VEYXRhOjpQdXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZvcm1hdCwg
Y29uc3QgSW1hZ2VEYXRhJiBpbWFnZURhdGEsIGNvbnN0IEludFJlY3QmIHNyY1JlY3QsIGNvbnN0
IEludFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCkK
ICAgICA6IG1fc3JjUmVjdChzcmNSZWN0KQogICAgICwgbV9kZXN0UG9pbnQoZGVzdFBvaW50KQpA
QCAtNzg3LDEyICs3OTQsNiBAQCBQdXRJbWFnZURhdGE6OlB1dEltYWdlRGF0YShBbHBoYVByZW11
bHRpcGxpY2F0aW9uIGlucHV0Rm9ybWF0LCBSZWY8SW1hZ2VEYXRhPiYmCiB7CiB9CiAKLU5PX1JF
VFVSTl9EVUVfVE9fQVNTRVJUIHZvaWQgUHV0SW1hZ2VEYXRhOjphcHBseShHcmFwaGljc0NvbnRl
eHQmKSBjb25zdAotewotICAgIC8vIFNob3VsZCBiZSBoYW5kbGVkIGJ5IHRoZSBkZWxlZ2F0ZS4K
LSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLX0KLQogc3RhdGljIFRleHRTdHJlYW0mIG9wZXJh
dG9yPDwoVGV4dFN0cmVhbSYgdHMsIGNvbnN0IFB1dEltYWdlRGF0YSYgaXRlbSkKIHsKICAgICB0
cy5kdW1wUHJvcGVydHkoImlucHV0Rm9ybWF0IiwgaXRlbS5pbnB1dEZvcm1hdCgpKTsKQEAgLTEw
NjEsNiArMTA2Miw3IEBAIHN0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBJdGVtVHlwZSB0eXBlKQogICAgIGNhc2UgSXRlbVR5cGU6OkZsdXNoQ29udGV4dDogdHMg
PDwgImZsdXNoLWNvbnRleHQiOyBicmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFu
ZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI6IHRzIDw8ICJtZXRhLWNvbW1hbmQtY2hhbmdl
LWRlc3RpbmF0aW9uLWltYWdlLWJ1ZmZlciI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6Ok1l
dGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjogdHMgPDwgIm1ldGEtY29tbWFuZC1jaGFuZ2UtaXRl
bS1idWZmZXIiOyBicmVhazsKKyAgICBjYXNlIEl0ZW1UeXBlOjpHZXRJbWFnZURhdGE6IHRzIDw8
ICJnZXQtaW1hZ2UtZGF0YSI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0
YTogdHMgPDwgInB1dC1pbWFnZS1kYXRhIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFp
bnRGcmFtZUZvck1lZGlhOiB0cyA8PCAicGFpbnQtZnJhbWUtZm9yLW1lZGlhIjsgYnJlYWs7CiAg
ICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlUmVjdDogdHMgPDwgInN0cm9rZS1yZWN0IjsgYnJlYWs7
CkBAIC0xMjI1LDYgKzEyMjcsOSBAQCBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJlYW0m
IHRzLCBJdGVtSGFuZGxlIGl0ZW0pCiAgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFu
Z2VJdGVtQnVmZmVyOgogICAgICAgICB0cyA8PCBpdGVtLmdldDxNZXRhQ29tbWFuZENoYW5nZUl0
ZW1CdWZmZXI+KCk7CiAgICAgICAgIGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6OkdldEltYWdl
RGF0YToKKyAgICAgICAgdHMgPDwgaXRlbS5nZXQ8R2V0SW1hZ2VEYXRhPigpOworICAgICAgICBi
cmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CiAgICAgICAgIHRzIDw8IGl0
ZW0uZ2V0PFB1dEltYWdlRGF0YT4oKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVt
cy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0SXRlbXMuaAppbmRleCA3ZjE5MTEyNzRmNmFmNDUwZmY5NGNmYmQwNGMwNDQ2N2VhYzUw
NDY0Li5lOTNiMDQ2NDQzYmE0YWM3NjJhZTMyMzE1M2NiNGZhMGMzYTY1YTVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmgKQEAgLTUxLDYgKzUxLDE1IEBAIHN0cnVjdCBJbWFnZVBh
aW50aW5nT3B0aW9uczsKIAogbmFtZXNwYWNlIERpc3BsYXlMaXN0IHsKIAorLyogaXNJbmxpbmVJ
dGVtIGluZGljYXRlcyB3aGV0aGVyIHRoZSBvYmplY3QgbmVlZHMgdG8gYmUgcGFzc2VkIHRocm91
Z2ggSVBDOjpFbmNvZGVyIGluIG9yZGVyIHRvIHNlcmlhbGl6ZSwKKyAqIG9yIHdoZXRoZXIgd2Ug
Y2FuIGp1c3QgdXNlIHBsYWNlbWVudCBuZXcgYW5kIGJlIGRvbmUuCisgKiBJdCBuZWVkcyB0byBt
YXRjaCAoMSkgUmVtb3RlSW1hZ2VCdWZmZXJQcm94eTo6ZW5jb2RlSXRlbSgpLCAoMikgUmVtb3Rl
UmVuZGVyaW5nQmFja2VuZDo6ZGVjb2RlSXRlbSgpLAorICogYW5kICgzKSBpc0lubGluZUl0ZW0o
KSBpbiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcC4KKyAqCisgKiBpc0RyYXdpbmdJdGVtIGluZGlj
YXRlcyBpZiB0aGlzIGNvbW1hbmQgY2FuIGFmZmVjdCBkaXJ0eSByZWN0cy4KKyAqIFdlIGNhbiBk
byB0aGluZ3MgbGlrZSBza2lwIGRyYXdpbmcgaXRlbXMgd2hlbiByZXBsYXlpbmcgdGhlbSBpZiB0
aGVpciBleHRlbnRzIGRvbid0IGludGVyc2VjdCB3aXRoIHRoZSBjdXJyZW50IGNsaXAuCisgKiBJ
dCBuZWVkcyB0byBtYXRjaCBpc0RyYXdpbmdJdGVtKCkgaW4gRGlzcGxheUxpc3RJdGVtVHlwZS5j
cHAuICovCisKIGNsYXNzIFNhdmUgewogcHVibGljOgogICAgIHN0YXRpYyBjb25zdGV4cHIgSXRl
bVR5cGUgaXRlbVR5cGUgPSBJdGVtVHlwZTo6U2F2ZTsKQEAgLTE4ODUsNiArMTg5NCwyNiBAQCBw
cml2YXRlOgogICAgIEZsb2F0UmVjdCBtX3JlY3Q7CiB9OwogCitjbGFzcyBHZXRJbWFnZURhdGEg
eworcHVibGljOgorICAgIHN0YXRpYyBjb25zdGV4cHIgSXRlbVR5cGUgaXRlbVR5cGUgPSBJdGVt
VHlwZTo6R2V0SW1hZ2VEYXRhOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0
ZW0gPSB0cnVlOworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0RyYXdpbmdJdGVtID0gZmFs
c2U7CisKKyAgICBHZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBv
dXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QpCisgICAgICAgIDog
bV9zcmNSZWN0KHNyY1JlY3QpCisgICAgICAgICwgbV9vdXRwdXRGb3JtYXQob3V0cHV0Rm9ybWF0
KQorICAgIHsKKyAgICB9CisKKyAgICBBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1h
dCgpIGNvbnN0IHsgcmV0dXJuIG1fb3V0cHV0Rm9ybWF0OyB9CisgICAgSW50UmVjdCBzcmNSZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9zcmNSZWN0OyB9CisKK3ByaXZhdGU6CisgICAgSW50UmVjdCBt
X3NyY1JlY3Q7CisgICAgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBtX291dHB1dEZvcm1hdDsKK307
CisKIGNsYXNzIFB1dEltYWdlRGF0YSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBJ
dGVtVHlwZSBpdGVtVHlwZSA9IEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE7CkBAIC0xOTAwLDggKzE5
MjksNiBAQCBwdWJsaWM6CiAgICAgSW50UG9pbnQgZGVzdFBvaW50KCkgY29uc3QgeyByZXR1cm4g
bV9kZXN0UG9pbnQ7IH0KICAgICBBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RGb3JtYXQoKSBj
b25zdCB7IHJldHVybiBtX2Rlc3RGb3JtYXQ7IH0KIAotICAgIE5PX1JFVFVSTl9EVUVfVE9fQVNT
RVJUIHZvaWQgYXBwbHkoR3JhcGhpY3NDb250ZXh0JikgY29uc3Q7Ci0KICAgICBPcHRpb25hbDxG
bG9hdFJlY3Q+IGxvY2FsQm91bmRzKGNvbnN0IEdyYXBoaWNzQ29udGV4dCYpIGNvbnN0IHsgcmV0
dXJuIFdURjo6bnVsbG9wdDsgfQogICAgIE9wdGlvbmFsPEZsb2F0UmVjdD4gZ2xvYmFsQm91bmRz
KCkgY29uc3QgeyByZXR1cm4ge3sgbV9kZXN0UG9pbnQsIG1fc3JjUmVjdC5zaXplKCkgfX07IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCmluZGV4IDEwZDk1ZDYz
YjA4Yzc3ZjdmODVjM2QzYTc5NjBlZjU2ZjljMzk0NGYuLjgzN2YwZTkwZTI3ZjU5OGMwY2I3ZTkx
MzY0M2UwNWI4YTAzMDA2OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRl
ci5jcHAKQEAgLTU1LDYgKzU1LDExIEBAIFJlY29yZGVyOjp+UmVjb3JkZXIoKQogICAgIExPRyhE
aXNwbGF5TGlzdHMsICJSZWNvcmRlZCBkaXNwbGF5IGxpc3Q6XG4lcyIsIG1fZGlzcGxheUxpc3Qu
ZGVzY3JpcHRpb24oKS5kYXRhKCkpOwogfQogCit2b2lkIFJlY29yZGVyOjpnZXRJbWFnZURhdGEo
QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIGNvbnN0IEludFJlY3QmIHNvdXJj
ZVJlY3QpCit7CisgICAgYXBwZW5kPEdldEltYWdlRGF0YT4ob3V0cHV0Rm9ybWF0LCBzb3VyY2VS
ZWN0KTsKK30KKwogdm9pZCBSZWNvcmRlcjo6cHV0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJl
bXVsdGlwbGljYXRpb24gaW5wdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkltYWdlRGF0YSYgaW1h
Z2VEYXRhLCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0LCBjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYgZGVzdFBvaW50LCBXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGRlc3RG
b3JtYXQpCiB7CiAgICAgYXBwZW5kPFB1dEltYWdlRGF0YT4oaW5wdXRGb3JtYXQsIGltYWdlRGF0
YSwgc3JjUmVjdCwgZGVzdFBvaW50LCBkZXN0Rm9ybWF0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxh
eUxpc3RSZWNvcmRlci5oCmluZGV4IGU3YjRhMDdmY2NjODdkZWE2ZGVhMjU0YTViNzZjZGJkZThj
NDE2YzYuLjBjZWM0OGQ3MTYzYTYxYzkxODgwZTI2ZjUxNmRhYTJhMDcwOTNjYWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdFJlY29yZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaApAQCAtNTcsNiArNTcsNyBAQCBwdWJsaWM6
CiAgICAgV0VCQ09SRV9FWFBPUlQgUmVjb3JkZXIoR3JhcGhpY3NDb250ZXh0JiwgRGlzcGxheUxp
c3QmLCBjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYsIGNvbnN0IEZsb2F0UmVjdCYgaW5pdGlh
bENsaXAsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIERlbGVnYXRlKiA9IG51bGxwdHIsIERyYXdH
bHlwaHNSZWNvcmRlcjo6RHJhd0dseXBoc0RlY29uc3RydWN0aW9uID0gRHJhd0dseXBoc1JlY29y
ZGVyOjpEcmF3R2x5cGhzRGVjb25zdHJ1Y3Rpb246OkRlY29uc3RydWN0KTsKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIH5SZWNvcmRlcigpOwogCisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBn
ZXRJbWFnZURhdGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIGNvbnN0IElu
dFJlY3QmIHNvdXJjZVJlY3QpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcHV0SW1hZ2VEYXRh
KEFscGhhUHJlbXVsdGlwbGljYXRpb24gaW5wdXRGb3JtYXQsIGNvbnN0IEltYWdlRGF0YSYsIGNv
bnN0IEludFJlY3QmIHNyY1JlY3QsIGNvbnN0IEludFBvaW50JiBkZXN0UG9pbnQsIEFscGhhUHJl
bXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCk7CiAKICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7
IHJldHVybiBtX2Rpc3BsYXlMaXN0LmlzRW1wdHkoKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAppbmRleCAwNmQ5NDNk
OTdhOWI2NGY3MGExZTc3OTZkOTE1MGViOTdmODI5NjM5Li42Y2ExZTYwZGFhYmU2ZTA1ODFjMjRi
NjFhZDA0Yjk5Njg1MzdhY2M2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
Z3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaApAQCAtNzYsNiArNzYsMTMgQEAgcHVibGlj
OgogcHJpdmF0ZToKICAgICBib29sIGFwcGx5KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFu
ZGxlIGl0ZW0sIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCkgb3ZlcnJpZGUKICAg
ICB7CisgICAgICAgIGlmIChpdGVtLmlzPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpHZXRJbWFnZURh
dGE+KCkpIHsKKyAgICAgICAgICAgIGF1dG8mIGdldEltYWdlRGF0YUl0ZW0gPSBpdGVtLmdldDxX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6R2V0SW1hZ2VEYXRhPigpOworICAgICAgICAgICAgVU5VU0VE
X1ZBUklBQkxFKGdldEltYWdlRGF0YUl0ZW0pOworICAgICAgICAgICAgLy8gRklYTUU6IGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA2NDkgSW1wbGVtZW50IHRoaXMu
CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCiAgICAgICAgIGlmIChpdGVt
LmlzPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpQdXRJbWFnZURhdGE+KCkpIHsKICAgICAgICAgICAg
IGF1dG8mIHB1dEltYWdlRGF0YUl0ZW0gPSBpdGVtLmdldDxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
UHV0SW1hZ2VEYXRhPigpOwogICAgICAgICAgICAgcHV0SW1hZ2VEYXRhKHB1dEltYWdlRGF0YUl0
ZW0uaW5wdXRGb3JtYXQoKSwgcHV0SW1hZ2VEYXRhSXRlbS5pbWFnZURhdGEoKSwgcHV0SW1hZ2VE
YXRhSXRlbS5zcmNSZWN0KCksIHB1dEltYWdlRGF0YUl0ZW0uZGVzdFBvaW50KCksIHB1dEltYWdl
RGF0YUl0ZW0uZGVzdEZvcm1hdCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJLaXQv
R1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAppbmRleCBlNGRk
YzNkMTVhYjI1NGFmZWI4MTVkZjJlN2I0NTc5MGNkNjYwMjVmLi5lZTE0MmYyZjU5ZmRiNmI0Y2Fi
NTg5MzY3MDNlZGMyNmZjZjE5YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCkBAIC00MzYs
NiArNDM2LDEwIEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZGlkQ3JlYXRlU2hhcmVk
RGlzcGxheUxpc3RIYW5kbGUoRGlzcGxheUxpc3Q6Okl0ZW1CCiAKIE9wdGlvbmFsPERpc3BsYXlM
aXN0OjpJdGVtSGFuZGxlPiBXQVJOX1VOVVNFRF9SRVRVUk4gUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZDo6ZGVjb2RlSXRlbShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgbGVuZ3RoLCBEaXNwbGF5
TGlzdDo6SXRlbVR5cGUgdHlwZSwgdWludDhfdCogaGFuZGxlTG9jYXRpb24pCiB7CisgICAgLyog
VGhpcyBuZWVkcyB0byBtYXRjaCAoMSkgaXNJbmxpbmVJdGVtKCkgaW4gRGlzcGxheUxpc3RJdGVt
VHlwZS5jcHAsICgyKSBSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjplbmNvZGVJdGVtKCksCisgICAg
ICogYW5kICgzKSBhbGwgdGhlICJzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbmxpbmVJdGVtInMg
aW5zaWRlIHRoZSBpbmRpdmlkdWFsIGl0ZW0gY2xhc3Nlcy4KKyAgICAgKiBTZWUgdGhlIGNvbW1l
bnQgYXQgdGhlIHRvcCBvZiBEaXNwbGF5TGlzdEl0ZW1zLmggZm9yIHdoeS4gKi8KKwogICAgIHN3
aXRjaCAodHlwZSkgewogICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpDbGlwT3V0VG9Q
YXRoOgogICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPERpc3BsYXlMaXN0OjpDbGlwT3V0
VG9QYXRoPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKQEAgLTUyMCw3ICs1MjQsOCBA
QCBPcHRpb25hbDxEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlYwogI2VuZGlmCiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6
SXRlbVR5cGU6OlN0cm9rZVJlY3Q6CiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlN0
cm9rZUxpbmU6Ci0gICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlRyYW5zbGF0ZTogewor
ICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpUcmFuc2xhdGU6CisgICAgY2FzZSBEaXNw
bGF5TGlzdDo6SXRlbVR5cGU6OkdldEltYWdlRGF0YTogewogICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHku
aAppbmRleCA4OTRkOWRkMTk4Y2FjNTIwZGQzYTQyNTdiNTA0Y2ExYzc4NGQ4ZmVmLi41YmJmMjU2
MzA2MjkwZTQ5YWM4ZGIzMWI1ZDAxYWM5NmI1NmFhYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
UHJveHkuaApAQCAtMTQzLDE1ICsxNDMsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHJldHVybiBt
X2JhY2tlbmQuZ2V0KCk7CiAgICAgfQogCi0gICAgUmVmUHRyPFdlYkNvcmU6OkltYWdlRGF0YT4g
Z2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0
LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0KSBjb25zdCBvdmVycmlkZQotICAgIHsK
LSAgICAgICAgaWYgKFVOTElLRUxZKCFtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkpCi0g
ICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgICAgICBjb25zdF9jYXN0PFJlbW90ZUlt
YWdlQnVmZmVyUHJveHkqPih0aGlzKS0+Zmx1c2hEcmF3aW5nQ29udGV4dCgpOwotICAgICAgICBy
ZXR1cm4gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHktPmdldEltYWdlRGF0YShvdXRwdXRG
b3JtYXQsIHNyY1JlY3QsIG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKLSAgICB9Ci0K
ICAgICBTdHJpbmcgdG9EYXRhVVJMKGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIE9wdGlvbmFsPGRv
dWJsZT4gcXVhbGl0eSwgV2ViQ29yZTo6UHJlc2VydmVSZXNvbHV0aW9uIHByZXNlcnZlUmVzb2x1
dGlvbikgY29uc3Qgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChVTkxJS0VMWSghbV9yZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHkpKQpAQCAtMTk3LDYgKzE4OCwxOSBAQCBwcm90ZWN0ZWQ6
CiAgICAgICAgIHJldHVybiBiaXRtYXAtPmNyZWF0ZUltYWdlKCk7CiAgICAgfQogCisgICAgUmVm
UHRyPFdlYkNvcmU6OkltYWdlRGF0YT4gZ2V0SW1hZ2VEYXRhKFdlYkNvcmU6OkFscGhhUHJlbXVs
dGlwbGljYXRpb24gb3V0cHV0Rm9ybWF0LCBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiBzcmNSZWN0
KSBjb25zdCBvdmVycmlkZQorICAgIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKCFtX3JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eSkpCisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
ICAgICBhdXRvJiBtdXRhYmxlVGhpcyA9IGNvbnN0X2Nhc3Q8UmVtb3RlSW1hZ2VCdWZmZXJQcm94
eSY+KCp0aGlzKTsKKyAgICAgICAgbXV0YWJsZVRoaXMubV9kcmF3aW5nQ29udGV4dC5yZWNvcmRl
cigpLmdldEltYWdlRGF0YShvdXRwdXRGb3JtYXQsIHNyY1JlY3QpOworICAgICAgICAvLyBGSVhN
RTogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY0OSBVc2UgdGhl
IHJlY29yZGVkIGNvbW1hbmQgaW5zdGVhZCBvZiB0aGUgc3luY2hyb25vdXMgSVBDIG1lc3NhZ2Uu
CisKKyAgICAgICAgY29uc3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlclByb3h5Kj4odGhpcyktPmZs
dXNoRHJhd2luZ0NvbnRleHQoKTsKKyAgICAgICAgcmV0dXJuIG1fcmVtb3RlUmVuZGVyaW5nQmFj
a2VuZFByb3h5LT5nZXRJbWFnZURhdGEob3V0cHV0Rm9ybWF0LCBzcmNSZWN0LCBtX3JlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcik7CisgICAgfQorCiAgICAgdm9pZCBwdXRJbWFnZURhdGEoV2Vi
Q29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6
SW1hZ2VEYXRhJiBpbWFnZURhdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNv
bnN0IFdlYkNvcmU6OkludFBvaW50JiBkZXN0UG9pbnQgPSB7IH0sIFdlYkNvcmU6OkFscGhhUHJl
bXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCA9IFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRp
b246OlByZW11bHRpcGxpZWQpIG92ZXJyaWRlCiAgICAgewogICAgICAgICAvLyBUaGUgbWF0aCBp
bnNpZGUgSW1hZ2VEYXRhOjpjcmVhdGUoKSBkb2Vzbid0IGFncmVlIHdpdGggdGhlIG1hdGggaW5z
aWRlIEltYWdlQnVmZmVyQmFja2VuZDo6cHV0SW1hZ2VEYXRhKCkgYWJvdXQgaG93IG1fcmVzb2x1
dGlvblNjYWxlIGludGVyYWN0cyB3aXRoIHRoZSBkYXRhIGluIHRoZSBJbWFnZUJ1ZmZlci4KQEAg
LTI5OSw2ICszMDMsMTAgQEAgcHJvdGVjdGVkOgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcj4gZW5jb2RlSXRlbShXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZSBpdGVt
KSBjb25zdCBvdmVycmlkZQogICAgIHsKKyAgICAgICAgLyogVGhpcyBuZWVkcyB0byBtYXRjaCAo
MSkgaXNJbmxpbmVJdGVtKCkgaW4gRGlzcGxheUxpc3RJdGVtVHlwZS5jcHAsICgyKSBSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjpkZWNvZGVJdGVtKCksCisgICAgICAgICAqIGFuZCAoMykgYWxsIHRo
ZSAic3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5lSXRlbSJzIGluc2lkZSB0aGUgaW5kaXZp
ZHVhbCBpdGVtIGNsYXNzZXMuCisgICAgICAgICAqIFNlZSB0aGUgY29tbWVudCBhdCB0aGUgdG9w
IG9mIERpc3BsYXlMaXN0SXRlbXMuaCBmb3Igd2h5LiAqLworCiAgICAgICAgIHN3aXRjaCAoaXRl
bS50eXBlKCkpIHsKICAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6
OkNsaXBPdXRUb1BhdGg6CiAgICAgICAgICAgICByZXR1cm4gSVBDOjpFbmNvZGVyOjplbmNvZGVT
aW5nbGVPYmplY3Q8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkNsaXBPdXRUb1BhdGg+KGl0ZW0uZ2V0
PFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpDbGlwT3V0VG9QYXRoPigpKTsK
</data>
<flag name="review"
          id="443273"
          type_id="1"
          status="+"
          setter="wenson_hsieh"
    />
    <flag name="commit-queue"
          id="443309"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423971</attachid>
            <date>2021-03-22 17:36:01 -0700</date>
            <delta_ts>2021-03-22 18:54:02 -0700</delta_ts>
            <desc>Patch for committing</desc>
            <filename>bug-223544-20210322173600.patch</filename>
            <type>text/plain</type>
            <size>22673</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDhlZmNlODU3MjQ2NzQ4
NWM4MjFjOWE5Y2M1YzNjNGIxYTJmNTRmNS4uOTllMTA1YjMyNTdiMWMxYjg4NGFkMzRiZTcwNTE3
ZDU3NDUxZWUzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIxLTAzLTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXTogSW1wcm92ZSBnZXRJbWFnZURhdGEoKSBwZXJmIHBhcnQgMTogQWRkIGEgR2V0SW1hZ2VE
YXRhIGRpc3BsYXkgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NDQKKworICAgICAgICBSZXZpZXdlZCBieSBXZW5zb24gSHNpZWgu
CisKKyAgICAgICAgV2UncmUgbW92aW5nIHRvIGEgZGVzaWduIGZvciBnZXRJbWFnZURhdGEoKSB3
aGVyZSB0aGUgd2ViIHByb2Nlc3MgYW5kIHRoZSBHUFUgcHJvY2VzcworICAgICAgICBzZXQgdXAg
YSBzaG1lbSArIHNlbWFwaG9yZSBhaGVhZC1vZi10aW1lLCBzbyB0aGF0IHdoZW4gd2UgZW5jb3Vu
dGVyIGEgY2FsbCB0byBnZXRJbWFnZURhdGEoKSwKKyAgICAgICAgdGhlIEdQVSBwcm9jZXNzIGNh
biBqdXN0IHdyaXRlIGludG8gdGhlIHNobWVtIGFuZCBzaWduYWwgdGhlIHNlbWFwaG9yZS4gVGhl
IHdlYiBwcm9jZXNzIGp1c3QKKyAgICAgICAgZW5jb2RlcyB0aGUgZ2V0SW1hZ2VEYXRhKCkgY2Fs
bCBpbnRvIHRoZSByZWd1bGFyIGRpc3BsYXkgbGlzdCwgZmx1c2hBc3luYygpcyB0byBraWNrIHRo
ZSBHUFUKKyAgICAgICAgcHJvY2VzcywgdGhlbiBqdXN0IHdhaXRzIG9uIHRoZSBzZW1hcGhvcmUu
IEluaXRpYWwgcGVyZm9ybWFuY2UgdGVzdGluZyBzaG93cyB0aGF0IHRoaXMgaXMKKyAgICAgICAg
d2F5LCB3YXkgZmFzdGVyIHRoYW4gc2VuZGluZyBtZXNzYWdlcyBjb250YWluaW5nIHBpeGVsIGNv
bG9yIGRhdGEgcGF5bG9hZHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpcyBqdXN0IHRoZSBmaXJz
dCBzdGVwOiBBZGRpbmcgYSBHZXRJbWFnZURhdGEgZGlzcGxheSBsaXN0IGl0ZW0uIFRoZSBpdGVt
CisgICAgICAgIGN1cnJlbnRseSBnZXRzIHJlY29yZGVkIGluIHRoZSB3ZWIgcHJvY2VzcyBhbmQg
YXBwbGllZCBpbiB0aGUgR1BVIHByb2Nlc3MsIGJ1dCB0aGUgYXBwbGljYXRpb24KKyAgICAgICAg
cHJvY2VzcyBjdXJyZW50bHkgZG9lcyBub3RoaW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBi
ZWNhdXNlIHRoZXJlIGlzIG5vIGJlaGF2aW9yIGNoYW5nZSB5ZXQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6OkRpc3BsYXlMaXN0OjphcHBlbmQpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1IYW5kbGU6OmFwcGx5KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxlOjpkZXN0cm95KToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxlOjpzYWZlQ29weSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0
ZW1UeXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpzaXplT2ZJdGVtSW5C
eXRlcyk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6aXNEcmF3aW5nSXRlbSk6Cisg
ICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6aXNJbmxpbmVJdGVtKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtVHlwZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpvcGVyYXRvcjw8KToKKyAgICAgICAg
KFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpQdXRJbWFnZURhdGE6OmFwcGx5IGNvbnN0KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJ
dGVtcy5oOgorICAgICAgICAoV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkdldEltYWdlRGF0YTo6R2V0
SW1hZ2VEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpHZXRJbWFnZURhdGE6
Om91dHB1dEZvcm1hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6R2V0
SW1hZ2VEYXRhOjpzcmNSZWN0IGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
aXNwbGF5TGlzdDo6UmVjb3JkZXI6OmdldEltYWdlRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaDoKKwogMjAyMS0wMy0y
MiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogUG9ydCBncmlkIG92ZXJsYXkgZHJhd2luZyB0byBpT1MKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYjNlNmVl
MGJmNmYwZjYzODRiNjA4Y2E1MzdlNGFkMjcxMTFhNTIyNy4uYTg2ODQ0OWEyMjMxNjhhNmY5NGMz
N2YwNjM4OTk2NmI2MWE3NjczYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wMy0y
MiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtH
UFUgUHJvY2Vzc106IEltcHJvdmUgZ2V0SW1hZ2VEYXRhKCkgcGVyZiBwYXJ0IDE6IEFkZCBhIEdl
dEltYWdlRGF0YSBkaXNwbGF5IGxpc3QgaXRlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgV2Vuc29u
IEhzaWVoLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZl
ci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2Vu
ZC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlY29kZUl0
ZW0pOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
UHJveHkuaDoKKwogMjAyMS0wMy0yMiAgUGF0cmljayBBbmdsZSAgPHBhbmdsZUBhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogUG9ydCBncmlkIG92ZXJsYXkgZHJhd2luZyB0byBp
T1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3QuY3BwCmluZGV4IGMwODMyMGU1NjU2NzViZTEyYTY0YzY5
Njk0YmUxNWY4MjdiNzk4NWUuLjViNTViZWM4YzBhZTIxYTkyOTg0NWE0MTVkMTM1NzljMzY5YmQ1
NDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXls
aXN0cy9EaXNwbGF5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0LmNwcApAQCAtMjg3LDYgKzI4Nyw4IEBAIHZvaWQg
RGlzcGxheUxpc3Q6OmFwcGVuZChJdGVtSGFuZGxlIGl0ZW0pCiAgICAgICAgIHJldHVybiBhcHBl
bmQ8TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyPihpdGVtLmdldDxNZXRh
Q29tbWFuZENoYW5nZURlc3RpbmF0aW9uSW1hZ2VCdWZmZXI+KCkpOwogICAgIGNhc2UgSXRlbVR5
cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKICAgICAgICAgcmV0dXJuIGFwcGVuZDxN
ZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZmZXI+KGl0ZW0uZ2V0PE1ldGFDb21tYW5kQ2hhbmdlSXRl
bUJ1ZmZlcj4oKSk7CisgICAgY2FzZSBJdGVtVHlwZTo6R2V0SW1hZ2VEYXRhOgorICAgICAgICBy
ZXR1cm4gYXBwZW5kPEdldEltYWdlRGF0YT4oaXRlbS5nZXQ8R2V0SW1hZ2VEYXRhPigpKTsKICAg
ICBjYXNlIEl0ZW1UeXBlOjpQdXRJbWFnZURhdGE6CiAgICAgICAgIHJldHVybiBhcHBlbmQ8UHV0
SW1hZ2VEYXRhPihpdGVtLmdldDxQdXRJbWFnZURhdGE+KCkpOwogICAgIGNhc2UgSXRlbVR5cGU6
OlBhaW50RnJhbWVGb3JNZWRpYToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1
ZmZlci5jcHAKaW5kZXggMDhlOTJjNjViYjczODIxZjAwMzk5YTVlNTljZDc5YTZkNWQwMTg2My4u
YjVjMzc0MTlkNmZmYWExNjhkNGJiOTllNDE4ODRmZGFkNGQxNzY5NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRl
bUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5jcHAKQEAgLTE4Nyw4ICsxODcsMTAgQEAgdm9p
ZCBJdGVtSGFuZGxlOjphcHBseShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQpCiAgICAgY2FzZSBJ
dGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VEZXN0aW5hdGlvbkltYWdlQnVmZmVyOgogICAgIGNh
c2UgSXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcjoKICAgICAgICAgcmV0dXJu
OworICAgIGNhc2UgSXRlbVR5cGU6OkdldEltYWdlRGF0YToKICAgICBjYXNlIEl0ZW1UeXBlOjpQ
dXRJbWFnZURhdGE6Ci0gICAgICAgIGdldDxQdXRJbWFnZURhdGE+KCkuYXBwbHkoY29udGV4dCk7
CisgICAgICAgIC8vIFNob3VsZCBhbHJlYWR5IGJlIGhhbmRsZWQgYnkgdGhlIGRlbGVnYXRlLgor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2Ug
SXRlbVR5cGU6OlBhaW50RnJhbWVGb3JNZWRpYToKICAgICAgICAgZ2V0PFBhaW50RnJhbWVGb3JN
ZWRpYT4oKS5hcHBseShjb250ZXh0KTsKQEAgLTI3NSw2ICsyNzcsOSBAQCB2b2lkIEl0ZW1IYW5k
bGU6OmRlc3Ryb3koKQogICAgIGNhc2UgSXRlbVR5cGU6OkZpbGxSb3VuZGVkUmVjdDoKICAgICAg
ICAgZ2V0PEZpbGxSb3VuZGVkUmVjdD4oKS5+RmlsbFJvdW5kZWRSZWN0KCk7CiAgICAgICAgIHJl
dHVybjsKKyAgICBjYXNlIEl0ZW1UeXBlOjpHZXRJbWFnZURhdGE6CisgICAgICAgIHN0YXRpY19h
c3NlcnQoc3RkOjppc190cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPEdldEltYWdlRGF0YT46OnZhbHVl
KTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAg
ICAgICAgZ2V0PFB1dEltYWdlRGF0YT4oKS5+UHV0SW1hZ2VEYXRhKCk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTQ4Myw2ICs0ODgsOCBAQCBib29sIEl0ZW1IYW5kbGU6OnNhZmVDb3B5KEl0ZW1IYW5k
bGUgZGVzdGluYXRpb24pIGNvbnN0CiAgICAgICAgIHJldHVybiBjb3B5SW50bzxGaWxsUmVjdFdp
dGhSb3VuZGVkSG9sZT4oKnRoaXMsIGl0ZW1PZmZzZXQpOwogICAgIGNhc2UgSXRlbVR5cGU6OkZp
bGxSb3VuZGVkUmVjdDoKICAgICAgICAgcmV0dXJuIGNvcHlJbnRvPEZpbGxSb3VuZGVkUmVjdD4o
KnRoaXMsIGl0ZW1PZmZzZXQpOworICAgIGNhc2UgSXRlbVR5cGU6OkdldEltYWdlRGF0YToKKyAg
ICAgICAgcmV0dXJuIGNvcHlJbnRvPEdldEltYWdlRGF0YT4oKnRoaXMsIGl0ZW1PZmZzZXQpOwog
ICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAgICAgICAgcmV0dXJuIGNvcHlJbnRv
PFB1dEltYWdlRGF0YT4oKnRoaXMsIGl0ZW1PZmZzZXQpOwogICAgIGNhc2UgSXRlbVR5cGU6OlNl
dExpbmVEYXNoOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbUJ1ZmZlci5oCmluZGV4
IGQ4NzU5MzJjMTc2ZjA3OTAzNmVmMGM0ZmJmNWQyZGE3MTMzMTVhZDUuLjEzOGQ5Y2EwYmQ3MzQz
ZGJiZjVmNTE5MTYwN2MzYjE5MmEzNzdiZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1CdWZmZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxp
c3RJdGVtQnVmZmVyLmgKQEAgLTEzOSw3ICsxMzksNyBAQCBwdWJsaWM6CiAgICAgLy8gd3JpdGFi
bGUgYnVmZmVyIGhhbmRsZTsgaWYgcmVtYWluaW5nIGJ1ZmZlciBjYXBhY2l0eSBpcyBpbnN1ZmZp
Y2llbnQgdG8gc3RvcmUgdGhlIGl0ZW0sIGEKICAgICAvLyBuZXcgYnVmZmVyIHdpbGwgYmUgYWxs
b2NhdGVkIChlaXRoZXIgYnkgdGhlIEl0ZW1CdWZmZXJXcml0aW5nQ2xpZW50LCBpZiBzZXQsIG9y
IGJ5IHRoZSBpdGVtCiAgICAgLy8gYnVmZmVyIGl0c2VsZiBpZiB0aGVyZSBpcyBubyBjbGllbnQp
LiBJdGVtcyBhcmUgcGxhY2VkIGJhY2stdG8tYmFjayBpbiB0aGVzZSBpdGVtIGJ1ZmZlcnMsCi0g
ICAgLy8gd2l0aCBwYWRkaW5nIGFmdGVyIGVhY2ggaXRlbSB0byBlbnN1cmUgdGhhdCBhbGwgaXRl
bXMgYXJlIGFsaWduZWQgdG8gOCBieXRlcy4KKyAgICAvLyB3aXRoIHBhZGRpbmcgYmV0d2VlbiBl
YWNoIGl0ZW0gdG8gZW5zdXJlIHRoYXQgYWxsIGl0ZW1zIGFyZSBhbGlnbmVkIHRvIDggYnl0ZXMu
CiAgICAgLy8KICAgICAvLyBJZiBhIHdyaXRpbmcgY2xpZW50IGlzIHByZXNlbnQgYW5kIHJlcXVp
cmVzIGN1c3RvbSBlbmNvZGluZyBmb3IgdGhlIGdpdmVuIGl0ZW0gdHlwZSBULCB0aGUKICAgICAv
LyBpdGVtIGJ1ZmZlciB3aWxsIGFzayB0aGUgY2xpZW50IGZvciBhbiBvcGFxdWUgU2hhcmVkQnVm
ZmVyIGNvbnRhaW5pbmcgZW5jb2RlZCBkYXRhIGZvciB0aGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1UeXBlLmNwcAppbmRleCA1NjkyNTAwNjUxYWEyYmFkNGU4OTFkODk3NDAyYjFh
ZDMwYjYwYjMxLi5kYjFkYjk0N2FiODU1N2YwMGNhZjlkMDE3NmU3MWIyNWQ5NjE1OGM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RJdGVtVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuY3BwCkBAIC0xMzIsNiArMTMyLDgg
QEAgc3RhdGljIHNpemVfdCBzaXplT2ZJdGVtSW5CeXRlcyhJdGVtVHlwZSB0eXBlKQogICAgICAg
ICByZXR1cm4gc2l6ZW9mKE1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcik7
CiAgICAgY2FzZSBJdGVtVHlwZTo6TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOgogICAgICAg
ICByZXR1cm4gc2l6ZW9mKE1ldGFDb21tYW5kQ2hhbmdlSXRlbUJ1ZmZlcik7CisgICAgY2FzZSBJ
dGVtVHlwZTo6R2V0SW1hZ2VEYXRhOgorICAgICAgICByZXR1cm4gc2l6ZW9mKEdldEltYWdlRGF0
YSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VEYXRhOgogICAgICAgICByZXR1cm4gc2l6
ZW9mKFB1dEltYWdlRGF0YSk7CiAgICAgY2FzZSBJdGVtVHlwZTo6UGFpbnRGcmFtZUZvck1lZGlh
OgpAQCAtMTY5LDYgKzE3MSw5IEBAIHN0YXRpYyBzaXplX3Qgc2l6ZU9mSXRlbUluQnl0ZXMoSXRl
bVR5cGUgdHlwZSkKIAogYm9vbCBpc0RyYXdpbmdJdGVtKEl0ZW1UeXBlIHR5cGUpCiB7CisgICAg
LyogU2VlIHRoZSBjb21tZW50IGF0IHRoZSB0b3Agb2YgRGlzcGxheUxpc3RJdGVtcy5oIGZvciB3
aGF0IHRoaXMgbWVhbnMuCisgICAgICogVGhpcyBuZWVkcyB0byBtYXRjaCBhbGwgdGhlICJzdGF0
aWMgY29uc3RleHByIGJvb2wgaXNEcmF3aW5nSXRlbSJzIGluc2lkZSB0aGUgaW5kaXZpZHVhbCBp
dGVtIGNsYXNzZXMuICovCisKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIEl0ZW1UeXBl
OjpBcHBseURldmljZVNjYWxlRmFjdG9yOgogI2lmIFVTRShDRykKQEAgLTIwMiw2ICsyMDcsNyBA
QCBib29sIGlzRHJhd2luZ0l0ZW0oSXRlbVR5cGUgdHlwZSkKICAgICBjYXNlIEl0ZW1UeXBlOjpT
ZXRTdGF0ZToKICAgICBjYXNlIEl0ZW1UeXBlOjpTZXRTdHJva2VUaGlja25lc3M6CiAgICAgY2Fz
ZSBJdGVtVHlwZTo6VHJhbnNsYXRlOgorICAgIGNhc2UgSXRlbVR5cGU6OkdldEltYWdlRGF0YToK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGNhc2UgSXRlbVR5cGU6OkJlZ2luVHJhbnNwYXJl
bmN5TGF5ZXI6CiAgICAgY2FzZSBJdGVtVHlwZTo6Q2xlYXJSZWN0OgpAQCAtMjUxLDYgKzI1Nywx
MCBAQCBzaXplX3QgcGFkZGVkU2l6ZU9mVHlwZUFuZEl0ZW1JbkJ5dGVzKEl0ZW1UeXBlIHR5cGUp
CiAKIGJvb2wgaXNJbmxpbmVJdGVtKEl0ZW1UeXBlIHR5cGUpCiB7CisgICAgLyogU2VlIHRoZSBj
b21tZW50IGF0IHRoZSB0b3Agb2YgRGlzcGxheUxpc3RJdGVtcy5oIGZvciB3aGF0IHRoaXMgbWVh
bnMuCisgICAgICogVGhpcyBuZWVkcyB0byBtYXRjaCAoMSkgUmVtb3RlSW1hZ2VCdWZmZXJQcm94
eTo6ZW5jb2RlSXRlbSgpLCAoMikgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZGVjb2RlSXRlbSgp
LAorICAgICAqIGFuZCAoMykgYWxsIHRoZSAic3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5l
SXRlbSJzIGluc2lkZSB0aGUgaW5kaXZpZHVhbCBpdGVtIGNsYXNzZXMuICovCisKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIEl0ZW1UeXBlOjpDbGlwT3V0VG9QYXRoOgogICAgIGNhc2Ug
SXRlbVR5cGU6OkNsaXBQYXRoOgpAQCAtMzIwLDYgKzMzMCw3IEBAIGJvb2wgaXNJbmxpbmVJdGVt
KEl0ZW1UeXBlIHR5cGUpCiAgICAgY2FzZSBJdGVtVHlwZTo6U3Ryb2tlUmVjdDoKICAgICBjYXNl
IEl0ZW1UeXBlOjpTdHJva2VMaW5lOgogICAgIGNhc2UgSXRlbVR5cGU6OlRyYW5zbGF0ZToKKyAg
ICBjYXNlIEl0ZW1UeXBlOjpHZXRJbWFnZURhdGE6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1UeXBlLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJ
dGVtVHlwZS5oCmluZGV4IGNkNmMxYTQ5OWM5ODIxNmUxMjY1ODBjM2UzY2M0YTNkOGMyNjk0OTAu
LjBlZmQwYjcyYjAyOWFmYjAxMjg5MTAzMDljZmUxYmJjZGQ2ZDM5MWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0
ZW1UeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0SXRlbVR5cGUuaApAQCAtNzksNiArNzksNyBAQCBlbnVtIGNsYXNzIEl0
ZW1UeXBlIDogdWludDhfdCB7CiAgICAgRmx1c2hDb250ZXh0LAogICAgIE1ldGFDb21tYW5kQ2hh
bmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlciwKICAgICBNZXRhQ29tbWFuZENoYW5nZUl0ZW1CdWZm
ZXIsCisgICAgR2V0SW1hZ2VEYXRhLAogICAgIFB1dEltYWdlRGF0YSwKICAgICBQYWludEZyYW1l
Rm9yTWVkaWEsCiAgICAgU3Ryb2tlUmVjdCwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1zLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1z
LmNwcAppbmRleCAxNjg3MzY1ZDQ3YjQ0YThlOGU4Y2MyZDg4ZjE5NzRiZGI1ZTQ2MmQzLi4wZTQw
YTI2YWUwMDk3ZGM4MGU0OGIyNDJlYjE5ZGZmOTZjNDFiM2ZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RJdGVtcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0SXRlbXMuY3BwCkBAIC03NjksNiArNzY5LDEzIEBAIHN0YXRpYyBUZXh0U3RyZWFt
JiBvcGVyYXRvcjw8KFRleHRTdHJlYW0mIHRzLCBjb25zdCBGaWxsRWxsaXBzZSYgaXRlbSkKICAg
ICByZXR1cm4gdHM7CiB9CiAKK3N0YXRpYyBUZXh0U3RyZWFtJiBvcGVyYXRvcjw8KFRleHRTdHJl
YW0mIHRzLCBjb25zdCBHZXRJbWFnZURhdGEmIGl0ZW0pCit7CisgICAgdHMuZHVtcFByb3BlcnR5
KCJvdXRwdXRGb3JtYXQiLCBpdGVtLm91dHB1dEZvcm1hdCgpKTsKKyAgICB0cy5kdW1wUHJvcGVy
dHkoInNyY1JlY3QiLCBpdGVtLnNyY1JlY3QoKSk7CisgICAgcmV0dXJuIHRzOworfQorCiBQdXRJ
bWFnZURhdGE6OlB1dEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIGlucHV0Rm9ybWF0
LCBjb25zdCBJbWFnZURhdGEmIGltYWdlRGF0YSwgY29uc3QgSW50UmVjdCYgc3JjUmVjdCwgY29u
c3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0
KQogICAgIDogbV9zcmNSZWN0KHNyY1JlY3QpCiAgICAgLCBtX2Rlc3RQb2ludChkZXN0UG9pbnQp
CkBAIC03ODcsMTIgKzc5NCw2IEBAIFB1dEltYWdlRGF0YTo6UHV0SW1hZ2VEYXRhKEFscGhhUHJl
bXVsdGlwbGljYXRpb24gaW5wdXRGb3JtYXQsIFJlZjxJbWFnZURhdGE+JiYKIHsKIH0KIAotTk9f
UkVUVVJOX0RVRV9UT19BU1NFUlQgdm9pZCBQdXRJbWFnZURhdGE6OmFwcGx5KEdyYXBoaWNzQ29u
dGV4dCYpIGNvbnN0Ci17Ci0gICAgLy8gU2hvdWxkIGJlIGhhbmRsZWQgYnkgdGhlIGRlbGVnYXRl
LgotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCiBzdGF0aWMgVGV4dFN0cmVhbSYgb3Bl
cmF0b3I8PChUZXh0U3RyZWFtJiB0cywgY29uc3QgUHV0SW1hZ2VEYXRhJiBpdGVtKQogewogICAg
IHRzLmR1bXBQcm9wZXJ0eSgiaW5wdXRGb3JtYXQiLCBpdGVtLmlucHV0Rm9ybWF0KCkpOwpAQCAt
MTA2MSw2ICsxMDYyLDcgQEAgc3RhdGljIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIEl0ZW1UeXBlIHR5cGUpCiAgICAgY2FzZSBJdGVtVHlwZTo6Rmx1c2hDb250ZXh0OiB0
cyA8PCAiZmx1c2gtY29udGV4dCI7IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6Ok1ldGFDb21t
YW5kQ2hhbmdlRGVzdGluYXRpb25JbWFnZUJ1ZmZlcjogdHMgPDwgIm1ldGEtY29tbWFuZC1jaGFu
Z2UtZGVzdGluYXRpb24taW1hZ2UtYnVmZmVyIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6
TWV0YUNvbW1hbmRDaGFuZ2VJdGVtQnVmZmVyOiB0cyA8PCAibWV0YS1jb21tYW5kLWNoYW5nZS1p
dGVtLWJ1ZmZlciI7IGJyZWFrOworICAgIGNhc2UgSXRlbVR5cGU6OkdldEltYWdlRGF0YTogdHMg
PDwgImdldC1pbWFnZS1kYXRhIjsgYnJlYWs7CiAgICAgY2FzZSBJdGVtVHlwZTo6UHV0SW1hZ2VE
YXRhOiB0cyA8PCAicHV0LWltYWdlLWRhdGEiOyBicmVhazsKICAgICBjYXNlIEl0ZW1UeXBlOjpQ
YWludEZyYW1lRm9yTWVkaWE6IHRzIDw8ICJwYWludC1mcmFtZS1mb3ItbWVkaWEiOyBicmVhazsK
ICAgICBjYXNlIEl0ZW1UeXBlOjpTdHJva2VSZWN0OiB0cyA8PCAic3Ryb2tlLXJlY3QiOyBicmVh
azsKQEAgLTEyMjUsNiArMTIyNyw5IEBAIFRleHRTdHJlYW0mIG9wZXJhdG9yPDwoVGV4dFN0cmVh
bSYgdHMsIEl0ZW1IYW5kbGUgaXRlbSkKICAgICBjYXNlIEl0ZW1UeXBlOjpNZXRhQ29tbWFuZENo
YW5nZUl0ZW1CdWZmZXI6CiAgICAgICAgIHRzIDw8IGl0ZW0uZ2V0PE1ldGFDb21tYW5kQ2hhbmdl
SXRlbUJ1ZmZlcj4oKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBJdGVtVHlwZTo6R2V0SW1h
Z2VEYXRhOgorICAgICAgICB0cyA8PCBpdGVtLmdldDxHZXRJbWFnZURhdGE+KCk7CisgICAgICAg
IGJyZWFrOwogICAgIGNhc2UgSXRlbVR5cGU6OlB1dEltYWdlRGF0YToKICAgICAgICAgdHMgPDwg
aXRlbS5nZXQ8UHV0SW1hZ2VEYXRhPigpOwogICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0
ZW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RJdGVtcy5oCmluZGV4IDdmMTkxMTI3NGY2YWY0NTBmZjk0Y2ZiZDA0YzA0NDY3ZWFj
NTA0NjQuLmU5M2IwNDY0NDNiYTRhYzc2MmFlMzIzMTUzY2I0ZmEwYzNhNjVhNWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5
TGlzdEl0ZW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxh
eWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaApAQCAtNTEsNiArNTEsMTUgQEAgc3RydWN0IEltYWdl
UGFpbnRpbmdPcHRpb25zOwogCiBuYW1lc3BhY2UgRGlzcGxheUxpc3QgewogCisvKiBpc0lubGlu
ZUl0ZW0gaW5kaWNhdGVzIHdoZXRoZXIgdGhlIG9iamVjdCBuZWVkcyB0byBiZSBwYXNzZWQgdGhy
b3VnaCBJUEM6OkVuY29kZXIgaW4gb3JkZXIgdG8gc2VyaWFsaXplLAorICogb3Igd2hldGhlciB3
ZSBjYW4ganVzdCB1c2UgcGxhY2VtZW50IG5ldyBhbmQgYmUgZG9uZS4KKyAqIEl0IG5lZWRzIHRv
IG1hdGNoICgxKSBSZW1vdGVJbWFnZUJ1ZmZlclByb3h5OjplbmNvZGVJdGVtKCksICgyKSBSZW1v
dGVSZW5kZXJpbmdCYWNrZW5kOjpkZWNvZGVJdGVtKCksCisgKiBhbmQgKDMpIGlzSW5saW5lSXRl
bSgpIGluIERpc3BsYXlMaXN0SXRlbVR5cGUuY3BwLgorICoKKyAqIGlzRHJhd2luZ0l0ZW0gaW5k
aWNhdGVzIGlmIHRoaXMgY29tbWFuZCBjYW4gYWZmZWN0IGRpcnR5IHJlY3RzLgorICogV2UgY2Fu
IGRvIHRoaW5ncyBsaWtlIHNraXAgZHJhd2luZyBpdGVtcyB3aGVuIHJlcGxheWluZyB0aGVtIGlm
IHRoZWlyIGV4dGVudHMgZG9uJ3QgaW50ZXJzZWN0IHdpdGggdGhlIGN1cnJlbnQgY2xpcC4KKyAq
IEl0IG5lZWRzIHRvIG1hdGNoIGlzRHJhd2luZ0l0ZW0oKSBpbiBEaXNwbGF5TGlzdEl0ZW1UeXBl
LmNwcC4gKi8KKwogY2xhc3MgU2F2ZSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0ZXhwciBJ
dGVtVHlwZSBpdGVtVHlwZSA9IEl0ZW1UeXBlOjpTYXZlOwpAQCAtMTg4NSw2ICsxODk0LDI2IEBA
IHByaXZhdGU6CiAgICAgRmxvYXRSZWN0IG1fcmVjdDsKIH07CiAKK2NsYXNzIEdldEltYWdlRGF0
YSB7CitwdWJsaWM6CisgICAgc3RhdGljIGNvbnN0ZXhwciBJdGVtVHlwZSBpdGVtVHlwZSA9IEl0
ZW1UeXBlOjpHZXRJbWFnZURhdGE7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzSW5saW5l
SXRlbSA9IHRydWU7CisgICAgc3RhdGljIGNvbnN0ZXhwciBib29sIGlzRHJhd2luZ0l0ZW0gPSBm
YWxzZTsKKworICAgIEdldEltYWdlRGF0YShXZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9u
IG91dHB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCkKKyAgICAgICAg
OiBtX3NyY1JlY3Qoc3JjUmVjdCkKKyAgICAgICAgLCBtX291dHB1dEZvcm1hdChvdXRwdXRGb3Jt
YXQpCisgICAgeworICAgIH0KKworICAgIEFscGhhUHJlbXVsdGlwbGljYXRpb24gb3V0cHV0Rm9y
bWF0KCkgY29uc3QgeyByZXR1cm4gbV9vdXRwdXRGb3JtYXQ7IH0KKyAgICBJbnRSZWN0IHNyY1Jl
Y3QoKSBjb25zdCB7IHJldHVybiBtX3NyY1JlY3Q7IH0KKworcHJpdmF0ZToKKyAgICBJbnRSZWN0
IG1fc3JjUmVjdDsKKyAgICBBbHBoYVByZW11bHRpcGxpY2F0aW9uIG1fb3V0cHV0Rm9ybWF0Owor
fTsKKwogY2xhc3MgUHV0SW1hZ2VEYXRhIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3RleHBy
IEl0ZW1UeXBlIGl0ZW1UeXBlID0gSXRlbVR5cGU6OlB1dEltYWdlRGF0YTsKQEAgLTE5MDAsOCAr
MTkyOSw2IEBAIHB1YmxpYzoKICAgICBJbnRQb2ludCBkZXN0UG9pbnQoKSBjb25zdCB7IHJldHVy
biBtX2Rlc3RQb2ludDsgfQogICAgIEFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVzdEZvcm1hdCgp
IGNvbnN0IHsgcmV0dXJuIG1fZGVzdEZvcm1hdDsgfQogCi0gICAgTk9fUkVUVVJOX0RVRV9UT19B
U1NFUlQgdm9pZCBhcHBseShHcmFwaGljc0NvbnRleHQmKSBjb25zdDsKLQogICAgIE9wdGlvbmFs
PEZsb2F0UmVjdD4gbG9jYWxCb3VuZHMoY29uc3QgR3JhcGhpY3NDb250ZXh0JikgY29uc3QgeyBy
ZXR1cm4gV1RGOjpudWxsb3B0OyB9CiAgICAgT3B0aW9uYWw8RmxvYXRSZWN0PiBnbG9iYWxCb3Vu
ZHMoKSBjb25zdCB7IHJldHVybiB7eyBtX2Rlc3RQb2ludCwgbV9zcmNSZWN0LnNpemUoKSB9fTsg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5
bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKaW5kZXggMTBkOTVk
NjNiMDhjNzdmN2Y4NWMzZDNhNzk2MGVmNTZmOWMzOTQ0Zi4uODM3ZjBlOTBlMjdmNTk4YzBjYjdl
OTEzNjQzZTA1YjhhMDMwMDY5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29y
ZGVyLmNwcApAQCAtNTUsNiArNTUsMTEgQEAgUmVjb3JkZXI6On5SZWNvcmRlcigpCiAgICAgTE9H
KERpc3BsYXlMaXN0cywgIlJlY29yZGVkIGRpc3BsYXkgbGlzdDpcbiVzIiwgbV9kaXNwbGF5TGlz
dC5kZXNjcmlwdGlvbigpLmRhdGEoKSk7CiB9CiAKK3ZvaWQgUmVjb3JkZXI6OmdldEltYWdlRGF0
YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3QgSW50UmVjdCYgc291
cmNlUmVjdCkKK3sKKyAgICBhcHBlbmQ8R2V0SW1hZ2VEYXRhPihvdXRwdXRGb3JtYXQsIHNvdXJj
ZVJlY3QpOworfQorCiB2b2lkIFJlY29yZGVyOjpwdXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZvcm1hdCwgY29uc3QgV2ViQ29yZTo6SW1hZ2VEYXRhJiBp
bWFnZURhdGEsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QsIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBkZXN0UG9pbnQsIFdlYkNvcmU6OkFscGhhUHJlbXVsdGlwbGljYXRpb24gZGVz
dEZvcm1hdCkKIHsKICAgICBhcHBlbmQ8UHV0SW1hZ2VEYXRhPihpbnB1dEZvcm1hdCwgaW1hZ2VE
YXRhLCBzcmNSZWN0LCBkZXN0UG9pbnQsIGRlc3RGb3JtYXQpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3Jk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdFJlY29yZGVyLmgKaW5kZXggZTdiNGEwN2ZjY2M4N2RlYTZkZWEyNTRhNWI3NmNkYmRl
OGM0MTZjNi4uMGNlYzQ4ZDcxNjNhNjFjOTE4ODBlMjZmNTE2ZGFhMmEwNzA5M2NhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0UmVjb3JkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5oCkBAIC01Nyw2ICs1Nyw3IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCBSZWNvcmRlcihHcmFwaGljc0NvbnRleHQmLCBEaXNwbGF5
TGlzdCYsIGNvbnN0IEdyYXBoaWNzQ29udGV4dFN0YXRlJiwgY29uc3QgRmxvYXRSZWN0JiBpbml0
aWFsQ2xpcCwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgRGVsZWdhdGUqID0gbnVsbHB0ciwgRHJh
d0dseXBoc1JlY29yZGVyOjpEcmF3R2x5cGhzRGVjb25zdHJ1Y3Rpb24gPSBEcmF3R2x5cGhzUmVj
b3JkZXI6OkRyYXdHbHlwaHNEZWNvbnN0cnVjdGlvbjo6RGVjb25zdHJ1Y3QpOwogICAgIFdFQkNP
UkVfRVhQT1JUIHZpcnR1YWwgflJlY29yZGVyKCk7CiAKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGdldEltYWdlRGF0YShBbHBoYVByZW11bHRpcGxpY2F0aW9uIG91dHB1dEZvcm1hdCwgY29uc3Qg
SW50UmVjdCYgc291cmNlUmVjdCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwdXRJbWFnZURh
dGEoQWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBpbnB1dEZvcm1hdCwgY29uc3QgSW1hZ2VEYXRhJiwg
Y29uc3QgSW50UmVjdCYgc3JjUmVjdCwgY29uc3QgSW50UG9pbnQmIGRlc3RQb2ludCwgQWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0KTsKIAogICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0
IHsgcmV0dXJuIG1fZGlzcGxheUxpc3QuaXNFbXB0eSgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXIuaCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCmluZGV4IDA2ZDk0
M2Q5N2E5YjY0ZjcwYTFlNzc5NmQ5MTUwZWI5N2Y4Mjk2MzkuLjZjYTFlNjBkYWFiZTZlMDU4MWMy
NGI2MWFkMDRiOTk2ODUzN2FjYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vz
cy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oCkBAIC03Niw2ICs3NiwxMyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIGJvb2wgYXBwbHkoV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1I
YW5kbGUgaXRlbSwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0KSBvdmVycmlkZQog
ICAgIHsKKyAgICAgICAgaWYgKGl0ZW0uaXM8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkdldEltYWdl
RGF0YT4oKSkgeworICAgICAgICAgICAgYXV0byYgZ2V0SW1hZ2VEYXRhSXRlbSA9IGl0ZW0uZ2V0
PFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpHZXRJbWFnZURhdGE+KCk7CisgICAgICAgICAgICBVTlVT
RURfVkFSSUFCTEUoZ2V0SW1hZ2VEYXRhSXRlbSk7CisgICAgICAgICAgICAvLyBGSVhNRTogaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDY0OSBJbXBsZW1lbnQgdGhp
cy4KKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKICAgICAgICAgaWYgKGl0
ZW0uaXM8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OlB1dEltYWdlRGF0YT4oKSkgewogICAgICAgICAg
ICAgYXV0byYgcHV0SW1hZ2VEYXRhSXRlbSA9IGl0ZW0uZ2V0PFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpQdXRJbWFnZURhdGE+KCk7CiAgICAgICAgICAgICBwdXRJbWFnZURhdGEocHV0SW1hZ2VEYXRh
SXRlbS5pbnB1dEZvcm1hdCgpLCBwdXRJbWFnZURhdGFJdGVtLmltYWdlRGF0YSgpLCBwdXRJbWFn
ZURhdGFJdGVtLnNyY1JlY3QoKSwgcHV0SW1hZ2VEYXRhSXRlbS5kZXN0UG9pbnQoKSwgcHV0SW1h
Z2VEYXRhSXRlbS5kZXN0Rm9ybWF0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQ
cm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IGU0
ZGRjM2QxNWFiMjU0YWZlYjgxNWRmMmU3YjQ1NzkwY2Q2NjAyNWYuLmVlMTQyZjJmNTlmZGI2YjRj
YWI1ODkzNjcwM2VkYzI2ZmNmMTliOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJv
Y2Vzcy9ncmFwaGljcy9SZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvZ3JhcGhpY3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTQz
Niw2ICs0MzYsMTAgQEAgdm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpkaWRDcmVhdGVTaGFy
ZWREaXNwbGF5TGlzdEhhbmRsZShEaXNwbGF5TGlzdDo6SXRlbUIKIAogT3B0aW9uYWw8RGlzcGxh
eUxpc3Q6Okl0ZW1IYW5kbGU+IFdBUk5fVU5VU0VEX1JFVFVSTiBSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kOjpkZWNvZGVJdGVtKGNvbnN0IHVpbnQ4X3QqIGRhdGEsIHNpemVfdCBsZW5ndGgsIERpc3Bs
YXlMaXN0OjpJdGVtVHlwZSB0eXBlLCB1aW50OF90KiBoYW5kbGVMb2NhdGlvbikKIHsKKyAgICAv
KiBUaGlzIG5lZWRzIHRvIG1hdGNoICgxKSBpc0lubGluZUl0ZW0oKSBpbiBEaXNwbGF5TGlzdEl0
ZW1UeXBlLmNwcCwgKDIpIFJlbW90ZUltYWdlQnVmZmVyUHJveHk6OmVuY29kZUl0ZW0oKSwKKyAg
ICAgKiBhbmQgKDMpIGFsbCB0aGUgInN0YXRpYyBjb25zdGV4cHIgYm9vbCBpc0lubGluZUl0ZW0i
cyBpbnNpZGUgdGhlIGluZGl2aWR1YWwgaXRlbSBjbGFzc2VzLgorICAgICAqIFNlZSB0aGUgY29t
bWVudCBhdCB0aGUgdG9wIG9mIERpc3BsYXlMaXN0SXRlbXMuaCBmb3Igd2h5LiAqLworCiAgICAg
c3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkNsaXBPdXRU
b1BhdGg6CiAgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxheUxpc3Q6OkNsaXBP
dXRUb1BhdGg+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwpAQCAtNTIwLDcgKzUyNCw4
IEBAIE9wdGlvbmFsPERpc3BsYXlMaXN0OjpJdGVtSGFuZGxlPiBXQVJOX1VOVVNFRF9SRVRVUk4g
UmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZGVjCiAjZW5kaWYKICAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6U3Ryb2tlUmVjdDoKICAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6
U3Ryb2tlTGluZToKLSAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6VHJhbnNsYXRlOiB7
CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlRyYW5zbGF0ZToKKyAgICBjYXNlIERp
c3BsYXlMaXN0OjpJdGVtVHlwZTo6R2V0SW1hZ2VEYXRhOiB7CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgICAgICBicmVhazsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94
eS5oCmluZGV4IDg5NGQ5ZGQxOThjYWM1MjBkZDNhNDI1N2I1MDRjYTFjNzg0ZDhmZWYuLjViYmYy
NTYzMDYyOTBlNDlhYzhkYjMxYjVkMDFhYzk2YjU2YWFjNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eS5oCkBAIC0xNDMsMTUgKzE0Myw2IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJu
IG1fYmFja2VuZC5nZXQoKTsKICAgICB9CiAKLSAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRh
PiBnZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNhdGlvbiBvdXRwdXRGb3Jt
YXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1JlY3QpIGNvbnN0IG92ZXJyaWRlCi0gICAg
ewotICAgICAgICBpZiAoVU5MSUtFTFkoIW1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KSkK
LSAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgICAgIGNvbnN0X2Nhc3Q8UmVtb3Rl
SW1hZ2VCdWZmZXJQcm94eSo+KHRoaXMpLT5mbHVzaERyYXdpbmdDb250ZXh0KCk7Ci0gICAgICAg
IHJldHVybiBtX3JlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS0+Z2V0SW1hZ2VEYXRhKG91dHB1
dEZvcm1hdCwgc3JjUmVjdCwgbV9yZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpOwotICAgIH0K
LQogICAgIFN0cmluZyB0b0RhdGFVUkwoY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgT3B0aW9uYWw8
ZG91YmxlPiBxdWFsaXR5LCBXZWJDb3JlOjpQcmVzZXJ2ZVJlc29sdXRpb24gcHJlc2VydmVSZXNv
bHV0aW9uKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKFVOTElLRUxZKCFtX3Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eSkpCkBAIC0xOTcsNiArMTg4LDE5IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgcmV0dXJuIGJpdG1hcC0+Y3JlYXRlSW1hZ2UoKTsKICAgICB9CiAKKyAgICBS
ZWZQdHI8V2ViQ29yZTo6SW1hZ2VEYXRhPiBnZXRJbWFnZURhdGEoV2ViQ29yZTo6QWxwaGFQcmVt
dWx0aXBsaWNhdGlvbiBvdXRwdXRGb3JtYXQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNyY1Jl
Y3QpIGNvbnN0IG92ZXJyaWRlCisgICAgeworICAgICAgICBpZiAoVU5MSUtFTFkoIW1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5KSkKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgICAgIGF1dG8mIG11dGFibGVUaGlzID0gY29uc3RfY2FzdDxSZW1vdGVJbWFnZUJ1ZmZlclBy
b3h5Jj4oKnRoaXMpOworICAgICAgICBtdXRhYmxlVGhpcy5tX2RyYXdpbmdDb250ZXh0LnJlY29y
ZGVyKCkuZ2V0SW1hZ2VEYXRhKG91dHB1dEZvcm1hdCwgc3JjUmVjdCk7CisgICAgICAgIC8vIEZJ
WE1FOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjQ5IFVzZSB0
aGUgcmVjb3JkZWQgY29tbWFuZCBpbnN0ZWFkIG9mIHRoZSBzeW5jaHJvbm91cyBJUEMgbWVzc2Fn
ZS4KKworICAgICAgICBjb25zdF9jYXN0PFJlbW90ZUltYWdlQnVmZmVyUHJveHkqPih0aGlzKS0+
Zmx1c2hEcmF3aW5nQ29udGV4dCgpOworICAgICAgICByZXR1cm4gbV9yZW1vdGVSZW5kZXJpbmdC
YWNrZW5kUHJveHktPmdldEltYWdlRGF0YShvdXRwdXRGb3JtYXQsIHNyY1JlY3QsIG1fcmVuZGVy
aW5nUmVzb3VyY2VJZGVudGlmaWVyKTsKKyAgICB9CisKICAgICB2b2lkIHB1dEltYWdlRGF0YShX
ZWJDb3JlOjpBbHBoYVByZW11bHRpcGxpY2F0aW9uIGlucHV0Rm9ybWF0LCBjb25zdCBXZWJDb3Jl
OjpJbWFnZURhdGEmIGltYWdlRGF0YSwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc3JjUmVjdCwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGRlc3RQb2ludCA9IHsgfSwgV2ViQ29yZTo6QWxwaGFQ
cmVtdWx0aXBsaWNhdGlvbiBkZXN0Rm9ybWF0ID0gV2ViQ29yZTo6QWxwaGFQcmVtdWx0aXBsaWNh
dGlvbjo6UHJlbXVsdGlwbGllZCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIC8vIFRoZSBtYXRo
IGluc2lkZSBJbWFnZURhdGE6OmNyZWF0ZSgpIGRvZXNuJ3QgYWdyZWUgd2l0aCB0aGUgbWF0aCBp
bnNpZGUgSW1hZ2VCdWZmZXJCYWNrZW5kOjpwdXRJbWFnZURhdGEoKSBhYm91dCBob3cgbV9yZXNv
bHV0aW9uU2NhbGUgaW50ZXJhY3RzIHdpdGggdGhlIGRhdGEgaW4gdGhlIEltYWdlQnVmZmVyLgpA
QCAtMjk5LDYgKzMwMywxMCBAQCBwcm90ZWN0ZWQ6CiAKICAgICBSZWZQdHI8V2ViQ29yZTo6U2hh
cmVkQnVmZmVyPiBlbmNvZGVJdGVtKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxlIGl0
ZW0pIGNvbnN0IG92ZXJyaWRlCiAgICAgeworICAgICAgICAvKiBUaGlzIG5lZWRzIHRvIG1hdGNo
ICgxKSBpc0lubGluZUl0ZW0oKSBpbiBEaXNwbGF5TGlzdEl0ZW1UeXBlLmNwcCwgKDIpIFJlbW90
ZVJlbmRlcmluZ0JhY2tlbmQ6OmRlY29kZUl0ZW0oKSwKKyAgICAgICAgICogYW5kICgzKSBhbGwg
dGhlICJzdGF0aWMgY29uc3RleHByIGJvb2wgaXNJbmxpbmVJdGVtInMgaW5zaWRlIHRoZSBpbmRp
dmlkdWFsIGl0ZW0gY2xhc3Nlcy4KKyAgICAgICAgICogU2VlIHRoZSBjb21tZW50IGF0IHRoZSB0
b3Agb2YgRGlzcGxheUxpc3RJdGVtcy5oIGZvciB3aHkuICovCisKICAgICAgICAgc3dpdGNoIChp
dGVtLnR5cGUoKSkgewogICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlw
ZTo6Q2xpcE91dFRvUGF0aDoKICAgICAgICAgICAgIHJldHVybiBJUEM6OkVuY29kZXI6OmVuY29k
ZVNpbmdsZU9iamVjdDxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6Q2xpcE91dFRvUGF0aD4oaXRlbS5n
ZXQ8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkNsaXBPdXRUb1BhdGg+KCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>423979</attachid>
            <date>2021-03-22 19:42:35 -0700</date>
            <delta_ts>2021-03-22 20:23:51 -0700</delta_ts>
            <desc>Follow-up</desc>
            <filename>bug-223544-20210322194235.patch</filename>
            <type>text/plain</type>
            <size>1657</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0ODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNkZjVhNWQxMjg0ZDAw
MGZhYjlmZTlmZjRhMWNiZTA2ODZmZGNlZC4uYjFmZTMwZWY1YWRmMDg5ZGI4MzhjMDAwYmNlOWY1
ZDdmYzg1YmJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTAzLTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW0dQVSBQcm9j
ZXNzXTogSW1wcm92ZSBnZXRJbWFnZURhdGEoKSBwZXJmIHBhcnQgMTogQWRkIGEgR2V0SW1hZ2VE
YXRhIGRpc3BsYXkgbGlzdCBpdGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NDQKKworICAgICAgICBVbnJldmlld2VkLgorCisgICAgICAgIEkg
YWNjaWRlbnRhbGx5IGZvcmdvdCB0byBjb21taXQgb25lIGxpbmUgb2YgdGhlIHBhdGNoISEKKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdEl0ZW1z
Lmg6CisKIDIwMjEtMDMtMjIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNv
bT4KIAogICAgICAgICBbR1BVIFByb2Nlc3NdOiBJbXByb3ZlIGdldEltYWdlRGF0YSgpIHBlcmYg
cGFydCAxOiBBZGQgYSBHZXRJbWFnZURhdGEgZGlzcGxheSBsaXN0IGl0ZW0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlz
dEl0ZW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMv
RGlzcGxheUxpc3RJdGVtcy5oCmluZGV4IGU5M2IwNDY0NDNiYTRhYzc2MmFlMzIzMTUzY2I0ZmEw
YzNhNjVhNWYuLjFiOWZlMzc5OGUyZDE4NTAzYWQyOWM5NGU5ODkzOTYxZGQ2NDc1OGEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNw
bGF5TGlzdEl0ZW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0SXRlbXMuaApAQCAtMjMzNCw2ICsyMzM0LDcgQEAgdGVtcGxh
dGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU+IHsK
ICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZsdXNoQ29udGV4dCwKICAgICBX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kQ2hhbmdlRGVzdGluYXRp
b25JbWFnZUJ1ZmZlciwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFD
b21tYW5kQ2hhbmdlSXRlbUJ1ZmZlciwKKyAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OkdldEltYWdlRGF0YSwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlB1
dEltYWdlRGF0YSwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlBhaW50RnJh
bWVGb3JNZWRpYSwKICAgICBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlN0cm9rZVJl
Y3QsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>