<?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>173878</bug_id>
          
          <creation_ts>2017-06-27 09:21:51 -0700</creation_ts>
          <short_desc>Match newly-clarified spec on textarea defaultValue/value/child text content</short_desc>
          <delta_ts>2017-08-04 13:50:33 -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>Forms</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Domenic Denicola">d</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1323147</commentid>
    <comment_count>0</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2017-06-27 09:21:51 -0700</bug_when>
    <thetext>In https://github.com/whatwg/html/issues/2752 and https://github.com/whatwg/html/issues/2750 it was discovered that various aspects of the textarea spec were confusing and did not match browser behavior (which was generally not interoperable).

In https://github.com/whatwg/html/pull/2766 we settled on a reasonable set of semantics that matched most browsers in most aspects and was simple to implement. The main changes are:

&gt; The child text content change steps for textarea elements must, if the element&apos;s dirty value flag is false, set the element&apos;s raw value to its child text content.

&gt; The defaultValue IDL attribute must, on getting, return the element&apos;s child text content. On setting, it must act as the setter for the element&apos;s textContent IDL attribute.

These are tested by the tests at http://w3c-test.org/submissions/6256/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html (which will eventually end up at http://w3c-test.org/html/semantics/forms/the-textarea-element/value-defaultValue-textContent.html when https://github.com/w3c/web-platform-tests/pull/6256 is merged).

Safari Tech Preview matches most aspects of the new semantics, with the following exceptions:

- The defaultValue getter should reflect the child text content, not the textContent (= &quot;descendant text content&quot;). This harmonizes it with what is actually rendered, and with the value property.
- The defaultValue setter should act as the textContent setter, i.e. it should wipe out all child nodes in addition to adding a new text node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335313</commentid>
    <comment_count>1</comment_count>
      <attachid>317255</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-04 10:21:26 -0700</bug_when>
    <thetext>Created attachment 317255
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335351</commentid>
    <comment_count>2</comment_count>
      <attachid>317261</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-04 11:26:19 -0700</bug_when>
    <thetext>Created attachment 317261
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335354</commentid>
    <comment_count>3</comment_count>
      <attachid>317262</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-08-04 11:29:29 -0700</bug_when>
    <thetext>Created attachment 317262
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335433</commentid>
    <comment_count>4</comment_count>
      <attachid>317262</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-04 13:49:56 -0700</bug_when>
    <thetext>Comment on attachment 317262
Patch

Clearing flags on attachment: 317262

Committed r220290: &lt;http://trac.webkit.org/changeset/220290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1335434</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-08-04 13:49:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317255</attachid>
            <date>2017-08-04 10:21:26 -0700</date>
            <delta_ts>2017-08-04 11:26:18 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>173878_textarea_defaultValue_wip.patch</filename>
            <type>text/plain</type>
            <size>12828</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZh
bHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1l
bnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dAppbmRleCBiZTc1
YzM1MjBjZC4uNjI5MGY3NTUxMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVs
ZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2Zvcm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVu
dC1leHBlY3RlZC50eHQKQEAgLTEsNyArMSwxNCBAQAogCiBQQVNTIGRlZmF1bHRWYWx1ZSBhbmQg
dmFsdWUgYXJlIHRoZSBlbXB0eSBzdHJpbmcgYnkgZGVmYXVsdCAKIFBBU1MgZGVmYXVsdFZhbHVl
IGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgc2V0dGluZyB0ZXh0Q29udGVudCAKK1BBU1MgZGVm
YXVsdFZhbHVlIGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgc2V0dGluZyBub2RlVmFsdWUgb24g
YSBjaGlsZCB0ZXh0IG5vZGUgCitQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgYXJlIGFmZmVj
dGVkIGJ5IHNldHRpbmcgZGF0YSBvbiBhIGNoaWxkIHRleHQgbm9kZSAKIFBBU1MgZGVmYXVsdFZh
bHVlIGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgdGV4dENvbnRlbnQgaW4gY29tYmluYXRpb24g
d2l0aCBhcHBlbmRpbmcgYSB0ZXh0IG5vZGUgCitQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUg
YXJlIGFmZmVjdGVkIGJ5IHRleHRDb250ZW50IGluIGNvbWJpbmF0aW9uIHdpdGggYXBwZW5kaW5n
IGEgRG9jdW1lbnRGcmFnbWVudCAKK1BBU1MgZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSByZWZsZWN0
IGNoaWxkIHRleHQgY29udGVudCwgbm90IHRleHRDb250ZW50IAorUEFTUyBTZXR0aW5nIGRlZmF1
bHRWYWx1ZSB3aXBlcyBvdXQgYW55IGNoaWxkcmVuLCBpbmNsdWRpbmcgZWxlbWVudHMgKGp1c3Qg
bGlrZSBzZXR0aW5nIHRleHRDb250ZW50KSAKIFBBU1MgZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSB0
cmVhdCBDUkxGIGRpZmZlcmVudGx5IAorUEFTUyB2YWx1ZSBub3JtYWxpemVzIENSTEYgZXZlbiBz
cHJlYWQgb3ZlciBtdWx0aXBsZSB0ZXh0IG5vZGVzIAogUEFTUyB0ZXN0cyBmb3IgdGhlIHZhbHVl
IHNldHRlciAKK1BBU1MgdGVzdHMgZm9yIFUrMDAwMCBOVUxMIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zv
cm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC5o
dG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4
dENvbnRlbnQuaHRtbAppbmRleCBmYTE5N2MzNjFkOC4uYTFhNDA1ZmRiZTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250
ZW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0
VmFsdWUtdGV4dENvbnRlbnQuaHRtbApAQCAtMSw1ICsxLDUgQEAKIDwhRE9DVFlQRSBIVE1MPgot
PHRpdGxlPnRleHRhcmVhIGVsZW1lbnQgc2VsZWN0KCkgZnVuY3Rpb25hbGl0eTwvdGl0bGU+Cis8
dGl0bGU+dGV4dGFyZWEgZWxlbWVudCB2YWx1ZS9kZWZhdWx0VmFsdWUvdGV4dENvbnRlbnQgZnVu
Y3Rpb25hbGl0eTwvdGl0bGU+CiA8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkRvbWVuaWMgRGVu
aWNvbGEiIGhyZWY9Im1haWx0bzpkQGRvbWVuaWMubWUiPgogPGxpbmsgcmVsPSJoZWxwIiBocmVm
PSJodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS8jZG9tLXRleHRhcmVhLXZh
bHVlIj4KIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4K
QEAgLTIwLDggKzIwLDggQEAgdGVzdCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKIAogICBjb25zdCB0
ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7Ci0gIHRleHRhcmVh
LnRleHRDb250ZW50ID0gImZvbyBiYXIiOwogCisgIHRleHRhcmVhLnRleHRDb250ZW50ID0gImZv
byBiYXIiOwogICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvbyBiYXIi
LCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUgdGV4dENvbnRlbnQiKTsKICAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImZvbyBiYXIiLAogICAgICJjaGFuZ2luZyB0
aGUgdGV4dENvbnRlbnQgc2hvdWxkIGNoYW5nZSB0aGUgcmF3IHZhbHVlLCBhbmQgc3Vic2VxdWVu
dGx5IHRoZSBhcGkgdmFsdWUiKTsKQEAgLTMxLDkgKzMxLDMzIEBAIHRlc3QoKCkgPT4gewogdGVz
dCgoKSA9PiB7CiAKICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0
ZXh0YXJlYSIpOworCisgIHRleHRhcmVhLnRleHRDb250ZW50ID0gInNvbWUgdGV4dCI7CisgIHRl
eHRhcmVhLmZpcnN0Q2hpbGQubm9kZVZhbHVlID0gImZvbyBiYXIiOworICBhc3NlcnRfZXF1YWxz
KHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvbyBiYXIiLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91
bGQgcmVmbGVjdCB0aGUgdGV4dENvbnRlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52
YWx1ZSwgImZvbyBiYXIiLAorICAgICJjaGFuZ2luZyB0aGUgdGV4dENvbnRlbnQgc2hvdWxkIGNo
YW5nZSB0aGUgcmF3IHZhbHVlLCBhbmQgc3Vic2VxdWVudGx5IHRoZSBhcGkgdmFsdWUiKTsKKwor
fSwgImRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHNldHRpbmcgbm9kZVZh
bHVlIG9uIGEgY2hpbGQgdGV4dCBub2RlIik7CisKK3Rlc3QoKCkgPT4geworCisgIGNvbnN0IHRl
eHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKworICB0ZXh0YXJl
YS50ZXh0Q29udGVudCA9ICJzb21lIHRleHQiOworICB0ZXh0YXJlYS5maXJzdENoaWxkLmRhdGEg
PSAiZm9vIGJhciI7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9v
IGJhciIsICJ0aGUgZGVmYXVsdFZhbHVlIHNob3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29udGVudCIp
OworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciIsCisgICAgImNoYW5n
aW5nIHRoZSB0ZXh0Q29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJz
ZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOworCit9LCAiZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSBh
cmUgYWZmZWN0ZWQgYnkgc2V0dGluZyBkYXRhIG9uIGEgY2hpbGQgdGV4dCBub2RlIik7CisKK3Rl
c3QoKCkgPT4geworCisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
dGV4dGFyZWEiKTsKKwogICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJmb28gYmFyIjsKICAgdGV4
dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBiYXoiKSk7Ci0KICAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28gYmFyIGJheiIsICJ0aGUg
ZGVmYXVsdFZhbHVlIHNob3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29udGVudCIpOwogICBhc3NlcnRf
ZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciBiYXoiLAogICAgICJjaGFuZ2luZyB0aGUg
dGV4dENvbnRlbnQgc2hvdWxkIGNoYW5nZSB0aGUgcmF3IHZhbHVlLCBhbmQgc3Vic2VxdWVudGx5
IHRoZSBhcGkgdmFsdWUiKTsKQEAgLTQzLDggKzY3LDYyIEBAIHRlc3QoKCkgPT4gewogdGVzdCgo
KSA9PiB7CiAKICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0
YXJlYSIpOwotICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJmb29cclxuYmFyXHJiYXpcbnF1eCI7
CisgIHRleHRhcmVhLnRleHRDb250ZW50ID0gImZvbyBiYXIiOworCisgIGNvbnN0IGZyYWcgPSBk
b2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7CisgIGZyYWcuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBiYXoiKSk7CisgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpOworICBlbC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgicXV4PyIpKTsKKyAgZnJhZy5hcHBlbmRDaGlsZChlbCk7CisgIGZyYWcuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBmaXp6IikpOworICB0ZXh0YXJlYS5hcHBlbmRD
aGlsZChmcmFnKTsKKworICB0ZXh0YXJlYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgiIHdoZWUiKSk7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAi
Zm9vIGJhciBiYXogZml6eiB3aGVlIiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3Qg
dGhlIHRleHRDb250ZW50Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28g
YmFyIGJheiBmaXp6IHdoZWUiLAorICAgICJjaGFuZ2luZyB0aGUgdGV4dENvbnRlbnQgc2hvdWxk
IGNoYW5nZSB0aGUgcmF3IHZhbHVlLCBhbmQgc3Vic2VxdWVudGx5IHRoZSBhcGkgdmFsdWUiKTsK
KworfSwgImRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHRleHRDb250ZW50
IGluIGNvbWJpbmF0aW9uIHdpdGggYXBwZW5kaW5nIGEgRG9jdW1lbnRGcmFnbWVudCIpOworCit0
ZXN0KCgpID0+IHsKKworICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InRleHRhcmVhIik7CisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCJmb28gYmFyIikpOworCisgIGNvbnN0IGNoaWxkID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgic3BhbiIpOworICBjaGlsZC50ZXh0Q29udGVudCA9ICJiYXoiOworICB0ZXh0YXJlYS5hcHBl
bmRDaGlsZChjaGlsZCk7CisKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS50ZXh0Q29udGVudCwg
ImZvbyBiYXJiYXoiLCAidGhlIHRleHRDb250ZW50IHNob3VsZCBoYXZlICphbGwqIHRoZSB0ZXh0
IGNvbnRlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28g
YmFyIiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIGNoaWxkIHRleHQgY29u
dGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciIsCisgICAg
ImNoYW5naW5nIHRoZSBjaGlsZCB0ZXh0IGNvbnRlbnQgc2hvdWxkIGNoYW5nZSB0aGUgcmF3IHZh
bHVlLCBhbmQgc3Vic2VxdWVudGx5IHRoZSBhcGkgdmFsdWUiKTsKKworfSwgImRlZmF1bHRWYWx1
ZSBhbmQgdmFsdWUgcmVmbGVjdCBjaGlsZCB0ZXh0IGNvbnRlbnQsIG5vdCB0ZXh0Q29udGVudCIp
OworCit0ZXN0KCgpID0+IHsKKworICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInRleHRhcmVhIik7CisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKCJmb28gYmFyIikpOworCisgIGNvbnN0IGNoaWxkID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICBjaGlsZC50ZXh0Q29udGVudCA9ICJiYXoiOworICB0ZXh0YXJl
YS5hcHBlbmRDaGlsZChjaGlsZCk7CisKKyAgdGV4dGFyZWEuZGVmYXVsdFZhbHVlID0gImZvbyI7
CisKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5jaGlsZE5vZGVzLmxlbmd0aCwgMSwgIk9ubHkg
b25lIGNoaWxkIG5vZGUgc2hvdWxkIGV4aXN0Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEu
ZGVmYXVsdFZhbHVlLCAiZm9vIiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIGJlIHRoZSBuZXcg
dGV4dCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIiwgInRoZSBhcGkg
dmFsdWUgc2hvdWxkIGJlIHRoZSBuZXcgdGV4dCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVh
LnRleHRDb250ZW50LCAiZm9vIiwgInRoZSB0ZXh0Q29udGVudCBzaG91bGQgYmUgdGhlIG5ldyB0
ZXh0Iik7CiAKK30sICJTZXR0aW5nIGRlZmF1bHRWYWx1ZSB3aXBlcyBvdXQgYW55IGNoaWxkcmVu
LCBpbmNsdWRpbmcgZWxlbWVudHMgKGp1c3QgbGlrZSBzZXR0aW5nIHRleHRDb250ZW50KSIpOwor
Cit0ZXN0KCgpID0+IHsKKworICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInRleHRhcmVhIik7CisKKyAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAiZm9vXHJcbmJhclxy
YmF6XG5xdXgiOwogICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvb1xy
XG5iYXJccmJhelxucXV4IiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIHRl
eHRDb250ZW50Iik7CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb29cbmJhclxu
YmF6XG5xdXgiLCAiVGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCBub3JtYWxpemUgQ1JMRiBhbmQg
Q1IgdG8gTEYiKTsKIApAQCAtNTMsOSArMTMxLDIwIEBAIHRlc3QoKCkgPT4gewogdGVzdCgoKSA9
PiB7CiAKICAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJl
YSIpOworCisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJm
b29cciIpKTsKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
IlxuYmFyXHJiYXpcbnF1eCIpKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFs
dWUsICJmb29cclxuYmFyXHJiYXpcbnF1eCIsICJ0aGUgZGVmYXVsdFZhbHVlIHNob3VsZCByZWZs
ZWN0IHRoZSB0ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAi
Zm9vXG5iYXJcbmJhelxucXV4IiwgIlRoZSB2YWx1ZSBwcm9wZXJ0eSBzaG91bGQgbm9ybWFsaXpl
IENSTEYgYW5kIENSIHRvIExGIik7CisKK30sICJ2YWx1ZSBub3JtYWxpemVzIENSTEYgZXZlbiBz
cHJlYWQgb3ZlciBtdWx0aXBsZSB0ZXh0IG5vZGVzIik7CisKK3Rlc3QoKCkgPT4geworCisgIGNv
bnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKwogICB0
ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJmb28iOwogICB0ZXh0YXJlYS52YWx1ZSA9ICJiYXoiOwot
CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vIiwgInNldHRpbmcg
dGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IHRoZSBkZWZhdWx0VmFsdWUiKTsK
ICAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS50ZXh0Q29udGVudCwgImZvbyIsICJzZXR0aW5nIHRo
ZSB2YWx1ZSBwcm9wZXJ0eSBzaG91bGQgbm90IGFmZmVjdCB0aGUgdGV4dENvbnRlbnQiKTsKICAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImJheiIsCkBAIC02OCw0ICsxNTcsMjUgQEAg
dGVzdCgoKSA9PiB7CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICIiLCAic2V0dGlu
ZyB0aGUgdmFsdWUgcHJvcGVydHkgdG8gbnVsbCBzaG91bGQgcmVzdWx0IGluIGFuIGVtcHR5IHN0
cmluZyIpOwogCiB9LCAidGVzdHMgZm9yIHRoZSB2YWx1ZSBzZXR0ZXIiKTsKKwordGVzdCgoKSA9
PiB7CisKKyAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJl
YSIpOworCisgIHRleHRhcmVhLmRlZmF1bHRWYWx1ZSA9ICJmb29cMCI7CisgIGFzc2VydF9lcXVh
bHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vXDAiLCAiZGVmYXVsdFZhbHVlIGFmdGVyIHNl
dHRpbmcgZGVmYXVsdFZhbHVlIik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudGV4dENvbnRl
bnQsICJmb29cMCIsICJ0ZXh0Q29udGVudCBhZnRlciBzZXR0aW5nIGRlZmF1bHRWYWx1ZSIpOwor
ICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vXDAiLCAidmFsdWUgYWZ0ZXIgc2V0
dGluZyBkZWZhdWx0VmFsdWUiKTsKKworICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJiYXJcMCI7
CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiYmFyXDAiLCAiZGVmYXVs
dFZhbHVlIGFmdGVyIHNldHRpbmcgdGV4dENvbnRlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0
YXJlYS50ZXh0Q29udGVudCwgImJhclwwIiwgInRleHRDb250ZW50IGFmdGVyIHNldHRpbmcgdGV4
dENvbnRlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImJhclwwIiwgInZh
bHVlIGFmdGVyIHNldHRpbmcgdGV4dENvbnRlbnQiKTsKKworICB0ZXh0YXJlYS52YWx1ZSA9ICJi
YXpcMCI7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiYmFyXDAiLCAi
ZGVmYXVsdFZhbHVlIGFmdGVyIHNldHRpbmcgdmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0
YXJlYS50ZXh0Q29udGVudCwgImJhclwwIiwgInRleHRDb250ZW50IGFmdGVyIHNldHRpbmcgdmFs
dWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImJhelwwIiwgInZhbHVlIGFm
dGVyIHNldHRpbmcgdmFsdWUiKTsKKworfSwgInRlc3RzIGZvciBVKzAwMDAgTlVMTCIpOwogPC9z
Y3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKaW5kZXggYWE1ZjZiYzU2YjUu
LmE4MzNlMjgyMjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC00NjEs
MTAgKzQ2MSw3IEBAIGJvb2wgU2NyaXB0RWxlbWVudDo6aXNTY3JpcHRGb3JFdmVudFN1cHBvcnRl
ZCgpIGNvbnN0CiAKIFN0cmluZyBTY3JpcHRFbGVtZW50OjpzY3JpcHRDb250ZW50KCkgY29uc3QK
IHsKLSAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICBmb3IgKGF1dG8qIHRleHQgPSBUZXh0
Tm9kZVRyYXZlcnNhbDo6Zmlyc3RDaGlsZChtX2VsZW1lbnQpOyB0ZXh0OyB0ZXh0ID0gVGV4dE5v
ZGVUcmF2ZXJzYWw6Om5leHRTaWJsaW5nKCp0ZXh0KSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCh0
ZXh0LT5kYXRhKCkpOwotICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKKyAgICByZXR1cm4g
VGV4dE5vZGVUcmF2ZXJzYWw6OmNoaWxkVGV4dENvbnRlbnQobV9lbGVtZW50KTsKIH0KIAogdm9p
ZCBTY3JpcHRFbGVtZW50OjpyZWYoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Rl
eHROb2RlVHJhdmVyc2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNh
bC5jcHAKaW5kZXggMTEyYTI4NDg2MmQuLmI3OGNhNzkwY2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dE5vZGVUcmF2ZXJzYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0Tm9kZVRyYXZlcnNhbC5jcHAKQEAgLTU0LDUgKzU0LDEzIEBAIFN0cmluZyBjb250ZW50
c0FzU3RyaW5nKGNvbnN0IE5vZGUmIHJvb3QpCiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCitT
dHJpbmcgY2hpbGRUZXh0Q29udGVudChjb25zdCBDb250YWluZXJOb2RlJiByb290KQoreworICAg
IFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIGZvciAoVGV4dCogdGV4dCA9IFRleHROb2RlVHJh
dmVyc2FsOjpmaXJzdENoaWxkKHJvb3QpOyB0ZXh0OyB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6
Om5leHRTaWJsaW5nKCp0ZXh0KSkKKyAgICAgICAgcmVzdWx0LmFwcGVuZCh0ZXh0LT5kYXRhKCkp
OworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1RleHROb2RlVHJhdmVyc2FsLmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vVGV4dE5vZGVUcmF2ZXJzYWwuaAppbmRleCBiNTIwZTZiZmQ3Ny4uYTE1OTM2OTZmZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5oCkBAIC01Niw2ICs1Niw3IEBAIFRl
eHQqIG5leHRTaWJsaW5nKGNvbnN0IE5vZGUmKTsKIFN0cmluZyBjb250ZW50c0FzU3RyaW5nKGNv
bnN0IE5vZGUmKTsKIFN0cmluZyBjb250ZW50c0FzU3RyaW5nKGNvbnN0IENvbnRhaW5lck5vZGUm
KTsKIHZvaWQgYXBwZW5kQ29udGVudHMoY29uc3QgQ29udGFpbmVyTm9kZSYsIFN0cmluZ0J1aWxk
ZXImIHJlc3VsdCk7CitTdHJpbmcgY2hpbGRUZXh0Q29udGVudChjb25zdCBDb250YWluZXJOb2Rl
Jik7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFF
bGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAK
aW5kZXggNzMwNjc0OWMzMmUuLmUzYTAyMTkwZWRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTQwNCwzMCArNDA0LDEyIEBAIHZvaWQgSFRNTFRl
eHRBcmVhRWxlbWVudDo6c2V0VmFsdWVDb21tb24oY29uc3QgU3RyaW5nJiBuZXdWYWx1ZSkKIAog
U3RyaW5nIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OmRlZmF1bHRWYWx1ZSgpIGNvbnN0CiB7Ci0gICAg
cmV0dXJuIFRleHROb2RlVHJhdmVyc2FsOjpjb250ZW50c0FzU3RyaW5nKCp0aGlzKTsKKyAgICBy
ZXR1cm4gVGV4dE5vZGVUcmF2ZXJzYWw6OmNoaWxkVGV4dENvbnRlbnQoKnRoaXMpOwogfQogCiB2
b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldERlZmF1bHRWYWx1ZShjb25zdCBTdHJpbmcmIGRl
ZmF1bHRWYWx1ZSkKIHsKLSAgICBSZWY8SFRNTFRleHRBcmVhRWxlbWVudD4gcHJvdGVjdGVkVGhp
cygqdGhpcyk7Ci0KLSAgICAvLyBUbyBwcmVzZXJ2ZSBjb21tZW50cywgcmVtb3ZlIG9ubHkgdGhl
IHRleHQgbm9kZXMsIHRoZW4gYWRkIGEgc2luZ2xlIHRleHQgbm9kZS4KLSAgICBWZWN0b3I8UmVm
PFRleHQ+PiB0ZXh0Tm9kZXM7Ci0gICAgZm9yIChUZXh0KiB0ZXh0Tm9kZSA9IFRleHROb2RlVHJh
dmVyc2FsOjpmaXJzdENoaWxkKCp0aGlzKTsgdGV4dE5vZGU7IHRleHROb2RlID0gVGV4dE5vZGVU
cmF2ZXJzYWw6Om5leHRTaWJsaW5nKCp0ZXh0Tm9kZSkpCi0gICAgICAgIHRleHROb2Rlcy5hcHBl
bmQoKnRleHROb2RlKTsKLQotICAgIGZvciAoYXV0byYgdGV4dE5vZGUgOiB0ZXh0Tm9kZXMpCi0g
ICAgICAgIHJlbW92ZUNoaWxkKHRleHROb2RlLmdldCgpKTsKLQotICAgIC8vIE5vcm1hbGl6ZSBs
aW5lIGVuZGluZ3MuCi0gICAgU3RyaW5nIHZhbHVlID0gZGVmYXVsdFZhbHVlOwotICAgIHZhbHVl
LnJlcGxhY2UoIlxyXG4iLCAiXG4iKTsKLSAgICB2YWx1ZS5yZXBsYWNlKCdccicsICdcbicpOwot
Ci0gICAgaW5zZXJ0QmVmb3JlKGRvY3VtZW50KCkuY3JlYXRlVGV4dE5vZGUodmFsdWUpLCBmaXJz
dENoaWxkKCkpOwotCi0gICAgaWYgKCFtX2lzRGlydHkpCi0gICAgICAgIHNldE5vbkRpcnR5VmFs
dWUodmFsdWUpOworICAgIHNldFRleHRDb250ZW50KGRlZmF1bHRWYWx1ZSk7CiB9CiAKIFN0cmlu
ZyBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWxpZGF0aW9uTWVzc2FnZSgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUaXRsZUVsZW1lbnQuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAppbmRleCA4MWJhOGRlZWZkOS4uN2QzZWE1
NTU4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcApAQCAtNzQs
MTAgKzc0LDcgQEAgdm9pZCBIVE1MVGl0bGVFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQoY29uc3Qg
Q2hpbGRDaGFuZ2UmIGNoYW5nZSkKIAogU3RyaW5nIEhUTUxUaXRsZUVsZW1lbnQ6OnRleHQoKSBj
b25zdAogewotICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAgIGZvciAoVGV4dCogdGV4dCA9
IFRleHROb2RlVHJhdmVyc2FsOjpmaXJzdENoaWxkKCp0aGlzKTsgdGV4dDsgdGV4dCA9IFRleHRO
b2RlVHJhdmVyc2FsOjpuZXh0U2libGluZygqdGV4dCkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQo
dGV4dC0+ZGF0YSgpKTsKLSAgICByZXR1cm4gcmVzdWx0LnRvU3RyaW5nKCk7CisgICAgcmV0dXJu
IFRleHROb2RlVHJhdmVyc2FsOjpjaGlsZFRleHRDb250ZW50KCp0aGlzKTsKIH0KIAogU3RyaW5n
V2l0aERpcmVjdGlvbiBIVE1MVGl0bGVFbGVtZW50Ojpjb21wdXRlZFRleHRXaXRoRGlyZWN0aW9u
KCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317261</attachid>
            <date>2017-08-04 11:26:19 -0700</date>
            <delta_ts>2017-08-04 11:29:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173878-20170804112618.patch</filename>
            <type>text/plain</type>
            <size>15969</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYyZTdkNTM2NzNhZDAy
NmFjYjExODlmZDUxMDhmNjFhODYwZDAzYy4uODFlYzE2OTZmYWFhNjk5MTgzMTYzNGQ5NDQ4ZGFm
ZTI1YzRlODc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA4LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWF0Y2ggbmV3bHktY2xhcmlm
aWVkIHNwZWMgb24gdGV4dGFyZWEgZGVmYXVsdFZhbHVlL3ZhbHVlL2NoaWxkIHRleHQgY29udGVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczODc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IEhUTUxUZXh0QXJlYS5kZWZhdWx0VmFsdWUgdG8gbWF0Y2ggYWxpZ24gd2l0aCBvdGhlciBicm93
c2VycyBhbmQgbWF0Y2ggdGhlCisgICAgICAgIGxhdGVzdCBIVE1MIHNwZWNpZmljYXRpb246Cisg
ICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLXRleHRhcmVhLWRlZmF1
bHR2YWx1ZQorCisgICAgICAgIFRoZSBkZWZhdWx0VmFsdWUgZ2V0dGVyIHNob3VsZCByZXR1cm4g
dGhlIGNoaWxkIHRleHQgY29udGVudDoKKyAgICAgICAgLSBodHRwczovL2RvbS5zcGVjLndoYXR3
Zy5vcmcvI2NvbmNlcHQtY2hpbGQtdGV4dC1jb250ZW50CisgICAgICAgIE91ciBjb2RlIHdhcyB0
cmF2ZXJzaW5nIGFsbCBUZXh0IGRlc2NlbmRhbnRzLCBub3QganVzdCB0aGUgY2hpbGRyZW4uCisK
KyAgICAgICAgVGhlIGRlZmF1bHRWYWx1ZSBzZXR0ZXIgc2hvdWxkIGFjdCBhcyB0aGUgc2V0dGVy
IG9mIHRoZSBFbGVtZW50J3MgdGV4dENvbnRlbnQKKyAgICAgICAgSURMIGF0dHJpYnV0ZS4gUHJl
dmlvdXNseSwgd2UgaGFkIGEgY3VzdG9tIGxvZ2ljIHRoYXQgd2FzIG9ubHkgcmVtb3ZpbmcgdGhl
CisgICAgICAgIHRleHQgY2hpbGRyZW4uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVu
dC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQuaHRtbAorCisgICAgICAgICogZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6c2NyaXB0
Q29udGVudCBjb25zdCk6CisgICAgICAgICogZG9tL1RleHROb2RlVHJhdmVyc2FsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHROb2RlVHJhdmVyc2FsOjpjaGlsZFRleHRDb250ZW50KToKKyAg
ICAgICAgKiBkb20vVGV4dE5vZGVUcmF2ZXJzYWwuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6
ZGVmYXVsdFZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1l
bnQ6OnNldERlZmF1bHRWYWx1ZSk6CisgICAgICAgICogaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUaXRsZUVsZW1lbnQ6OnRleHQgY29uc3QpOgorCiAy
MDE3LTA4LTA0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjAyNjguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5jcHAKaW5kZXggYWE1ZjZiYzU2YjU1ZDNlNzVkYzhkM2Q3NDc5NTY4YzNhNjg5NjllYS4u
YTgzM2UyODIyNmRkZDFkY2QxNDJkNWNhMjJiMzU0NjJlMmI5YzBlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcApAQCAtNDYxLDEwICs0NjEsNyBAQCBib29sIFNjcmlwdEVsZW1l
bnQ6OmlzU2NyaXB0Rm9yRXZlbnRTdXBwb3J0ZWQoKSBjb25zdAogCiBTdHJpbmcgU2NyaXB0RWxl
bWVudDo6c2NyaXB0Q29udGVudCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7
Ci0gICAgZm9yIChhdXRvKiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0Q2hpbGQobV9l
bGVtZW50KTsgdGV4dDsgdGV4dCA9IFRleHROb2RlVHJhdmVyc2FsOjpuZXh0U2libGluZygqdGV4
dCkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQodGV4dC0+ZGF0YSgpKTsKLSAgICByZXR1cm4gcmVz
dWx0LnRvU3RyaW5nKCk7CisgICAgcmV0dXJuIFRleHROb2RlVHJhdmVyc2FsOjpjaGlsZFRleHRD
b250ZW50KG1fZWxlbWVudCk7CiB9CiAKIHZvaWQgU2NyaXB0RWxlbWVudDo6cmVmKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dE5vZGVUcmF2ZXJzYWwuY3BwCmluZGV4IDExMmEyODQ4NjJkYjg5NDRk
NWEwYTEyNTJlMGNkZTI4ZGQzYjZlNTguLmI3OGNhNzkwY2Q3NzJlMjVlNzU3MWIyN2EzNmYzNzI5
OGQ3OTg4NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNh
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHROb2RlVHJhdmVyc2FsLmNwcApAQCAt
NTQsNSArNTQsMTMgQEAgU3RyaW5nIGNvbnRlbnRzQXNTdHJpbmcoY29uc3QgTm9kZSYgcm9vdCkK
ICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBjaGlsZFRleHRDb250ZW50KGNvbnN0
IENvbnRhaW5lck5vZGUmIHJvb3QpCit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAg
Zm9yIChUZXh0KiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0Q2hpbGQocm9vdCk7IHRl
eHQ7IHRleHQgPSBUZXh0Tm9kZVRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoKnRleHQpKQorICAgICAg
ICByZXN1bHQuYXBwZW5kKHRleHQtPmRhdGEoKSk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmlu
ZygpOworfQorCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dE5vZGVU
cmF2ZXJzYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5oCmluZGV4
IGI1MjBlNmJmZDc3MzcxMGUzNmQ1ZjExYWM2ZWRjZTliNzdiNjFhZDMuLmExNTkzNjk2ZmZlZDQ2
YmJiYTEzMmFiZGNmNzZiZjgyMmYyYmMyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0Tm9kZVRyYXZlcnNhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRy
YXZlcnNhbC5oCkBAIC01Niw2ICs1Niw3IEBAIFRleHQqIG5leHRTaWJsaW5nKGNvbnN0IE5vZGUm
KTsKIFN0cmluZyBjb250ZW50c0FzU3RyaW5nKGNvbnN0IE5vZGUmKTsKIFN0cmluZyBjb250ZW50
c0FzU3RyaW5nKGNvbnN0IENvbnRhaW5lck5vZGUmKTsKIHZvaWQgYXBwZW5kQ29udGVudHMoY29u
c3QgQ29udGFpbmVyTm9kZSYsIFN0cmluZ0J1aWxkZXImIHJlc3VsdCk7CitTdHJpbmcgY2hpbGRU
ZXh0Q29udGVudChjb25zdCBDb250YWluZXJOb2RlJik7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggNzMwNjc0OWMzMmU4YjQ0MzJjZjgy
OWM4YzQwOTlkMTI1MzkyMzYwNC4uZTNhMDIxOTBlZGEyMDI2YmFmMjIyY2QyMWNmNjhiNDI4YzRi
NzZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBA
IC00MDQsMzAgKzQwNCwxMiBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldFZhbHVlQ29t
bW9uKGNvbnN0IFN0cmluZyYgbmV3VmFsdWUpCiAKIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50
OjpkZWZhdWx0VmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBUZXh0Tm9kZVRyYXZlcnNhbDo6
Y29udGVudHNBc1N0cmluZygqdGhpcyk7CisgICAgcmV0dXJuIFRleHROb2RlVHJhdmVyc2FsOjpj
aGlsZFRleHRDb250ZW50KCp0aGlzKTsKIH0KIAogdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50Ojpz
ZXREZWZhdWx0VmFsdWUoY29uc3QgU3RyaW5nJiBkZWZhdWx0VmFsdWUpCiB7Ci0gICAgUmVmPEhU
TUxUZXh0QXJlYUVsZW1lbnQ+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotCi0gICAgLy8gVG8gcHJl
c2VydmUgY29tbWVudHMsIHJlbW92ZSBvbmx5IHRoZSB0ZXh0IG5vZGVzLCB0aGVuIGFkZCBhIHNp
bmdsZSB0ZXh0IG5vZGUuCi0gICAgVmVjdG9yPFJlZjxUZXh0Pj4gdGV4dE5vZGVzOwotICAgIGZv
ciAoVGV4dCogdGV4dE5vZGUgPSBUZXh0Tm9kZVRyYXZlcnNhbDo6Zmlyc3RDaGlsZCgqdGhpcyk7
IHRleHROb2RlOyB0ZXh0Tm9kZSA9IFRleHROb2RlVHJhdmVyc2FsOjpuZXh0U2libGluZygqdGV4
dE5vZGUpKQotICAgICAgICB0ZXh0Tm9kZXMuYXBwZW5kKCp0ZXh0Tm9kZSk7Ci0KLSAgICBmb3Ig
KGF1dG8mIHRleHROb2RlIDogdGV4dE5vZGVzKQotICAgICAgICByZW1vdmVDaGlsZCh0ZXh0Tm9k
ZS5nZXQoKSk7Ci0KLSAgICAvLyBOb3JtYWxpemUgbGluZSBlbmRpbmdzLgotICAgIFN0cmluZyB2
YWx1ZSA9IGRlZmF1bHRWYWx1ZTsKLSAgICB2YWx1ZS5yZXBsYWNlKCJcclxuIiwgIlxuIik7Ci0g
ICAgdmFsdWUucmVwbGFjZSgnXHInLCAnXG4nKTsKLQotICAgIGluc2VydEJlZm9yZShkb2N1bWVu
dCgpLmNyZWF0ZVRleHROb2RlKHZhbHVlKSwgZmlyc3RDaGlsZCgpKTsKLQotICAgIGlmICghbV9p
c0RpcnR5KQotICAgICAgICBzZXROb25EaXJ0eVZhbHVlKHZhbHVlKTsKKyAgICBzZXRUZXh0Q29u
dGVudChkZWZhdWx0VmFsdWUpOwogfQogCiBTdHJpbmcgSFRNTFRleHRBcmVhRWxlbWVudDo6dmFs
aWRhdGlvbk1lc3NhZ2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGl0bGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVu
dC5jcHAKaW5kZXggODFiYThkZWVmZDlmN2VkZDFlZjE4N2QyMDcwMjZkMjJjNWMwMDliZC4uN2Qz
ZWE1NTU4OGU4NzdhZGZhYmFhZTg3YTJjZmQ0MDdhODFhNDY5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUaXRsZUVsZW1lbnQuY3BwCkBAIC03NCwxMCArNzQsNyBAQCB2b2lkIEhUTUxUaXRs
ZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogCiBT
dHJpbmcgSFRNTFRpdGxlRWxlbWVudDo6dGV4dCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7Ci0gICAgZm9yIChUZXh0KiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0
Q2hpbGQoKnRoaXMpOyB0ZXh0OyB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6Om5leHRTaWJsaW5n
KCp0ZXh0KSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCh0ZXh0LT5kYXRhKCkpOwotICAgIHJldHVy
biByZXN1bHQudG9TdHJpbmcoKTsKKyAgICByZXR1cm4gVGV4dE5vZGVUcmF2ZXJzYWw6OmNoaWxk
VGV4dENvbnRlbnQoKnRoaXMpOwogfQogCiBTdHJpbmdXaXRoRGlyZWN0aW9uIEhUTUxUaXRsZUVs
ZW1lbnQ6OmNvbXB1dGVkVGV4dFdpdGhEaXJlY3Rpb24oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggMzRlMDkxOTUxZTQwNmE4MGE0MWI1ZmQ3MjZjYjRkYzYyZDg3ZDQ5My4uY2E0
MTFiZmY3ZGRkODMzYWU2ZDU1MmI0OWRiOWM1NzY2ZjEyZGRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDgtMDQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYXRjaCBuZXdseS1jbGFyaWZpZWQgc3BlYyBv
biB0ZXh0YXJlYSBkZWZhdWx0VmFsdWUvdmFsdWUvY2hpbGQgdGV4dCBjb250ZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM4NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZS1zeW5jIFdQVCB0ZXN0
IGZyb20gdXBzdHJlYW0gYW5kIHJlYmFzZWxpbmUgdG8gaW1wcm92ZSB0ZXN0IGNvdmVyYWdlLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10
ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3Ro
ZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC5odG1sOgor
CiAyMDE3LTA4LTA0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBFbmFibGUgU2VydmljZVdvcmtlcnMgYXQgcnVudGltZSBmb3IgV2ViS2l0VGVzdFJ1bm5lci4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZh
bHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1l
bnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dAppbmRleCBiZTc1
YzM1MjBjZDI2ZThkZWQ2MDc5MjFkODMwYWI4YzJiY2Q1YTQ0Li42MjkwZjc1NTEyMWVjMzU2NzJl
NGYzMjUzYjY1YjExOTQzM2E0MTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10ZXh0YXJlYS1l
bGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGlj
cy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRl
bnQtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsMTQgQEAKIAogUEFTUyBkZWZhdWx0VmFsdWUgYW5k
IHZhbHVlIGFyZSB0aGUgZW1wdHkgc3RyaW5nIGJ5IGRlZmF1bHQgCiBQQVNTIGRlZmF1bHRWYWx1
ZSBhbmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHNldHRpbmcgdGV4dENvbnRlbnQgCitQQVNTIGRl
ZmF1bHRWYWx1ZSBhbmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHNldHRpbmcgbm9kZVZhbHVlIG9u
IGEgY2hpbGQgdGV4dCBub2RlIAorUEFTUyBkZWZhdWx0VmFsdWUgYW5kIHZhbHVlIGFyZSBhZmZl
Y3RlZCBieSBzZXR0aW5nIGRhdGEgb24gYSBjaGlsZCB0ZXh0IG5vZGUgCiBQQVNTIGRlZmF1bHRW
YWx1ZSBhbmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHRleHRDb250ZW50IGluIGNvbWJpbmF0aW9u
IHdpdGggYXBwZW5kaW5nIGEgdGV4dCBub2RlIAorUEFTUyBkZWZhdWx0VmFsdWUgYW5kIHZhbHVl
IGFyZSBhZmZlY3RlZCBieSB0ZXh0Q29udGVudCBpbiBjb21iaW5hdGlvbiB3aXRoIGFwcGVuZGlu
ZyBhIERvY3VtZW50RnJhZ21lbnQgCitQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgcmVmbGVj
dCBjaGlsZCB0ZXh0IGNvbnRlbnQsIG5vdCB0ZXh0Q29udGVudCAKK1BBU1MgU2V0dGluZyBkZWZh
dWx0VmFsdWUgd2lwZXMgb3V0IGFueSBjaGlsZHJlbiwgaW5jbHVkaW5nIGVsZW1lbnRzIChqdXN0
IGxpa2Ugc2V0dGluZyB0ZXh0Q29udGVudCkgCiBQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUg
dHJlYXQgQ1JMRiBkaWZmZXJlbnRseSAKK1BBU1MgdmFsdWUgbm9ybWFsaXplcyBDUkxGIGV2ZW4g
c3ByZWFkIG92ZXIgbXVsdGlwbGUgdGV4dCBub2RlcyAKIFBBU1MgdGVzdHMgZm9yIHRoZSB2YWx1
ZSBzZXR0ZXIgCitQQVNTIHRlc3RzIGZvciBVKzAwMDAgTlVMTCAKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9m
b3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQu
aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9z
ZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRl
eHRDb250ZW50Lmh0bWwKaW5kZXggZmExOTdjMzYxZDgwMzI2ZDY5YzMzZTJkNjE3NjkxNWE3OTdh
NTE2MC4uYTFhNDA1ZmRiZTc1NmFlNDVhMjVkNjMzYzdkNTBhMTI4MjkwZjk2NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENv
bnRlbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1
bHRWYWx1ZS10ZXh0Q29udGVudC5odG1sCkBAIC0xLDUgKzEsNSBAQAogPCFET0NUWVBFIEhUTUw+
Ci08dGl0bGU+dGV4dGFyZWEgZWxlbWVudCBzZWxlY3QoKSBmdW5jdGlvbmFsaXR5PC90aXRsZT4K
Kzx0aXRsZT50ZXh0YXJlYSBlbGVtZW50IHZhbHVlL2RlZmF1bHRWYWx1ZS90ZXh0Q29udGVudCBm
dW5jdGlvbmFsaXR5PC90aXRsZT4KIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iRG9tZW5pYyBE
ZW5pY29sYSIgaHJlZj0ibWFpbHRvOmRAZG9tZW5pYy5tZSI+CiA8bGluayByZWw9ImhlbHAiIGhy
ZWY9Imh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNkb20tdGV4dGFyZWEt
dmFsdWUiPgogPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgpAQCAtMjAsOCArMjAsOCBAQCB0ZXN0KCgpID0+IHsKIHRlc3QoKCkgPT4gewogCiAgIGNvbnN0
IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKLSAgdGV4dGFy
ZWEudGV4dENvbnRlbnQgPSAiZm9vIGJhciI7CiAKKyAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAi
Zm9vIGJhciI7CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vIGJh
ciIsICJ0aGUgZGVmYXVsdFZhbHVlIHNob3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29udGVudCIpOwog
ICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciIsCiAgICAgImNoYW5naW5n
IHRoZSB0ZXh0Q29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1
ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOwpAQCAtMzEsOSArMzEsMzMgQEAgdGVzdCgoKSA9PiB7CiB0
ZXN0KCgpID0+IHsKIAogICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
InRleHRhcmVhIik7CisKKyAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAic29tZSB0ZXh0IjsKKyAg
dGV4dGFyZWEuZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSAiZm9vIGJhciI7CisgIGFzc2VydF9lcXVh
bHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vIGJhciIsICJ0aGUgZGVmYXVsdFZhbHVlIHNo
b3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVh
LnZhbHVlLCAiZm9vIGJhciIsCisgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBzaG91bGQg
Y2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOwor
Cit9LCAiZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgc2V0dGluZyBub2Rl
VmFsdWUgb24gYSBjaGlsZCB0ZXh0IG5vZGUiKTsKKwordGVzdCgoKSA9PiB7CisKKyAgY29uc3Qg
dGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworCisgIHRleHRh
cmVhLnRleHRDb250ZW50ID0gInNvbWUgdGV4dCI7CisgIHRleHRhcmVhLmZpcnN0Q2hpbGQuZGF0
YSA9ICJmb28gYmFyIjsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJm
b28gYmFyIiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIHRleHRDb250ZW50
Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28gYmFyIiwKKyAgICAiY2hh
bmdpbmcgdGhlIHRleHRDb250ZW50IHNob3VsZCBjaGFuZ2UgdGhlIHJhdyB2YWx1ZSwgYW5kIHN1
YnNlcXVlbnRseSB0aGUgYXBpIHZhbHVlIik7CisKK30sICJkZWZhdWx0VmFsdWUgYW5kIHZhbHVl
IGFyZSBhZmZlY3RlZCBieSBzZXR0aW5nIGRhdGEgb24gYSBjaGlsZCB0ZXh0IG5vZGUiKTsKKwor
dGVzdCgoKSA9PiB7CisKKyAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJ0ZXh0YXJlYSIpOworCiAgIHRleHRhcmVhLnRleHRDb250ZW50ID0gImZvbyBiYXIiOwogICB0
ZXh0YXJlYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIGJheiIpKTsKLQog
ICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvbyBiYXIgYmF6IiwgInRo
ZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIHRleHRDb250ZW50Iik7CiAgIGFzc2Vy
dF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28gYmFyIGJheiIsCiAgICAgImNoYW5naW5nIHRo
ZSB0ZXh0Q29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1ZW50
bHkgdGhlIGFwaSB2YWx1ZSIpOwpAQCAtNDMsOCArNjcsNjIgQEAgdGVzdCgoKSA9PiB7CiB0ZXN0
KCgpID0+IHsKIAogICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRl
eHRhcmVhIik7Ci0gIHRleHRhcmVhLnRleHRDb250ZW50ID0gImZvb1xyXG5iYXJccmJhelxucXV4
IjsKKyAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAiZm9vIGJhciI7CisKKyAgY29uc3QgZnJhZyA9
IGRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKKyAgZnJhZy5hcHBlbmRDaGlsZChk
b2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIGJheiIpKTsKKyAgY29uc3QgZWwgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIik7CisgIGVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCJxdXg/IikpOworICBmcmFnLmFwcGVuZENoaWxkKGVsKTsKKyAgZnJhZy5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIGZpenoiKSk7CisgIHRleHRhcmVhLmFwcGVu
ZENoaWxkKGZyYWcpOworCisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKCIgd2hlZSIpKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUs
ICJmb28gYmFyIGJheiBmaXp6IHdoZWUiLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVj
dCB0aGUgdGV4dENvbnRlbnQiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImZv
byBiYXIgYmF6IGZpenogd2hlZSIsCisgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBzaG91
bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIp
OworCit9LCAiZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgdGV4dENvbnRl
bnQgaW4gY29tYmluYXRpb24gd2l0aCBhcHBlbmRpbmcgYSBEb2N1bWVudEZyYWdtZW50Iik7CisK
K3Rlc3QoKCkgPT4geworCisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgidGV4dGFyZWEiKTsKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoImZvbyBiYXIiKSk7CisKKyAgY29uc3QgY2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KCJzcGFuIik7CisgIGNoaWxkLnRleHRDb250ZW50ID0gImJheiI7CisgIHRleHRhcmVhLmFw
cGVuZENoaWxkKGNoaWxkKTsKKworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnRleHRDb250ZW50
LCAiZm9vIGJhcmJheiIsICJ0aGUgdGV4dENvbnRlbnQgc2hvdWxkIGhhdmUgKmFsbCogdGhlIHRl
eHQgY29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZv
byBiYXIiLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUgY2hpbGQgdGV4dCBj
b250ZW50Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28gYmFyIiwKKyAg
ICAiY2hhbmdpbmcgdGhlIGNoaWxkIHRleHQgY29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcg
dmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOworCit9LCAiZGVmYXVsdFZh
bHVlIGFuZCB2YWx1ZSByZWZsZWN0IGNoaWxkIHRleHQgY29udGVudCwgbm90IHRleHRDb250ZW50
Iik7CisKK3Rlc3QoKCkgPT4geworCisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgidGV4dGFyZWEiKTsKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoImZvbyBiYXIiKSk7CisKKyAgY29uc3QgY2hpbGQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJzcGFuIik7CisgIGNoaWxkLnRleHRDb250ZW50ID0gImJheiI7CisgIHRleHRh
cmVhLmFwcGVuZENoaWxkKGNoaWxkKTsKKworICB0ZXh0YXJlYS5kZWZhdWx0VmFsdWUgPSAiZm9v
IjsKKworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmNoaWxkTm9kZXMubGVuZ3RoLCAxLCAiT25s
eSBvbmUgY2hpbGQgbm9kZSBzaG91bGQgZXhpc3QiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJl
YS5kZWZhdWx0VmFsdWUsICJmb28iLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgYmUgdGhlIG5l
dyB0ZXh0Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28iLCAidGhlIGFw
aSB2YWx1ZSBzaG91bGQgYmUgdGhlIG5ldyB0ZXh0Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFy
ZWEudGV4dENvbnRlbnQsICJmb28iLCAidGhlIHRleHRDb250ZW50IHNob3VsZCBiZSB0aGUgbmV3
IHRleHQiKTsKIAorfSwgIlNldHRpbmcgZGVmYXVsdFZhbHVlIHdpcGVzIG91dCBhbnkgY2hpbGRy
ZW4sIGluY2x1ZGluZyBlbGVtZW50cyAoanVzdCBsaWtlIHNldHRpbmcgdGV4dENvbnRlbnQpIik7
CisKK3Rlc3QoKCkgPT4geworCisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidGV4dGFyZWEiKTsKKworICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJmb29cclxuYmFy
XHJiYXpcbnF1eCI7CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9v
XHJcbmJhclxyYmF6XG5xdXgiLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUg
dGV4dENvbnRlbnQiKTsKICAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImZvb1xuYmFy
XG5iYXpcbnF1eCIsICJUaGUgdmFsdWUgcHJvcGVydHkgc2hvdWxkIG5vcm1hbGl6ZSBDUkxGIGFu
ZCBDUiB0byBMRiIpOwogCkBAIC01Myw5ICsxMzEsMjAgQEAgdGVzdCgoKSA9PiB7CiB0ZXN0KCgp
ID0+IHsKIAogICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRh
cmVhIik7CisKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUo
ImZvb1xyIikpOworICB0ZXh0YXJlYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZSgiXG5iYXJccmJhelxucXV4IikpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRW
YWx1ZSwgImZvb1xyXG5iYXJccmJhelxucXV4IiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJl
ZmxlY3QgdGhlIHRleHRDb250ZW50Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUs
ICJmb29cbmJhclxuYmF6XG5xdXgiLCAiVGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCBub3JtYWxp
emUgQ1JMRiBhbmQgQ1IgdG8gTEYiKTsKKworfSwgInZhbHVlIG5vcm1hbGl6ZXMgQ1JMRiBldmVu
IHNwcmVhZCBvdmVyIG11bHRpcGxlIHRleHQgbm9kZXMiKTsKKwordGVzdCgoKSA9PiB7CisKKyAg
Y29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworCiAg
IHRleHRhcmVhLnRleHRDb250ZW50ID0gImZvbyI7CiAgIHRleHRhcmVhLnZhbHVlID0gImJheiI7
Ci0KICAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28iLCAic2V0dGlu
ZyB0aGUgdmFsdWUgcHJvcGVydHkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIGRlZmF1bHRWYWx1ZSIp
OwogICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnRleHRDb250ZW50LCAiZm9vIiwgInNldHRpbmcg
dGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCBub3QgYWZmZWN0IHRoZSB0ZXh0Q29udGVudCIpOwog
ICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiYmF6IiwKQEAgLTY4LDQgKzE1NywyNSBA
QCB0ZXN0KCgpID0+IHsKICAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgIiIsICJzZXR0
aW5nIHRoZSB2YWx1ZSBwcm9wZXJ0eSB0byBudWxsIHNob3VsZCByZXN1bHQgaW4gYW4gZW1wdHkg
c3RyaW5nIik7CiAKIH0sICJ0ZXN0cyBmb3IgdGhlIHZhbHVlIHNldHRlciIpOworCit0ZXN0KCgp
ID0+IHsKKworICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRh
cmVhIik7CisKKyAgdGV4dGFyZWEuZGVmYXVsdFZhbHVlID0gImZvb1wwIjsKKyAgYXNzZXJ0X2Vx
dWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb29cMCIsICJkZWZhdWx0VmFsdWUgYWZ0ZXIg
c2V0dGluZyBkZWZhdWx0VmFsdWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS50ZXh0Q29u
dGVudCwgImZvb1wwIiwgInRleHRDb250ZW50IGFmdGVyIHNldHRpbmcgZGVmYXVsdFZhbHVlIik7
CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb29cMCIsICJ2YWx1ZSBhZnRlciBz
ZXR0aW5nIGRlZmF1bHRWYWx1ZSIpOworCisgIHRleHRhcmVhLnRleHRDb250ZW50ID0gImJhclww
IjsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJiYXJcMCIsICJkZWZh
dWx0VmFsdWUgYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRl
eHRhcmVhLnRleHRDb250ZW50LCAiYmFyXDAiLCAidGV4dENvbnRlbnQgYWZ0ZXIgc2V0dGluZyB0
ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiYmFyXDAiLCAi
dmFsdWUgYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCIpOworCisgIHRleHRhcmVhLnZhbHVlID0g
ImJhelwwIjsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJiYXJcMCIs
ICJkZWZhdWx0VmFsdWUgYWZ0ZXIgc2V0dGluZyB2YWx1ZSIpOworICBhc3NlcnRfZXF1YWxzKHRl
eHRhcmVhLnRleHRDb250ZW50LCAiYmFyXDAiLCAidGV4dENvbnRlbnQgYWZ0ZXIgc2V0dGluZyB2
YWx1ZSIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiYmF6XDAiLCAidmFsdWUg
YWZ0ZXIgc2V0dGluZyB2YWx1ZSIpOworCit9LCAidGVzdHMgZm9yIFUrMDAwMCBOVUxMIik7CiA8
L3NjcmlwdD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>317262</attachid>
            <date>2017-08-04 11:29:29 -0700</date>
            <delta_ts>2017-08-04 13:49:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173878-20170804112929.patch</filename>
            <type>text/plain</type>
            <size>20588</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIwMjc2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmYyZTdkNTM2NzNhZDAy
NmFjYjExODlmZDUxMDhmNjFhODYwZDAzYy4uODFlYzE2OTZmYWFhNjk5MTgzMTYzNGQ5NDQ4ZGFm
ZTI1YzRlODc0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE3LTA4LTA0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTWF0Y2ggbmV3bHktY2xhcmlm
aWVkIHNwZWMgb24gdGV4dGFyZWEgZGVmYXVsdFZhbHVlL3ZhbHVlL2NoaWxkIHRleHQgY29udGVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTczODc4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRl
IEhUTUxUZXh0QXJlYS5kZWZhdWx0VmFsdWUgdG8gbWF0Y2ggYWxpZ24gd2l0aCBvdGhlciBicm93
c2VycyBhbmQgbWF0Y2ggdGhlCisgICAgICAgIGxhdGVzdCBIVE1MIHNwZWNpZmljYXRpb246Cisg
ICAgICAgIC0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy8jZG9tLXRleHRhcmVhLWRlZmF1
bHR2YWx1ZQorCisgICAgICAgIFRoZSBkZWZhdWx0VmFsdWUgZ2V0dGVyIHNob3VsZCByZXR1cm4g
dGhlIGNoaWxkIHRleHQgY29udGVudDoKKyAgICAgICAgLSBodHRwczovL2RvbS5zcGVjLndoYXR3
Zy5vcmcvI2NvbmNlcHQtY2hpbGQtdGV4dC1jb250ZW50CisgICAgICAgIE91ciBjb2RlIHdhcyB0
cmF2ZXJzaW5nIGFsbCBUZXh0IGRlc2NlbmRhbnRzLCBub3QganVzdCB0aGUgY2hpbGRyZW4uCisK
KyAgICAgICAgVGhlIGRlZmF1bHRWYWx1ZSBzZXR0ZXIgc2hvdWxkIGFjdCBhcyB0aGUgc2V0dGVy
IG9mIHRoZSBFbGVtZW50J3MgdGV4dENvbnRlbnQKKyAgICAgICAgSURMIGF0dHJpYnV0ZS4gUHJl
dmlvdXNseSwgd2UgaGFkIGEgY3VzdG9tIGxvZ2ljIHRoYXQgd2FzIG9ubHkgcmVtb3ZpbmcgdGhl
CisgICAgICAgIHRleHQgY2hpbGRyZW4uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVu
dC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQuaHRtbAorCisgICAgICAgICogZG9tL1Nj
cmlwdEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RWxlbWVudDo6c2NyaXB0
Q29udGVudCBjb25zdCk6CisgICAgICAgICogZG9tL1RleHROb2RlVHJhdmVyc2FsLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlRleHROb2RlVHJhdmVyc2FsOjpjaGlsZFRleHRDb250ZW50KToKKyAg
ICAgICAgKiBkb20vVGV4dE5vZGVUcmF2ZXJzYWwuaDoKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0
QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6
ZGVmYXVsdFZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUZXh0QXJlYUVsZW1l
bnQ6OnNldERlZmF1bHRWYWx1ZSk6CisgICAgICAgICogaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUaXRsZUVsZW1lbnQ6OnRleHQgY29uc3QpOgorCiAy
MDE3LTA4LTA0ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMjAyNjguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxl
bWVudC5jcHAKaW5kZXggYWE1ZjZiYzU2YjU1ZDNlNzVkYzhkM2Q3NDc5NTY4YzNhNjg5NjllYS4u
YTgzM2UyODIyNmRkZDFkY2QxNDJkNWNhMjJiMzU0NjJlMmI5YzBlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFbGVtZW50LmNwcApAQCAtNDYxLDEwICs0NjEsNyBAQCBib29sIFNjcmlwdEVsZW1l
bnQ6OmlzU2NyaXB0Rm9yRXZlbnRTdXBwb3J0ZWQoKSBjb25zdAogCiBTdHJpbmcgU2NyaXB0RWxl
bWVudDo6c2NyaXB0Q29udGVudCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7
Ci0gICAgZm9yIChhdXRvKiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0Q2hpbGQobV9l
bGVtZW50KTsgdGV4dDsgdGV4dCA9IFRleHROb2RlVHJhdmVyc2FsOjpuZXh0U2libGluZygqdGV4
dCkpCi0gICAgICAgIHJlc3VsdC5hcHBlbmQodGV4dC0+ZGF0YSgpKTsKLSAgICByZXR1cm4gcmVz
dWx0LnRvU3RyaW5nKCk7CisgICAgcmV0dXJuIFRleHROb2RlVHJhdmVyc2FsOjpjaGlsZFRleHRD
b250ZW50KG1fZWxlbWVudCk7CiB9CiAKIHZvaWQgU2NyaXB0RWxlbWVudDo6cmVmKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dE5vZGVUcmF2ZXJzYWwuY3BwCmluZGV4IDExMmEyODQ4NjJkYjg5NDRk
NWEwYTEyNTJlMGNkZTI4ZGQzYjZlNTguLmI3OGNhNzkwY2Q3NzJlMjVlNzU3MWIyN2EzNmYzNzI5
OGQ3OTg4NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNh
bC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHROb2RlVHJhdmVyc2FsLmNwcApAQCAt
NTQsNSArNTQsMTMgQEAgU3RyaW5nIGNvbnRlbnRzQXNTdHJpbmcoY29uc3QgTm9kZSYgcm9vdCkK
ICAgICByZXR1cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBjaGlsZFRleHRDb250ZW50KGNvbnN0
IENvbnRhaW5lck5vZGUmIHJvb3QpCit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAg
Zm9yIChUZXh0KiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0Q2hpbGQocm9vdCk7IHRl
eHQ7IHRleHQgPSBUZXh0Tm9kZVRyYXZlcnNhbDo6bmV4dFNpYmxpbmcoKnRleHQpKQorICAgICAg
ICByZXN1bHQuYXBwZW5kKHRleHQtPmRhdGEoKSk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmlu
ZygpOworfQorCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4dE5vZGVU
cmF2ZXJzYWwuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRyYXZlcnNhbC5oCmluZGV4
IGI1MjBlNmJmZDc3MzcxMGUzNmQ1ZjExYWM2ZWRjZTliNzdiNjFhZDMuLmExNTkzNjk2ZmZlZDQ2
YmJiYTEzMmFiZGNmNzZiZjgyMmYyYmMyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9UZXh0Tm9kZVRyYXZlcnNhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0Tm9kZVRy
YXZlcnNhbC5oCkBAIC01Niw2ICs1Niw3IEBAIFRleHQqIG5leHRTaWJsaW5nKGNvbnN0IE5vZGUm
KTsKIFN0cmluZyBjb250ZW50c0FzU3RyaW5nKGNvbnN0IE5vZGUmKTsKIFN0cmluZyBjb250ZW50
c0FzU3RyaW5nKGNvbnN0IENvbnRhaW5lck5vZGUmKTsKIHZvaWQgYXBwZW5kQ29udGVudHMoY29u
c3QgQ29udGFpbmVyTm9kZSYsIFN0cmluZ0J1aWxkZXImIHJlc3VsdCk7CitTdHJpbmcgY2hpbGRU
ZXh0Q29udGVudChjb25zdCBDb250YWluZXJOb2RlJik7CiAKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXggNzMwNjc0OWMzMmU4YjQ0MzJjZjgy
OWM4YzQwOTlkMTI1MzkyMzYwNC4uZTNhMDIxOTBlZGEyMDI2YmFmMjIyY2QyMWNmNjhiNDI4YzRi
NzZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBA
IC00MDQsMzAgKzQwNCwxMiBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldFZhbHVlQ29t
bW9uKGNvbnN0IFN0cmluZyYgbmV3VmFsdWUpCiAKIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50
OjpkZWZhdWx0VmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBUZXh0Tm9kZVRyYXZlcnNhbDo6
Y29udGVudHNBc1N0cmluZygqdGhpcyk7CisgICAgcmV0dXJuIFRleHROb2RlVHJhdmVyc2FsOjpj
aGlsZFRleHRDb250ZW50KCp0aGlzKTsKIH0KIAogdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50Ojpz
ZXREZWZhdWx0VmFsdWUoY29uc3QgU3RyaW5nJiBkZWZhdWx0VmFsdWUpCiB7Ci0gICAgUmVmPEhU
TUxUZXh0QXJlYUVsZW1lbnQ+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwotCi0gICAgLy8gVG8gcHJl
c2VydmUgY29tbWVudHMsIHJlbW92ZSBvbmx5IHRoZSB0ZXh0IG5vZGVzLCB0aGVuIGFkZCBhIHNp
bmdsZSB0ZXh0IG5vZGUuCi0gICAgVmVjdG9yPFJlZjxUZXh0Pj4gdGV4dE5vZGVzOwotICAgIGZv
ciAoVGV4dCogdGV4dE5vZGUgPSBUZXh0Tm9kZVRyYXZlcnNhbDo6Zmlyc3RDaGlsZCgqdGhpcyk7
IHRleHROb2RlOyB0ZXh0Tm9kZSA9IFRleHROb2RlVHJhdmVyc2FsOjpuZXh0U2libGluZygqdGV4
dE5vZGUpKQotICAgICAgICB0ZXh0Tm9kZXMuYXBwZW5kKCp0ZXh0Tm9kZSk7Ci0KLSAgICBmb3Ig
KGF1dG8mIHRleHROb2RlIDogdGV4dE5vZGVzKQotICAgICAgICByZW1vdmVDaGlsZCh0ZXh0Tm9k
ZS5nZXQoKSk7Ci0KLSAgICAvLyBOb3JtYWxpemUgbGluZSBlbmRpbmdzLgotICAgIFN0cmluZyB2
YWx1ZSA9IGRlZmF1bHRWYWx1ZTsKLSAgICB2YWx1ZS5yZXBsYWNlKCJcclxuIiwgIlxuIik7Ci0g
ICAgdmFsdWUucmVwbGFjZSgnXHInLCAnXG4nKTsKLQotICAgIGluc2VydEJlZm9yZShkb2N1bWVu
dCgpLmNyZWF0ZVRleHROb2RlKHZhbHVlKSwgZmlyc3RDaGlsZCgpKTsKLQotICAgIGlmICghbV9p
c0RpcnR5KQotICAgICAgICBzZXROb25EaXJ0eVZhbHVlKHZhbHVlKTsKKyAgICBzZXRUZXh0Q29u
dGVudChkZWZhdWx0VmFsdWUpOwogfQogCiBTdHJpbmcgSFRNTFRleHRBcmVhRWxlbWVudDo6dmFs
aWRhdGlvbk1lc3NhZ2UoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MVGl0bGVFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFRpdGxlRWxlbWVu
dC5jcHAKaW5kZXggODFiYThkZWVmZDlmN2VkZDFlZjE4N2QyMDcwMjZkMjJjNWMwMDliZC4uN2Qz
ZWE1NTU4OGU4NzdhZGZhYmFhZTg3YTJjZmQ0MDdhODFhNDY5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxUaXRsZUVsZW1lbnQuY3BwCkBAIC03NCwxMCArNzQsNyBAQCB2b2lkIEhUTUxUaXRs
ZUVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZChjb25zdCBDaGlsZENoYW5nZSYgY2hhbmdlKQogCiBT
dHJpbmcgSFRNTFRpdGxlRWxlbWVudDo6dGV4dCgpIGNvbnN0CiB7Ci0gICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7Ci0gICAgZm9yIChUZXh0KiB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6OmZpcnN0
Q2hpbGQoKnRoaXMpOyB0ZXh0OyB0ZXh0ID0gVGV4dE5vZGVUcmF2ZXJzYWw6Om5leHRTaWJsaW5n
KCp0ZXh0KSkKLSAgICAgICAgcmVzdWx0LmFwcGVuZCh0ZXh0LT5kYXRhKCkpOwotICAgIHJldHVy
biByZXN1bHQudG9TdHJpbmcoKTsKKyAgICByZXR1cm4gVGV4dE5vZGVUcmF2ZXJzYWw6OmNoaWxk
VGV4dENvbnRlbnQoKnRoaXMpOwogfQogCiBTdHJpbmdXaXRoRGlyZWN0aW9uIEhUTUxUaXRsZUVs
ZW1lbnQ6OmNvbXB1dGVkVGV4dFdpdGhEaXJlY3Rpb24oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKaW5kZXggMzRlMDkxOTUxZTQwNmE4MGE0MWI1ZmQ3MjZjYjRkYzYyZDg3ZDQ5My4uY2E0
MTFiZmY3ZGRkODMzYWU2ZDU1MmI0OWRiOWM1NzY2ZjEyZGRhMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDgtMDQgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBNYXRjaCBuZXdseS1jbGFyaWZpZWQgc3BlYyBv
biB0ZXh0YXJlYSBkZWZhdWx0VmFsdWUvdmFsdWUvY2hpbGQgdGV4dCBjb250ZW50CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzM4NzgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZS1zeW5jIFdQVCB0ZXN0
IGZyb20gdXBzdHJlYW0gYW5kIHJlYmFzZWxpbmUgdG8gaW1wcm92ZSB0ZXN0IGNvdmVyYWdlLgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10
ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3Ro
ZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC5odG1sOgor
CiAyMDE3LTA4LTA0ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBFbmFibGUgU2VydmljZVdvcmtlcnMgYXQgcnVudGltZSBmb3IgV2ViS2l0VGVzdFJ1bm5lci4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9yZXNvdXJjZXMvaW1wb3J0LWV4
cGVjdGF0aW9ucy5qc29uIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KaW5kZXggYzhkOTUxMGFiNjQ0YmUyZWI4Mzc2ZWQ0NzNmMDQ4
MGJkNzM4MDMwNC4uMjYzMzk3NDM2ZTU2YWM2NjMxMWVmMDNhMDFiNDY3ZmY3MzI5ODAzZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBvcnQtZXhwZWN0
YXRpb25zLmpzb24KKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3Jlc291cmNlcy9pbXBv
cnQtZXhwZWN0YXRpb25zLmpzb24KQEAgLTE5OCw2ICsxOTgsNyBAQAogICAgICJ3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtb2JqZWN0LWVsZW1l
bnQvb2JqZWN0LWV2ZW50cy5odG1sIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RleHRmaWVsZHNlbGVjdGlvbi9zZWxlY3QtZXZlbnQuaHRt
bCI6ICJza2lwIiwgCiAgICAgIndlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jt
cy90ZXh0ZmllbGRzZWxlY3Rpb24vdGV4dGZpZWxkc2VsZWN0aW9uLXNldFJhbmdlVGV4dC5odG1s
IjogInNraXAiLCAKKyAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L3RoZS10ZXh0YXJlYS1lbGVtZW50IjogImltcG9ydCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9zZW1hbnRpY3MvaW50ZXJhY3RpdmUtZWxlbWVudHMvdGhlLWRldGFpbHMtZWxlbWVu
dC90b2dnbGVFdmVudC5odG1sIjogInNraXAiLCAKICAgICAid2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvc2VtYW50aWNzL2ludGVyYWN0aXZlLWVsZW1lbnRzL3RoZS1zdW1tYXJ5LWVsZW1lbnQiOiAi
c2tpcCIsIAogICAgICJ3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvbGlua3MvbGlu
a3MtY3JlYXRlZC1ieS1hLWFuZC1hcmVhLWVsZW1lbnRzIjogInNraXAiLCAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250
ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVm
YXVsdFZhbHVlLXRleHRDb250ZW50LWV4cGVjdGVkLnR4dAppbmRleCBiZTc1YzM1MjBjZDI2ZThk
ZWQ2MDc5MjFkODMwYWI4YzJiY2Q1YTQ0Li42MjkwZjc1NTEyMWVjMzU2NzJlNGYzMjUzYjY1YjEx
OTQzM2E0MTEzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVl
LWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUt
dGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQtZXhwZWN0ZWQu
dHh0CkBAIC0xLDcgKzEsMTQgQEAKIAogUEFTUyBkZWZhdWx0VmFsdWUgYW5kIHZhbHVlIGFyZSB0
aGUgZW1wdHkgc3RyaW5nIGJ5IGRlZmF1bHQgCiBQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUg
YXJlIGFmZmVjdGVkIGJ5IHNldHRpbmcgdGV4dENvbnRlbnQgCitQQVNTIGRlZmF1bHRWYWx1ZSBh
bmQgdmFsdWUgYXJlIGFmZmVjdGVkIGJ5IHNldHRpbmcgbm9kZVZhbHVlIG9uIGEgY2hpbGQgdGV4
dCBub2RlIAorUEFTUyBkZWZhdWx0VmFsdWUgYW5kIHZhbHVlIGFyZSBhZmZlY3RlZCBieSBzZXR0
aW5nIGRhdGEgb24gYSBjaGlsZCB0ZXh0IG5vZGUgCiBQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFs
dWUgYXJlIGFmZmVjdGVkIGJ5IHRleHRDb250ZW50IGluIGNvbWJpbmF0aW9uIHdpdGggYXBwZW5k
aW5nIGEgdGV4dCBub2RlIAorUEFTUyBkZWZhdWx0VmFsdWUgYW5kIHZhbHVlIGFyZSBhZmZlY3Rl
ZCBieSB0ZXh0Q29udGVudCBpbiBjb21iaW5hdGlvbiB3aXRoIGFwcGVuZGluZyBhIERvY3VtZW50
RnJhZ21lbnQgCitQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgcmVmbGVjdCBjaGlsZCB0ZXh0
IGNvbnRlbnQsIG5vdCB0ZXh0Q29udGVudCAKK1BBU1MgU2V0dGluZyBkZWZhdWx0VmFsdWUgd2lw
ZXMgb3V0IGFueSBjaGlsZHJlbiwgaW5jbHVkaW5nIGVsZW1lbnRzIChqdXN0IGxpa2Ugc2V0dGlu
ZyB0ZXh0Q29udGVudCkgCiBQQVNTIGRlZmF1bHRWYWx1ZSBhbmQgdmFsdWUgdHJlYXQgQ1JMRiBk
aWZmZXJlbnRseSAKK1BBU1MgdmFsdWUgbm9ybWFsaXplcyBDUkxGIGV2ZW4gc3ByZWFkIG92ZXIg
bXVsdGlwbGUgdGV4dCBub2RlcyAKIFBBU1MgdGVzdHMgZm9yIHRoZSB2YWx1ZSBzZXR0ZXIgCitQ
QVNTIHRlc3RzIGZvciBVKzAwMDAgTlVMTCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4
dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQteGh0bWwtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUt
dGV4dENvbnRlbnQteGh0bWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkMWJlMTk0MWQ4MDM5
YjQ2NDY2YmM4YmEzNGIzN2U5ODZhZGQ3MDMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3Ro
ZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC14aHRtbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACisKK1BBU1MgZGVmYXVsdFZhbHVlIGFuZCB2YWx1
ZSBpbmNsdWRlIENEQVRBU2VjdGlvbiBUZXh0IG5vZGVzIAorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC14aHRt
bC54aHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVl
LXRleHRDb250ZW50LXhodG1sLnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0NjJlOTQ5MzUyODRmMGNiYmJm
OGZlMzA2NThmNzg5NDE0NTdjYWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10ZXh0
YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC14aHRtbC54aHRtbApA
QCAtMCwwICsxLDI2IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/Pgor
PGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorPGhlYWQ+Cis8dGl0
bGU+dGV4dGFyZWEgZWxlbWVudCB2YWx1ZS9kZWZhdWx0VmFsdWUvdGV4dENvbnRlbnQgZnVuY3Rp
b25hbGl0eTwvdGl0bGU+Cis8bGluayByZWw9ImF1dGhvciIgdGl0bGU9IkRvbWVuaWMgRGVuaWNv
bGEiIGhyZWY9Im1haWx0bzpkQGRvbWVuaWMubWUiLz4KKzxsaW5rIHJlbD0iaGVscCIgaHJlZj0i
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvI2RvbS10ZXh0YXJlYS12YWx1
ZSIvPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgorInVzZSBzdHJpY3QiOworCit0ZXN0KCgpID0+IHsK
KworICBjb25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7
CisKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlQ0RBVEFTZWN0aW9uKCJm
b28gYmFyIGJheiIpKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJm
b28gYmFyIGJheiIsICJ0aGUgZGVmYXVsdFZhbHVlIHNob3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29u
dGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciBiYXoiLAor
ICAgICJjaGFuZ2luZyB0aGUgY2hpbGQgdGV4dCBjb250ZW50IHNob3VsZCBjaGFuZ2UgdGhlIHJh
dyB2YWx1ZSwgYW5kIHN1YnNlcXVlbnRseSB0aGUgYXBpIHZhbHVlIik7CisKK30sICJkZWZhdWx0
VmFsdWUgYW5kIHZhbHVlIGluY2x1ZGUgQ0RBVEFTZWN0aW9uIFRleHQgbm9kZXMiKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEt
ZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhl
LXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRDb250ZW50Lmh0bWwKaW5k
ZXggZmExOTdjMzYxZDgwMzI2ZDY5YzMzZTJkNjE3NjkxNWE3OTdhNTE2MC4uYTFhNDA1ZmRiZTc1
NmFlNDVhMjVkNjMzYzdkNTBhMTI4MjkwZjk2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4
dGFyZWEtZWxlbWVudC92YWx1ZS1kZWZhdWx0VmFsdWUtdGV4dENvbnRlbnQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNz
L2Zvcm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVu
dC5odG1sCkBAIC0xLDUgKzEsNSBAQAogPCFET0NUWVBFIEhUTUw+Ci08dGl0bGU+dGV4dGFyZWEg
ZWxlbWVudCBzZWxlY3QoKSBmdW5jdGlvbmFsaXR5PC90aXRsZT4KKzx0aXRsZT50ZXh0YXJlYSBl
bGVtZW50IHZhbHVlL2RlZmF1bHRWYWx1ZS90ZXh0Q29udGVudCBmdW5jdGlvbmFsaXR5PC90aXRs
ZT4KIDxsaW5rIHJlbD0iYXV0aG9yIiB0aXRsZT0iRG9tZW5pYyBEZW5pY29sYSIgaHJlZj0ibWFp
bHRvOmRAZG9tZW5pYy5tZSI+CiA8bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vaHRtbC5z
cGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyNkb20tdGV4dGFyZWEtdmFsdWUiPgogPHNjcmlwdCBz
cmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgpAQCAtMjAsOCArMjAsOCBA
QCB0ZXN0KCgpID0+IHsKIHRlc3QoKCkgPT4gewogCiAgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKLSAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAi
Zm9vIGJhciI7CiAKKyAgdGV4dGFyZWEudGV4dENvbnRlbnQgPSAiZm9vIGJhciI7CiAgIGFzc2Vy
dF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vIGJhciIsICJ0aGUgZGVmYXVsdFZh
bHVlIHNob3VsZCByZWZsZWN0IHRoZSB0ZXh0Q29udGVudCIpOwogICBhc3NlcnRfZXF1YWxzKHRl
eHRhcmVhLnZhbHVlLCAiZm9vIGJhciIsCiAgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBz
aG91bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1
ZSIpOwpAQCAtMzEsOSArMzEsMzMgQEAgdGVzdCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKIAogICBj
b25zdCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CisKKyAg
dGV4dGFyZWEudGV4dENvbnRlbnQgPSAic29tZSB0ZXh0IjsKKyAgdGV4dGFyZWEuZmlyc3RDaGls
ZC5ub2RlVmFsdWUgPSAiZm9vIGJhciI7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVs
dFZhbHVlLCAiZm9vIGJhciIsICJ0aGUgZGVmYXVsdFZhbHVlIHNob3VsZCByZWZsZWN0IHRoZSB0
ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiZm9vIGJhciIs
CisgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcgdmFs
dWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOworCit9LCAiZGVmYXVsdFZhbHVl
IGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgc2V0dGluZyBub2RlVmFsdWUgb24gYSBjaGlsZCB0
ZXh0IG5vZGUiKTsKKwordGVzdCgoKSA9PiB7CisKKyAgY29uc3QgdGV4dGFyZWEgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworCisgIHRleHRhcmVhLnRleHRDb250ZW50ID0g
InNvbWUgdGV4dCI7CisgIHRleHRhcmVhLmZpcnN0Q2hpbGQuZGF0YSA9ICJmb28gYmFyIjsKKyAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28gYmFyIiwgInRoZSBkZWZh
dWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIHRleHRDb250ZW50Iik7CisgIGFzc2VydF9lcXVh
bHModGV4dGFyZWEudmFsdWUsICJmb28gYmFyIiwKKyAgICAiY2hhbmdpbmcgdGhlIHRleHRDb250
ZW50IHNob3VsZCBjaGFuZ2UgdGhlIHJhdyB2YWx1ZSwgYW5kIHN1YnNlcXVlbnRseSB0aGUgYXBp
IHZhbHVlIik7CisKK30sICJkZWZhdWx0VmFsdWUgYW5kIHZhbHVlIGFyZSBhZmZlY3RlZCBieSBz
ZXR0aW5nIGRhdGEgb24gYSBjaGlsZCB0ZXh0IG5vZGUiKTsKKwordGVzdCgoKSA9PiB7CisKKyAg
Y29uc3QgdGV4dGFyZWEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworCiAg
IHRleHRhcmVhLnRleHRDb250ZW50ID0gImZvbyBiYXIiOwogICB0ZXh0YXJlYS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIGJheiIpKTsKLQogICBhc3NlcnRfZXF1YWxzKHRl
eHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvbyBiYXIgYmF6IiwgInRoZSBkZWZhdWx0VmFsdWUgc2hv
dWxkIHJlZmxlY3QgdGhlIHRleHRDb250ZW50Iik7CiAgIGFzc2VydF9lcXVhbHModGV4dGFyZWEu
dmFsdWUsICJmb28gYmFyIGJheiIsCiAgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBzaG91
bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIp
OwpAQCAtNDMsOCArNjcsNjIgQEAgdGVzdCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKIAogICBjb25z
dCB0ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7Ci0gIHRleHRh
cmVhLnRleHRDb250ZW50ID0gImZvb1xyXG5iYXJccmJhelxucXV4IjsKKyAgdGV4dGFyZWEudGV4
dENvbnRlbnQgPSAiZm9vIGJhciI7CisKKyAgY29uc3QgZnJhZyA9IGRvY3VtZW50LmNyZWF0ZURv
Y3VtZW50RnJhZ21lbnQoKTsKKyAgZnJhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0
Tm9kZSgiIGJheiIpKTsKKyAgY29uc3QgZWwgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFu
Iik7CisgIGVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJxdXg/IikpOwor
ICBmcmFnLmFwcGVuZENoaWxkKGVsKTsKKyAgZnJhZy5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZSgiIGZpenoiKSk7CisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGZyYWcpOworCisg
IHRleHRhcmVhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgd2hlZSIpKTsK
KyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28gYmFyIGJheiBmaXp6
IHdoZWUiLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUgdGV4dENvbnRlbnQi
KTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImZvbyBiYXIgYmF6IGZpenogd2hl
ZSIsCisgICAgImNoYW5naW5nIHRoZSB0ZXh0Q29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcg
dmFsdWUsIGFuZCBzdWJzZXF1ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOworCit9LCAiZGVmYXVsdFZh
bHVlIGFuZCB2YWx1ZSBhcmUgYWZmZWN0ZWQgYnkgdGV4dENvbnRlbnQgaW4gY29tYmluYXRpb24g
d2l0aCBhcHBlbmRpbmcgYSBEb2N1bWVudEZyYWdtZW50Iik7CisKK3Rlc3QoKCkgPT4geworCisg
IGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsKKyAg
dGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImZvbyBiYXIiKSk7
CisKKyAgY29uc3QgY2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgIGNo
aWxkLnRleHRDb250ZW50ID0gImJheiI7CisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGNoaWxkKTsK
KworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnRleHRDb250ZW50LCAiZm9vIGJhcmJheiIsICJ0
aGUgdGV4dENvbnRlbnQgc2hvdWxkIGhhdmUgKmFsbCogdGhlIHRleHQgY29udGVudCIpOworICBh
c3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvbyBiYXIiLCAidGhlIGRlZmF1
bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUgY2hpbGQgdGV4dCBjb250ZW50Iik7CisgIGFzc2Vy
dF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28gYmFyIiwKKyAgICAiY2hhbmdpbmcgdGhlIGNo
aWxkIHRleHQgY29udGVudCBzaG91bGQgY2hhbmdlIHRoZSByYXcgdmFsdWUsIGFuZCBzdWJzZXF1
ZW50bHkgdGhlIGFwaSB2YWx1ZSIpOworCit9LCAiZGVmYXVsdFZhbHVlIGFuZCB2YWx1ZSByZWZs
ZWN0IGNoaWxkIHRleHQgY29udGVudCwgbm90IHRleHRDb250ZW50Iik7CisKK3Rlc3QoKCkgPT4g
eworCisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEi
KTsKKyAgdGV4dGFyZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImZvbyBi
YXIiKSk7CisKKyAgY29uc3QgY2hpbGQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
CisgIGNoaWxkLnRleHRDb250ZW50ID0gImJheiI7CisgIHRleHRhcmVhLmFwcGVuZENoaWxkKGNo
aWxkKTsKKworICB0ZXh0YXJlYS5kZWZhdWx0VmFsdWUgPSAiZm9vIjsKKworICBhc3NlcnRfZXF1
YWxzKHRleHRhcmVhLmNoaWxkTm9kZXMubGVuZ3RoLCAxLCAiT25seSBvbmUgY2hpbGQgbm9kZSBz
aG91bGQgZXhpc3QiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJm
b28iLCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgYmUgdGhlIG5ldyB0ZXh0Iik7CisgIGFzc2Vy
dF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb28iLCAidGhlIGFwaSB2YWx1ZSBzaG91bGQgYmUg
dGhlIG5ldyB0ZXh0Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudGV4dENvbnRlbnQsICJm
b28iLCAidGhlIHRleHRDb250ZW50IHNob3VsZCBiZSB0aGUgbmV3IHRleHQiKTsKIAorfSwgIlNl
dHRpbmcgZGVmYXVsdFZhbHVlIHdpcGVzIG91dCBhbnkgY2hpbGRyZW4sIGluY2x1ZGluZyBlbGVt
ZW50cyAoanVzdCBsaWtlIHNldHRpbmcgdGV4dENvbnRlbnQpIik7CisKK3Rlc3QoKCkgPT4gewor
CisgIGNvbnN0IHRleHRhcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTsK
KworICB0ZXh0YXJlYS50ZXh0Q29udGVudCA9ICJmb29cclxuYmFyXHJiYXpcbnF1eCI7CiAgIGFz
c2VydF9lcXVhbHModGV4dGFyZWEuZGVmYXVsdFZhbHVlLCAiZm9vXHJcbmJhclxyYmF6XG5xdXgi
LCAidGhlIGRlZmF1bHRWYWx1ZSBzaG91bGQgcmVmbGVjdCB0aGUgdGV4dENvbnRlbnQiKTsKICAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgImZvb1xuYmFyXG5iYXpcbnF1eCIsICJUaGUg
dmFsdWUgcHJvcGVydHkgc2hvdWxkIG5vcm1hbGl6ZSBDUkxGIGFuZCBDUiB0byBMRiIpOwogCkBA
IC01Myw5ICsxMzEsMjAgQEAgdGVzdCgoKSA9PiB7CiB0ZXN0KCgpID0+IHsKIAogICBjb25zdCB0
ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CisKKyAgdGV4dGFy
ZWEuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoImZvb1xyIikpOworICB0ZXh0
YXJlYS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXG5iYXJccmJhelxucXV4
IikpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLmRlZmF1bHRWYWx1ZSwgImZvb1xyXG5iYXJc
cmJhelxucXV4IiwgInRoZSBkZWZhdWx0VmFsdWUgc2hvdWxkIHJlZmxlY3QgdGhlIHRleHRDb250
ZW50Iik7CisgIGFzc2VydF9lcXVhbHModGV4dGFyZWEudmFsdWUsICJmb29cbmJhclxuYmF6XG5x
dXgiLCAiVGhlIHZhbHVlIHByb3BlcnR5IHNob3VsZCBub3JtYWxpemUgQ1JMRiBhbmQgQ1IgdG8g
TEYiKTsKKworfSwgInZhbHVlIG5vcm1hbGl6ZXMgQ1JMRiBldmVuIHNwcmVhZCBvdmVyIG11bHRp
cGxlIHRleHQgbm9kZXMiKTsKKwordGVzdCgoKSA9PiB7CisKKyAgY29uc3QgdGV4dGFyZWEgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ZXh0YXJlYSIpOworCiAgIHRleHRhcmVhLnRleHRDb250
ZW50ID0gImZvbyI7CiAgIHRleHRhcmVhLnZhbHVlID0gImJheiI7Ci0KICAgYXNzZXJ0X2VxdWFs
cyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJmb28iLCAic2V0dGluZyB0aGUgdmFsdWUgcHJvcGVy
dHkgc2hvdWxkIG5vdCBhZmZlY3QgdGhlIGRlZmF1bHRWYWx1ZSIpOwogICBhc3NlcnRfZXF1YWxz
KHRleHRhcmVhLnRleHRDb250ZW50LCAiZm9vIiwgInNldHRpbmcgdGhlIHZhbHVlIHByb3BlcnR5
IHNob3VsZCBub3QgYWZmZWN0IHRoZSB0ZXh0Q29udGVudCIpOwogICBhc3NlcnRfZXF1YWxzKHRl
eHRhcmVhLnZhbHVlLCAiYmF6IiwKQEAgLTY4LDQgKzE1NywyNSBAQCB0ZXN0KCgpID0+IHsKICAg
YXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS52YWx1ZSwgIiIsICJzZXR0aW5nIHRoZSB2YWx1ZSBwcm9w
ZXJ0eSB0byBudWxsIHNob3VsZCByZXN1bHQgaW4gYW4gZW1wdHkgc3RyaW5nIik7CiAKIH0sICJ0
ZXN0cyBmb3IgdGhlIHZhbHVlIHNldHRlciIpOworCit0ZXN0KCgpID0+IHsKKworICBjb25zdCB0
ZXh0YXJlYSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7CisKKyAgdGV4dGFy
ZWEuZGVmYXVsdFZhbHVlID0gImZvb1wwIjsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS5kZWZh
dWx0VmFsdWUsICJmb29cMCIsICJkZWZhdWx0VmFsdWUgYWZ0ZXIgc2V0dGluZyBkZWZhdWx0VmFs
dWUiKTsKKyAgYXNzZXJ0X2VxdWFscyh0ZXh0YXJlYS50ZXh0Q29udGVudCwgImZvb1wwIiwgInRl
eHRDb250ZW50IGFmdGVyIHNldHRpbmcgZGVmYXVsdFZhbHVlIik7CisgIGFzc2VydF9lcXVhbHMo
dGV4dGFyZWEudmFsdWUsICJmb29cMCIsICJ2YWx1ZSBhZnRlciBzZXR0aW5nIGRlZmF1bHRWYWx1
ZSIpOworCisgIHRleHRhcmVhLnRleHRDb250ZW50ID0gImJhclwwIjsKKyAgYXNzZXJ0X2VxdWFs
cyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJiYXJcMCIsICJkZWZhdWx0VmFsdWUgYWZ0ZXIgc2V0
dGluZyB0ZXh0Q29udGVudCIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnRleHRDb250ZW50
LCAiYmFyXDAiLCAidGV4dENvbnRlbnQgYWZ0ZXIgc2V0dGluZyB0ZXh0Q29udGVudCIpOworICBh
c3NlcnRfZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiYmFyXDAiLCAidmFsdWUgYWZ0ZXIgc2V0dGlu
ZyB0ZXh0Q29udGVudCIpOworCisgIHRleHRhcmVhLnZhbHVlID0gImJhelwwIjsKKyAgYXNzZXJ0
X2VxdWFscyh0ZXh0YXJlYS5kZWZhdWx0VmFsdWUsICJiYXJcMCIsICJkZWZhdWx0VmFsdWUgYWZ0
ZXIgc2V0dGluZyB2YWx1ZSIpOworICBhc3NlcnRfZXF1YWxzKHRleHRhcmVhLnRleHRDb250ZW50
LCAiYmFyXDAiLCAidGV4dENvbnRlbnQgYWZ0ZXIgc2V0dGluZyB2YWx1ZSIpOworICBhc3NlcnRf
ZXF1YWxzKHRleHRhcmVhLnZhbHVlLCAiYmF6XDAiLCAidmFsdWUgYWZ0ZXIgc2V0dGluZyB2YWx1
ZSIpOworCit9LCAidGVzdHMgZm9yIFUrMDAwMCBOVUxMIik7CiA8L3NjcmlwdD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdzNjLWltcG9ydC5sb2cgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L3RoZS10ZXh0YXJlYS1lbGVtZW50L3czYy1pbXBvcnQubG9nCmluZGV4IDdhOWJhMmNkMTU3N2Nk
YTU3MTI5Y2JlMTA3ZTI4MzM3YjMxMTA2MTQuLjgxNzQ4ODAzMjFiZmJkNmY2YzA0NzU3MmI1MmM2
ZDZkOTYyN2NiYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdzNj
LWltcG9ydC5sb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC93M2MtaW1wb3J0
LmxvZwpAQCAtMTgsNiArMTgsNyBAQCBMaXN0IG9mIGZpbGVzOgogL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvdGhlLXRleHRh
cmVhLWVsZW1lbnQvdGV4dGFyZWEtbmV3bGluZS1iaWRpLWV4cGVjdGVkLmh0bWwKIC9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1z
L3RoZS10ZXh0YXJlYS1lbGVtZW50L3RleHRhcmVhLW5ld2xpbmUtYmlkaS5odG1sCiAvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jt
cy90aGUtdGV4dGFyZWEtZWxlbWVudC90ZXh0YXJlYS10eXBlLmh0bWwKKy9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10
ZXh0YXJlYS1lbGVtZW50L3ZhbHVlLWRlZmF1bHRWYWx1ZS10ZXh0Q29udGVudC14aHRtbC54aHRt
bAogL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1h
bnRpY3MvZm9ybXMvdGhlLXRleHRhcmVhLWVsZW1lbnQvdmFsdWUtZGVmYXVsdFZhbHVlLXRleHRD
b250ZW50Lmh0bWwKIC9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvc2VtYW50aWNzL2Zvcm1zL3RoZS10ZXh0YXJlYS1lbGVtZW50L3dyYXAtcmVmbGVjdC0x
YS1leHBlY3RlZC5odG1sCiAvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jtcy90aGUtdGV4dGFyZWEtZWxlbWVudC93cmFwLXJlZmxl
Y3QtMWEuaHRtbAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>