<?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>147301</bug_id>
          
          <creation_ts>2015-07-25 21:06:34 -0700</creation_ts>
          <short_desc>Web Inspector: Start using Node.prototype.append</short_desc>
          <delta_ts>2015-07-27 15:29:26 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=147302</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nikita Vasilyev">nvasilyev</reporter>
          <assigned_to name="Nikita Vasilyev">nvasilyev</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>jonowells</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112267</commentid>
    <comment_count>0</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2015-07-25 21:06:34 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=74648 introduced Node.prototype.append, among a few other new DOM methods.

Convert the following code:

    element.appendChild(document.createTextNode(aString))

to

    element.append(aString)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112268</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-07-25 21:06:58 -0700</bug_when>
    <thetext>&lt;rdar://problem/22000352&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112269</commentid>
    <comment_count>2</comment_count>
      <attachid>257527</attachid>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2015-07-25 21:14:44 -0700</bug_when>
    <thetext>Created attachment 257527
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112285</commentid>
    <comment_count>3</comment_count>
      <attachid>257527</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 22:47:54 -0700</bug_when>
    <thetext>Comment on attachment 257527
Patch

Clearing flags on attachment: 257527

Committed r187402: &lt;http://trac.webkit.org/changeset/187402&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112286</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-07-25 22:47:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1112532</commentid>
    <comment_count>5</comment_count>
      <attachid>257527</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-07-27 15:29:26 -0700</bug_when>
    <thetext>Comment on attachment 257527
Patch

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

Nice!

&gt; Source/WebInspectorUI/UserInterface/Models/Breakpoint.js:399
&gt;          checkboxLabel.appendChild(checkboxElement);
&gt; -        checkboxLabel.appendChild(document.createTextNode(this._sourceCodeLocation.displayLocationString()));
&gt; +        checkboxLabel.append(this._sourceCodeLocation.displayLocationString());

Cases like this, where we have multiple appends in a row, we can reduce to a single append call:

From:

    checkboxLabel.appendChild(checkboxElement);
    checkboxLabel.append(text);

To:

    checkboxLabel.append(checkboxElement, text);

&gt; Source/WebInspectorUI/UserInterface/Views/BoxModelDetailsSectionRow.js:219
&gt; +                boxElement.append(widthElement, &quot; \u00D7 &quot;, heightElement);

Which I see you did here.

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDetailsSidebarPanel.js:59
&gt;                  labelElement.appendChild(checkboxElement);
&gt; -                labelElement.appendChild(document.createTextNode(label));
&gt; +                labelElement.append(label);

Another case.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>257527</attachid>
            <date>2015-07-25 21:14:44 -0700</date>
            <delta_ts>2015-07-25 22:47:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>37683</size>
            <attacher name="Nikita Vasilyev">nvasilyev</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDdjYWJjOWIuLjBiMGFmNzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDE1LTA3LTI1ICBOaWtpdGEgVmFzaWx5
ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFN0YXJ0
IHVzaW5nIE5vZGUucHJvdG90eXBlLmFwcGVuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3MzAxCisKKyAgICAgICAgQ29udmVydCBhbGwgaW5zdGFu
Y2VzIG9mIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYVN0cmlu
ZykpCisgICAgICAgIHRvIGVsZW1lbnQuYXBwZW5kKGFTdHJpbmcpLgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9CYXNlL0RP
TVV0aWxpdGllcy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5saW5raWZ5TG9jYXRpb24pOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdtZW50V2l0aEN1c3RvbUxpbmtpZmllcik6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9Nb2RlbHMvQnJlYWtwb2ludC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5CcmVha3BvaW50LnByb3RvdHlwZS5fZWRpdEJyZWFrcG9pbnRQb3BvdmVyQ29udGVudEVs
ZW1lbnQpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9kZWxEZXRhaWxzU2Vj
dGlvblJvdy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Cb3hNb2RlbERldGFpbHNTZWN0aW9u
Um93LnByb3RvdHlwZS5fdXBkYXRlTWV0cmljcyk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUucmVmcmVzaCk6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5wcm90b3R5cGUuX2NyZWF0
ZUxlZ2VuZEl0ZW0pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3Nh
Z2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnNvbGVNZXNzYWdlVmlldy5wcm90
b3R5cGUuX2FwcGVuZE1lc3NhZ2VUZXh0QW5kQXJndW1lbnRzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db25zb2xlTWVzc2FnZVZpZXcucHJvdG90eXBlLl9hcHBlbmRGb3JtYXR0ZWRBcmd1bWVu
dHMpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwucHJvdG90eXBlLl9yZWZyZXNoQWNjZXNzaWJpbGl0eS5hY2Nlc3NpYmlsaXR5UHJvcGVydGll
c0NhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQ
YW5lbC5wcm90b3R5cGUuX3JlZnJlc2hBY2Nlc3NpYmlsaXR5KToKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TVRyZWVFbGVtZW50LnByb3RvdHlwZS5faW5zZXJ0SW5MYXN0QXR0cmlidXRlUG9zaXRpb24pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50LnByb3RvdHlwZS5fYnVpbGRBdHRy
aWJ1dGVET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50LnByb3RvdHlw
ZS5fYnVpbGRUYWdET00pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50LnBy
b3RvdHlwZS5fbm9kZVRpdGxlSW5mbyk6CisgICAgICAgIGRlZmF1bHRFbGVtZW50IHZhcmlhYmxl
IGlzIHVudXNlZCwgcmVtb3ZlIGl0LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
YXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBl
LmNyZWF0ZUNlbGwuZ2V0IGlmKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUu
cHJvdG90eXBlLmNyZWF0ZUNlbGwpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGVi
dWdnZXJEYXNoYm9hcmRWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyRGFz
aGJvYXJkVmlldy5wcm90b3R5cGUuX3JlYnVpbGRMb2NhdGlvbik6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAucHJvdG90eXBlLl9mdW5jdGlvblRl
eHRPckxpbmspOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3Jv
dXApOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRm9ybWF0dGVkVmFsdWUuanM6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuRm9ybWF0dGVkVmFsdWUuY3JlYXRlTGlua2lmaWVkRWxlbWVu
dFN0cmluZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRm9ybWF0dGVkVmFsdWUuY3JlYXRlRWxl
bWVudEZvck5vZGVQcmV2aWV3KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL09iamVj
dFByZXZpZXdWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk9iamVjdFByZXZpZXdWaWV3
LnByb3RvdHlwZS5fYXBwZW5kRW50cnlQcmV2aWV3cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
T2JqZWN0UHJldmlld1ZpZXcucHJvdG90eXBlLl9hcHBlbmRQcm9wZXJ0eVByZXZpZXdzKToKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwucHJv
dG90eXBlLl9yZWZyZXNoUmVxdWVzdERhdGFTZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2Uv
Vmlld3MvUnVsZXNTdHlsZURldGFpbHNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5S
dWxlc1N0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5yZWZyZXNoLmFkZE5ld1J1bGVCdXR0b24p
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBl
LnJlZnJlc2guaW5zZXJ0TWVkaWFPckluaGVyaXRhbmNlTGFiZWwpOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU2VhcmNoUmVzdWx0VHJlZUVsZW1lbnQudHJ1bmNhdGVBbmRIaWdobGlnaHRUaXRs
ZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TeW50YXhIaWdobGlnaHRpbmdTdXBw
b3J0LmpzOgorICAgICAgICAoLmFwcGVuZFRleHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLnN5
bnRheEhpZ2hsaWdodFN0cmluZ0FzRG9jdW1lbnRGcmFnbWVudCk6CisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZURhdGFHcmlkTm9kZS5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZURhdGFHcmlkTm9kZS5wcm90b3R5cGUuY3JlYXRlQ2VsbENvbnRlbnQpOgor
CiAyMDE1LTA3LTI0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogQWRkIGN1c3RvbSBwYXJhbWV0ZXIgbGlzdHMgZm9yIG5ldyBE
T00gYXBwZW5kL3ByZXBlbmQvYmVmb3JlL2FmdGVyL3JlcGxhY2VXaXRoIG1ldGhvZHMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvRE9NVXRpbGl0
aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGls
aXRpZXMuanMKaW5kZXggZGNhZmY0ZS4uMDY1NTQ5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9ET01VdGlsaXRpZXMuanMKQEAgLTky
LDcgKzkyLDcgQEAgV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJlbmNlID0gZnVuY3Rpb24o
bm9kZSkKICAgICB2YXIgZGlzcGxheU5hbWUgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JO
b2RlKG5vZGUpOwogCiAgICAgdmFyIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFu
Iik7Ci0gICAgbGluay5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkaXNwbGF5
TmFtZSkpOworICAgIGxpbmsuYXBwZW5kKGRpc3BsYXlOYW1lKTsKICAgICBsaW5rLnNldEF0dHJp
YnV0ZSgicm9sZSIsICJsaW5rIik7CiAgICAgbGluay5jbGFzc05hbWUgPSAibm9kZS1saW5rIjsK
ICAgICBsaW5rLnRpdGxlID0gZGlzcGxheU5hbWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggYjRlYmYwZi4uZGExZDdkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9NYWluLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFpbi5qcwpA
QCAtMTgxNCw3ICsxODE0LDcgQEAgV2ViSW5zcGVjdG9yLmxpbmtpZnlMb2NhdGlvbiA9IGZ1bmN0
aW9uKHVybCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjbGFzc05hbWUKICAgICAgICAgYW5j
aG9yLmxpbmVOdW1iZXIgPSBsaW5lTnVtYmVyOwogICAgICAgICBpZiAoY2xhc3NOYW1lKQogICAg
ICAgICAgICAgYW5jaG9yLmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsKLSAgICAgICAgYW5jaG9yLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKFdlYkluc3BlY3Rvci5kaXNwbGF5TmFt
ZUZvclVSTCh1cmwpICsgIjoiICsgbGluZU51bWJlcikpOworICAgICAgICBhbmNob3IuYXBwZW5k
KFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTCh1cmwpICsgIjoiICsgbGluZU51bWJlcik7
CiAgICAgICAgIHJldHVybiBhbmNob3I7CiAgICAgfQogCkBAIC0xODgzLDcgKzE4ODMsNyBAQCBX
ZWJJbnNwZWN0b3IubGlua2lmeVN0cmluZ0FzRnJhZ21lbnRXaXRoQ3VzdG9tTGlua2lmaWVyID0g
ZnVuY3Rpb24oc3RyaW5nLCBsaW5raQogICAgICAgICBsaW5rU3RyaW5nID0gbGlua1N0cmluZ1sw
XTsKICAgICAgICAgdmFyIGxpbmtJbmRleCA9IHN0cmluZy5pbmRleE9mKGxpbmtTdHJpbmcpOwog
ICAgICAgICB2YXIgbm9uTGluayA9IHN0cmluZy5zdWJzdHJpbmcoMCwgbGlua0luZGV4KTsKLSAg
ICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG5vbkxp
bmspKTsKKyAgICAgICAgY29udGFpbmVyLmFwcGVuZChub25MaW5rKTsKIAogICAgICAgICB2YXIg
dGl0bGUgPSBsaW5rU3RyaW5nOwogICAgICAgICB2YXIgcmVhbFVSTCA9IChsaW5rU3RyaW5nLnN0
YXJ0c1dpdGgoInd3dy4iKSA/ICJodHRwOi8vIiArIGxpbmtTdHJpbmcgOiBsaW5rU3RyaW5nKTsK
QEAgLTE4OTcsNyArMTg5Nyw3IEBAIFdlYkluc3BlY3Rvci5saW5raWZ5U3RyaW5nQXNGcmFnbWVu
dFdpdGhDdXN0b21MaW5raWZpZXIgPSBmdW5jdGlvbihzdHJpbmcsIGxpbmtpCiAgICAgfQogCiAg
ICAgaWYgKHN0cmluZykKLSAgICAgICAgY29udGFpbmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKHN0cmluZykpOworICAgICAgICBjb250YWluZXIuYXBwZW5kKHN0cmluZyk7
CiAKICAgICByZXR1cm4gY29udGFpbmVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9CcmVha3BvaW50LmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0JyZWFrcG9pbnQuanMKaW5kZXggMjAyMGFj
OC4uZGFjODZiOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL0JyZWFrcG9pbnQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0JyZWFrcG9pbnQuanMKQEAgLTM5Niw3ICszOTYsNyBAQCBXZWJJbnNw
ZWN0b3IuQnJlYWtwb2ludCA9IGNsYXNzIEJyZWFrcG9pbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAgICAgICAgIHZhciBjaGVja2JveExhYmVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgibGFiZWwiKTsKICAgICAgICAgY2hlY2tib3hMYWJlbC5jbGFzc05hbWUgPSAidG9nZ2xlIjsK
ICAgICAgICAgY2hlY2tib3hMYWJlbC5hcHBlbmRDaGlsZChjaGVja2JveEVsZW1lbnQpOwotICAg
ICAgICBjaGVja2JveExhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHRo
aXMuX3NvdXJjZUNvZGVMb2NhdGlvbi5kaXNwbGF5TG9jYXRpb25TdHJpbmcoKSkpOworICAgICAg
ICBjaGVja2JveExhYmVsLmFwcGVuZCh0aGlzLl9zb3VyY2VDb2RlTG9jYXRpb24uZGlzcGxheUxv
Y2F0aW9uU3RyaW5nKCkpOwogCiAgICAgICAgIHZhciB0YWJsZSA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInRhYmxlIik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Cb3hNb2RlbERldGFpbHNTZWN0aW9uUm93
LmpzCmluZGV4IDUwODgwNTcuLjQzYmU2ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQm94TW9kZWxEZXRh
aWxzU2VjdGlvblJvdy5qcwpAQCAtMjE2LDEwICsyMTYsNyBAQCBXZWJJbnNwZWN0b3IuQm94TW9k
ZWxEZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIEJveE1vZGVsRGV0YWlsc1NlY3Rpb25Sb3cgZXh0
ZW5kcwogICAgICAgICAgICAgaWYgKG5hbWUgPT09ICJjb250ZW50IikgewogICAgICAgICAgICAg
ICAgIHZhciB3aWR0aEVsZW1lbnQgPSBjcmVhdGVDb250ZW50QXJlYVdpZHRoRWxlbWVudC5jYWxs
KHRoaXMsIHN0eWxlKTsKICAgICAgICAgICAgICAgICB2YXIgaGVpZ2h0RWxlbWVudCA9IGNyZWF0
ZUNvbnRlbnRBcmVhSGVpZ2h0RWxlbWVudC5jYWxsKHRoaXMsIHN0eWxlKTsKLQotICAgICAgICAg
ICAgICAgIGJveEVsZW1lbnQuYXBwZW5kQ2hpbGQod2lkdGhFbGVtZW50KTsKLSAgICAgICAgICAg
ICAgICBib3hFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgXHUw
MEQ3ICIpKTsKLSAgICAgICAgICAgICAgICBib3hFbGVtZW50LmFwcGVuZENoaWxkKGhlaWdodEVs
ZW1lbnQpOworICAgICAgICAgICAgICAgIGJveEVsZW1lbnQuYXBwZW5kKHdpZHRoRWxlbWVudCwg
IiBcdTAwRDcgIiwgaGVpZ2h0RWxlbWVudCk7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgICAgIHZhciBzdWZmaXggPSAobmFtZSA9PT0gImJvcmRlciIgPyAiLXdpZHRoIiA6ICIi
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwppbmRleCA1
ODU4NTdhLi4wYzZmMzUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5qcwpAQCAtMTc4LDcgKzE3OCw3IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX29yaWdpbkVsZW1lbnQucmVt
b3ZlQ2hpbGRyZW4oKTsKICAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50cyA9IFtdOwogCi0g
ICAgICAgIHRoaXMuX29yaWdpbkVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIiBcdTIwMTQgIikpOworICAgICAgICB0aGlzLl9vcmlnaW5FbGVtZW50LmFwcGVuZCgi
IFx1MjAxNCAiKTsKIAogICAgICAgICBmdW5jdGlvbiBhcHBlbmRTZWxlY3RvcihzZWxlY3Rvciwg
bWF0Y2hlZCkKICAgICAgICAgewpAQCAtMjMxLDcgKzIzMSw3IEBAIFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgICAgICAgICAgZm9y
ICh2YXIgaSA9IDA7IGkgPCBzZWxlY3RvcnMubGVuZ3RoOyArK2kpIHsKICAgICAgICAgICAgICAg
ICAgICAgYXBwZW5kU2VsZWN0b3IuY2FsbCh0aGlzLCBzZWxlY3RvcnNbaV0sIGFsd2F5c01hdGNo
IHx8IG1hdGNoZWRTZWxlY3RvckluZGljZXMuaW5jbHVkZXMoaSkpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAoaSA8IHNlbGVjdG9ycy5sZW5ndGggLSAxKQotICAgICAgICAgICAgICAgICAgICAg
ICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHRO
b2RlKCIsICIpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVu
dC5hcHBlbmQoIiwgIik7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlCiAg
ICAgICAgICAgICAgICAgYXBwZW5kU2VsZWN0b3JUZXh0S25vd25Ub01hdGNoLmNhbGwodGhpcywg
dGhpcy5fc3R5bGUub3duZXJSdWxlLnNlbGVjdG9yVGV4dCk7CkBAIC0yNjEsMTkgKzI2MSwxOSBA
QCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewog
CiAgICAgICAgICAgICAgICAgY29uc29sZS5hc3NlcnQob3JpZ2luU3RyaW5nKTsKICAgICAgICAg
ICAgICAgICBpZiAob3JpZ2luU3RyaW5nKQotICAgICAgICAgICAgICAgICAgICB0aGlzLl9vcmln
aW5FbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG9yaWdpblN0cmlu
ZykpOworICAgICAgICAgICAgICAgICAgICB0aGlzLl9vcmlnaW5FbGVtZW50LmFwcGVuZChvcmln
aW5TdHJpbmcpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBicmVhazsKIAogICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuSW5saW5lOgogICAg
ICAgICAgICAgYXBwZW5kU2VsZWN0b3JUZXh0S25vd25Ub01hdGNoLmNhbGwodGhpcywgV2ViSW5z
cGVjdG9yLmRpc3BsYXlOYW1lRm9yTm9kZSh0aGlzLl9zdHlsZS5ub2RlKSk7Ci0gICAgICAgICAg
ICB0aGlzLl9vcmlnaW5FbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUgQXR0cmlidXRlIikpKTsKKyAgICAgICAgICAg
IHRoaXMuX29yaWdpbkVsZW1lbnQuYXBwZW5kKFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUg
QXR0cmlidXRlIikpOwogICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5UeXBlLkF0dHJpYnV0ZToKICAgICAgICAgICAgIGFw
cGVuZFNlbGVjdG9yVGV4dEtub3duVG9NYXRjaC5jYWxsKHRoaXMsIFdlYkluc3BlY3Rvci5kaXNw
bGF5TmFtZUZvck5vZGUodGhpcy5fc3R5bGUubm9kZSkpOwotICAgICAgICAgICAgdGhpcy5fb3Jp
Z2luRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkhUTUwgQXR0cmlidXRlcyIpKSk7CisgICAgICAgICAgICB0aGlzLl9vcmln
aW5FbGVtZW50LmFwcGVuZChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhUTUwgQXR0cmlidXRlcyIp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfSwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L0NTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCBhYzM2NGM3Li5lNzMzMTVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NT
dHlsZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC01Niw3
ICs1Niw3IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFz
cyBDU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0CiAgICAgICAgICAgICAgICAgdGhpcy5f
Zm9yY2VkUHNldWRvQ2xhc3NDaGVja2JveGVzW3BzZXVkb0NsYXNzXSA9IGNoZWNrYm94RWxlbWVu
dDsKIAogICAgICAgICAgICAgICAgIGxhYmVsRWxlbWVudC5hcHBlbmRDaGlsZChjaGVja2JveEVs
ZW1lbnQpOwotICAgICAgICAgICAgICAgIGxhYmVsRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShsYWJlbCkpOworICAgICAgICAgICAgICAgIGxhYmVsRWxlbWVudC5h
cHBlbmQobGFiZWwpOwogCiAgICAgICAgICAgICAgICAgaWYgKCFncm91cEVsZW1lbnQgfHwgZ3Jv
dXBFbGVtZW50LmNoaWxkcmVuLmxlbmd0aCA9PT0gMikgewogICAgICAgICAgICAgICAgICAgICBn
cm91cEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWlsc1Nl
Y3Rpb25Sb3cuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9D
aGFydERldGFpbHNTZWN0aW9uUm93LmpzCmluZGV4IDQxMTQ4NTcuLjcyNjYxNzEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWls
c1NlY3Rpb25Sb3cuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5qcwpAQCAtMTI0LDggKzEyNCw3IEBAIFdlYklu
c3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2VjdGlv
blJvdyBleHRlbmRzIFdlYkluCiAKICAgICAgICAgdmFyIGxhYmVsRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICBsYWJlbEVsZW1lbnQuY2xhc3NOYW1lID0g
ImxhYmVsIjsKLSAgICAgICAgbGFiZWxFbGVtZW50LmFwcGVuZENoaWxkKGNvbG9yU3dhdGNoRWxl
bWVudCk7Ci0gICAgICAgIGxhYmVsRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShpdGVtLmxhYmVsKSk7CisgICAgICAgIGxhYmVsRWxlbWVudC5hcHBlbmQoY29sb3JT
d2F0Y2hFbGVtZW50LCBpdGVtLmxhYmVsKTsKIAogICAgICAgICB2YXIgdmFsdWVFbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgIHZhbHVlRWxlbWVudC5jbGFz
c05hbWUgPSAidmFsdWUiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29uc29sZU1lc3NhZ2VWaWV3LmpzCmluZGV4IDgxYTZl
YjQuLmEzYmE1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0NvbnNvbGVNZXNzYWdlVmlldy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9Db25zb2xlTWVzc2FnZVZpZXcuanMKQEAgLTIyOCw3ICsy
MjgsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VWaWV3ID0gY2xhc3MgQ29uc29sZU1l
c3NhZ2VWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAgICAgICAgICAgc3dpdGNoICh0aGlz
Ll9tZXNzYWdlLnR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNvbnNvbGVN
ZXNzYWdlLk1lc3NhZ2VUeXBlLlRyYWNlOgogICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBXZSBz
aG91bGQgdXNlIGEgYmV0dGVyIHN0cmluZyB0aGVuIGNvbnNvbGUudHJhY2UuCi0gICAgICAgICAg
ICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiY29uc29s
ZS50cmFjZSgpIikpOworICAgICAgICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCJjb25zb2xlLnRy
YWNlKCkiKTsKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgY2FzZSBXZWJJ
bnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuQXNzZXJ0OgpAQCAtMjU2LDcgKzI1
Niw3IEBAIFdlYkluc3BlY3Rvci5Db25zb2xlTWVzc2FnZVZpZXcgPSBjbGFzcyBDb25zb2xlTWVz
c2FnZVZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuCiAgICAgICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5Db25zb2xlTWVzc2FnZS5NZXNzYWdlVHlwZS5TdGFydEdyb3VwOgogICAgICAgICAgICAg
Y2FzZSBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2UuTWVzc2FnZVR5cGUuU3RhcnRHcm91cENv
bGxhcHNlZDoKICAgICAgICAgICAgICAgICB2YXIgZ3JvdXBOYW1lID0gdGhpcy5fbWVzc2FnZS5t
ZXNzYWdlVGV4dCB8fCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdyb3VwIik7Ci0gICAgICAgICAg
ICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShncm91cE5h
bWUpKTsKKyAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZChncm91cE5hbWUpOwogICAgICAg
ICAgICAgICAgIHRoaXMuX2V4dHJhUGFyYW1ldGVycyA9IG51bGw7CiAgICAgICAgICAgICAgICAg
YnJlYWs7CiAKQEAgLTQzMCw3ICs0MzAsNyBAQCBXZWJJbnNwZWN0b3IuQ29uc29sZU1lc3NhZ2VW
aWV3ID0gY2xhc3MgQ29uc29sZU1lc3NhZ2VWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLgogICAg
ICAgICAgICAgdGhpcy5fZXh0cmFQYXJhbWV0ZXJzID0gcGFyYW1ldGVyczsKICAgICAgICAgfSBl
bHNlIHsKICAgICAgICAgICAgIHZhciBkZWZhdWx0TWVzc2FnZSA9IFdlYkluc3BlY3Rvci5VSVN0
cmluZygiTm8gbWVzc2FnZSIpOwotICAgICAgICAgICAgYnVpbGRlckVsZW1lbnQuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZGVmYXVsdE1lc3NhZ2UpKTsKKyAgICAgICAgICAg
IGJ1aWxkZXJFbGVtZW50LmFwcGVuZChkZWZhdWx0TWVzc2FnZSk7CiAgICAgICAgIH0KIAogICAg
ICAgICAvLyBUcmFpbGluZyBwYXJhbWV0ZXJzLgpAQCAtNDU5LDcgKzQ1OSw3IEBAIFdlYkluc3Bl
Y3Rvci5Db25zb2xlTWVzc2FnZVZpZXcgPSBjbGFzcyBDb25zb2xlTWVzc2FnZVZpZXcgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2V4dHJhUGFyYW1ldGVy
cyA9IG51bGw7CiAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIC8vIE11bHRp
cGxlIG9iamVjdHMuIFNob3cgYW4gaW5kaWNhdG9yLgotICAgICAgICAgICAgICAgIGJ1aWxkZXJF
bGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOworICAgICAg
ICAgICAgICAgIGJ1aWxkZXJFbGVtZW50LmFwcGVuZCgiICIpOwogICAgICAgICAgICAgICAgIHZh
ciBlbmNsb3NlZEVsZW1lbnQgPSBidWlsZGVyRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJzcGFuIikpOwogICAgICAgICAgICAgICAgIGVuY2xvc2VkRWxlbWVudC5j
bGFzc0xpc3QuYWRkKCJjb25zb2xlLW1lc3NhZ2UtZW5jbG9zZWQiKTsKICAgICAgICAgICAgICAg
ICBlbmNsb3NlZEVsZW1lbnQudGV4dENvbnRlbnQgPSAiKCIgKyBwYXJhbWV0ZXJzLmxlbmd0aCAr
ICIpIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXgg
ODFkYjIwMC4uOWE5OTE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwuanMKQEAgLTQxNiwxMCArNDE2LDEwIEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWls
c1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAg
ICAgICAgICAgICAgICAgICAgICAgICBsaXZlUmVnaW9uU3RhdHVzTm9kZSA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgICAgICAgICAgICAgICAgICAgICAgbGl2ZVJlZ2lvblN0
YXR1c05vZGUuY2xhc3NOYW1lID0gInZhbHVlLXdpdGgtY2xhcmlmaWNhdGlvbiI7CiAgICAgICAg
ICAgICAgICAgICAgICAgICBsaXZlUmVnaW9uU3RhdHVzTm9kZS5zZXRBdHRyaWJ1dGUoInJvbGUi
LCAidGV4dCIpOwotICAgICAgICAgICAgICAgICAgICAgICAgbGl2ZVJlZ2lvblN0YXR1c05vZGUu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobGl2ZVJlZ2lvblN0YXR1cykpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgbGl2ZVJlZ2lvblN0YXR1c05vZGUuYXBwZW5kKGxpdmVS
ZWdpb25TdGF0dXMpOwogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGNsYXJpZmljYXRpb25O
b2RlID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICAgICAgICAg
ICAgICBjbGFyaWZpY2F0aW9uTm9kZS5jbGFzc05hbWUgPSAiY2xhcmlmaWNhdGlvbiI7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjbGFyaWZpY2F0aW9uTm9kZS5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlZ2lvbiBhbm5vdW5jZWQg
aW4gaXRzIGVudGlyZXR5LiIpKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBjbGFyaWZpY2F0
aW9uTm9kZS5hcHBlbmQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZWdpb24gYW5ub3VuY2VkIGlu
IGl0cyBlbnRpcmV0eS4iKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICBsaXZlUmVnaW9uU3Rh
dHVzTm9kZS5hcHBlbmRDaGlsZChjbGFyaWZpY2F0aW9uTm9kZSk7CiAgICAgICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01UcmVlRWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCmluZGV4IDI2Y2Yx
N2QuLjcwODhiMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0RPTVRyZWVFbGVtZW50LmpzCkBAIC01NjIsOSArNTYyLDcgQEAg
V2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICB2YXIg
bm9kZU5hbWUgPSB0YWcudGV4dENvbnRlbnQubWF0Y2goL148KC4qPyk+JC8pWzFdOwogICAgICAg
ICAgICAgdGFnLnRleHRDb250ZW50ID0gIiI7Ci0gICAgICAgICAgICB0YWcuYXBwZW5kQ2hpbGQo
ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIjwiICsgbm9kZU5hbWUpKTsKLSAgICAgICAgICAgIHRh
Zy5hcHBlbmRDaGlsZChub2RlKTsKLSAgICAgICAgICAgIHRhZy5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiPiIpKTsKKyAgICAgICAgICAgIHRhZy5hcHBlbmQoIjwiICsgbm9k
ZU5hbWUsIG5vZGUsICI+Iik7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLnVwZGF0ZVNlbGVj
dGlvbigpOwpAQCAtMTA0NSw3ICsxMDQzLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50
ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAg
ICAgICAgYXR0ck5hbWVFbGVtZW50LnRleHRDb250ZW50ID0gbmFtZTsKIAogICAgICAgICBpZiAo
aGFzVGV4dCkKLSAgICAgICAgICAgIGF0dHJTcGFuRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZSgiPVx1MjAwQlwiIikpOworICAgICAgICAgICAgYXR0clNwYW5FbGVt
ZW50LmFwcGVuZCgiPVx1MjAwQlwiIik7CiAKICAgICAgICAgaWYgKG5hbWUgPT09ICJzcmMiIHx8
IG5hbWUgPT09ICJocmVmIikgewogICAgICAgICAgICAgdmFyIGJhc2VVUkwgPSBub2RlLm93bmVy
RG9jdW1lbnQgPyBub2RlLm93bmVyRG9jdW1lbnQuZG9jdW1lbnRVUkwgOiBudWxsOwpAQCAtMTA3
Myw3ICsxMDcxLDcgQEAgV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJl
ZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVHJlZUVsZW0KICAgICAgICAgfQogCiAgICAg
ICAgIGlmIChoYXNUZXh0KQotICAgICAgICAgICAgYXR0clNwYW5FbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcIiIpKTsKKyAgICAgICAgICAgIGF0dHJTcGFuRWxl
bWVudC5hcHBlbmQoIlwiIik7CiAgICAgfQogCiAgICAgX2J1aWxkVGFnRE9NKHBhcmVudEVsZW1l
bnQsIHRhZ05hbWUsIGlzQ2xvc2luZ1RhZywgaXNEaXN0aW5jdFRyZWVFbGVtZW50KQpAQCAtMTA4
NSwxOSArMTA4MywxOSBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01U
cmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UcmVlRWxlbQogICAgICAgICBpZiAobm9k
ZS5pc0luU2hhZG93VHJlZSgpKQogICAgICAgICAgICAgY2xhc3Nlcy5wdXNoKCJzaGFkb3ciKTsK
ICAgICAgICAgdmFyIHRhZ0VsZW1lbnQgPSBwYXJlbnRFbGVtZW50LmNyZWF0ZUNoaWxkKCJzcGFu
IiwgY2xhc3Nlcy5qb2luKCIgIikpOwotICAgICAgICB0YWdFbGVtZW50LmFwcGVuZENoaWxkKGRv
Y3VtZW50LmNyZWF0ZVRleHROb2RlKCI8IikpOworICAgICAgICB0YWdFbGVtZW50LmFwcGVuZCgi
PCIpOwogICAgICAgICB2YXIgdGFnTmFtZUVsZW1lbnQgPSB0YWdFbGVtZW50LmNyZWF0ZUNoaWxk
KCJzcGFuIiwgaXNDbG9zaW5nVGFnID8gIiIgOiAiaHRtbC10YWctbmFtZSIpOwogICAgICAgICB0
YWdOYW1lRWxlbWVudC50ZXh0Q29udGVudCA9IChpc0Nsb3NpbmdUYWcgPyAiLyIgOiAiIikgKyB0
YWdOYW1lOwogICAgICAgICBpZiAoIWlzQ2xvc2luZ1RhZyAmJiBub2RlLmhhc0F0dHJpYnV0ZXMo
KSkgewogICAgICAgICAgICAgdmFyIGF0dHJpYnV0ZXMgPSBub2RlLmF0dHJpYnV0ZXMoKTsKICAg
ICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXR0cmlidXRlcy5sZW5ndGg7ICsraSkgewog
ICAgICAgICAgICAgICAgIHZhciBhdHRyID0gYXR0cmlidXRlc1tpXTsKLSAgICAgICAgICAgICAg
ICB0YWdFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgIikpOwor
ICAgICAgICAgICAgICAgIHRhZ0VsZW1lbnQuYXBwZW5kKCIgIik7CiAgICAgICAgICAgICAgICAg
dGhpcy5fYnVpbGRBdHRyaWJ1dGVET00odGFnRWxlbWVudCwgYXR0ci5uYW1lLCBhdHRyLnZhbHVl
LCBub2RlKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICB0YWdFbGVtZW50LmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCI+IikpOwotICAgICAgICBwYXJlbnRF
bGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcdTIwMEIiKSk7Cisg
ICAgICAgIHRhZ0VsZW1lbnQuYXBwZW5kKCI+Iik7CisgICAgICAgIHBhcmVudEVsZW1lbnQuYXBw
ZW5kKCJcdTIwMEIiKTsKICAgICB9CiAKICAgICBfbm9kZVRpdGxlSW5mbygpCkBAIC0xMTQ0LDcg
KzExNDIsNyBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01UcmVlRWxl
bWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UcmVlRWxlbQogICAgICAgICAgICAgICAgICAgICBp
ZiAodGhpcy5oYXNDaGlsZHJlbikgewogICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHRleHRO
b2RlRWxlbWVudCA9IGluZm8udGl0bGVET00uY3JlYXRlQ2hpbGQoInNwYW4iLCAiaHRtbC10ZXh0
LW5vZGUiKTsKICAgICAgICAgICAgICAgICAgICAgICAgIHRleHROb2RlRWxlbWVudC50ZXh0Q29u
dGVudCA9ICJcdTIwMjYiOwotICAgICAgICAgICAgICAgICAgICAgICAgaW5mby50aXRsZURPTS5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXHUyMDBCIikpOworICAgICAgICAg
ICAgICAgICAgICAgICAgaW5mby50aXRsZURPTS5hcHBlbmQoIlx1MjAwQiIpOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2J1aWxkVGFnRE9NKGluZm8u
dGl0bGVET00sIHRhZ05hbWUsIHRydWUsIGZhbHNlKTsKICAgICAgICAgICAgICAgICB9CkBAIC0x
MTYzLDcgKzExNjEsNyBAQCBXZWJJbnNwZWN0b3IuRE9NVHJlZUVsZW1lbnQgPSBjbGFzcyBET01U
cmVlRWxlbWVudCBleHRlbmRzIFdlYkluc3BlY3Rvci5UcmVlRWxlbQogICAgICAgICAgICAgICAg
ICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0Tm9kZUVsZW1lbnQudGV4dENv
bnRlbnQgPSB0ZXh0Q2hpbGQubm9kZVZhbHVlKCk7CiAKLSAgICAgICAgICAgICAgICAgICAgaW5m
by50aXRsZURPTS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXHUyMDBCIikp
OworICAgICAgICAgICAgICAgICAgICBpbmZvLnRpdGxlRE9NLmFwcGVuZCgiXHUyMDBCIik7CiAK
ICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYnVpbGRUYWdET00oaW5mby50aXRsZURPTSwgdGFn
TmFtZSwgdHJ1ZSwgZmFsc2UpOwogICAgICAgICAgICAgICAgICAgICBpbmZvLmhhc0NoaWxkcmVu
ID0gZmFsc2U7CkBAIC0xMTc4LDM3ICsxMTc2LDM3IEBAIFdlYkluc3BlY3Rvci5ET01UcmVlRWxl
bWVudCA9IGNsYXNzIERPTVRyZWVFbGVtZW50IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlRyZWVFbGVt
CiAgICAgICAgICAgICAgICAgICAgIHZhciBuZXdOb2RlID0gaW5mby50aXRsZURPTS5jcmVhdGVD
aGlsZCgic3BhbiIsICJodG1sLXRleHQtbm9kZSBsYXJnZSIpOwogICAgICAgICAgICAgICAgICAg
ICBuZXdOb2RlLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5zeW50YXhIaWdobGlnaHRTdHJpbmdB
c0RvY3VtZW50RnJhZ21lbnQodHJpbWVkTm9kZVZhbHVlKCksICJ0ZXh0L2NzcyIpKTsKICAgICAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgICAgICBpbmZvLnRpdGxlRE9NLmFw
cGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcIiIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgaW5mby50aXRsZURPTS5hcHBlbmQoIlwiIik7CiAgICAgICAgICAgICAgICAgICAgIHZh
ciB0ZXh0Tm9kZUVsZW1lbnQgPSBpbmZvLnRpdGxlRE9NLmNyZWF0ZUNoaWxkKCJzcGFuIiwgImh0
bWwtdGV4dC1ub2RlIik7CiAgICAgICAgICAgICAgICAgICAgIHRleHROb2RlRWxlbWVudC50ZXh0
Q29udGVudCA9IG5vZGUubm9kZVZhbHVlKCk7Ci0gICAgICAgICAgICAgICAgICAgIGluZm8udGl0
bGVET00uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlwiIikpOworICAgICAg
ICAgICAgICAgICAgICBpbmZvLnRpdGxlRE9NLmFwcGVuZCgiXCIiKTsKICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGNhc2UgTm9kZS5DT01N
RU5UX05PREU6CiAgICAgICAgICAgICAgICAgdmFyIGNvbW1lbnRFbGVtZW50ID0gaW5mby50aXRs
ZURPTS5jcmVhdGVDaGlsZCgic3BhbiIsICJodG1sLWNvbW1lbnQiKTsKLSAgICAgICAgICAgICAg
ICBjb21tZW50RWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiPCEt
LSIgKyBub2RlLm5vZGVWYWx1ZSgpICsgIi0tPiIpKTsKKyAgICAgICAgICAgICAgICBjb21tZW50
RWxlbWVudC5hcHBlbmQoIjwhLS0iICsgbm9kZS5ub2RlVmFsdWUoKSArICItLT4iKTsKICAgICAg
ICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgY2FzZSBOb2RlLkRPQ1VNRU5UX1RZUEVf
Tk9ERToKICAgICAgICAgICAgICAgICB2YXIgZG9jVHlwZUVsZW1lbnQgPSBpbmZvLnRpdGxlRE9N
LmNyZWF0ZUNoaWxkKCJzcGFuIiwgImh0bWwtZG9jdHlwZSIpOwotICAgICAgICAgICAgICAgIGRv
Y1R5cGVFbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCI8IURPQ1RZ
UEUgIiArIG5vZGUubm9kZU5hbWUoKSkpOworICAgICAgICAgICAgICAgIGRvY1R5cGVFbGVtZW50
LmFwcGVuZCgiPCFET0NUWVBFICIgKyBub2RlLm5vZGVOYW1lKCkpOwogICAgICAgICAgICAgICAg
IGlmIChub2RlLnB1YmxpY0lkKSB7Ci0gICAgICAgICAgICAgICAgICAgIGRvY1R5cGVFbGVtZW50
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgUFVCTElDIFwiIiArIG5vZGUu
cHVibGljSWQgKyAiXCIiKSk7CisgICAgICAgICAgICAgICAgICAgIGRvY1R5cGVFbGVtZW50LmFw
cGVuZCgiIFBVQkxJQyBcIiIgKyBub2RlLnB1YmxpY0lkICsgIlwiIik7CiAgICAgICAgICAgICAg
ICAgICAgIGlmIChub2RlLnN5c3RlbUlkKQotICAgICAgICAgICAgICAgICAgICAgICAgZG9jVHlw
ZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBcIiIgKyBub2Rl
LnN5c3RlbUlkICsgIlwiIikpOworICAgICAgICAgICAgICAgICAgICAgICAgZG9jVHlwZUVsZW1l
bnQuYXBwZW5kKCIgXCIiICsgbm9kZS5zeXN0ZW1JZCArICJcIiIpOwogICAgICAgICAgICAgICAg
IH0gZWxzZSBpZiAobm9kZS5zeXN0ZW1JZCkKLSAgICAgICAgICAgICAgICAgICAgZG9jVHlwZUVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiBTWVNURU0gXCIiICsg
bm9kZS5zeXN0ZW1JZCArICJcIiIpKTsKKyAgICAgICAgICAgICAgICAgICAgZG9jVHlwZUVsZW1l
bnQuYXBwZW5kKCIgU1lTVEVNIFwiIiArIG5vZGUuc3lzdGVtSWQgKyAiXCIiKTsKIAogICAgICAg
ICAgICAgICAgIGlmIChub2RlLmludGVybmFsU3Vic2V0KQotICAgICAgICAgICAgICAgICAgICBk
b2NUeXBlRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIFsiICsg
bm9kZS5pbnRlcm5hbFN1YnNldCArICJdIikpOworICAgICAgICAgICAgICAgICAgICBkb2NUeXBl
RWxlbWVudC5hcHBlbmQoIiBbIiArIG5vZGUuaW50ZXJuYWxTdWJzZXQgKyAiXSIpOwogCi0gICAg
ICAgICAgICAgICAgZG9jVHlwZUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4
dE5vZGUoIj4iKSk7CisgICAgICAgICAgICAgICAgZG9jVHlwZUVsZW1lbnQuYXBwZW5kKCI+Iik7
CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAgICAgIGNhc2UgTm9kZS5DREFUQV9T
RUNUSU9OX05PREU6CiAgICAgICAgICAgICAgICAgdmFyIGNkYXRhRWxlbWVudCA9IGluZm8udGl0
bGVET00uY3JlYXRlQ2hpbGQoInNwYW4iLCAiaHRtbC10ZXh0LW5vZGUiKTsKLSAgICAgICAgICAg
ICAgICBjZGF0YUVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIjwh
W0NEQVRBWyIgKyBub2RlLm5vZGVWYWx1ZSgpICsgIl1dPiIpKTsKKyAgICAgICAgICAgICAgICBj
ZGF0YUVsZW1lbnQuYXBwZW5kKCI8IVtDREFUQVsiICsgbm9kZS5ub2RlVmFsdWUoKSArICJdXT4i
KTsKICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAgY2FzZSBOb2RlLlBST0NF
U1NJTkdfSU5TVFJVQ1RJT05fTk9ERToKQEAgLTEyMTYsMTEgKzEyMTQsMTEgQEAgV2ViSW5zcGVj
dG9yLkRPTVRyZWVFbGVtZW50ID0gY2xhc3MgRE9NVHJlZUVsZW1lbnQgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuVHJlZUVsZW0KICAgICAgICAgICAgICAgICB2YXIgZGF0YSA9IG5vZGUubm9kZVZhbHVl
KCk7CiAgICAgICAgICAgICAgICAgdmFyIGRhdGFTdHJpbmcgPSBkYXRhLmxlbmd0aCA/ICIgIiAr
IGRhdGEgOiAiIjsKICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSAiPD8iICsgbm9kZS5ub2Rl
TmFtZUluQ29ycmVjdENhc2UoKSArIGRhdGFTdHJpbmcgKyAiPz4iOwotICAgICAgICAgICAgICAg
IHByb2Nlc3NpbmdJbnN0cnVjdGlvbkVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRl
VGV4dE5vZGUodGl0bGUpKTsKKyAgICAgICAgICAgICAgICBwcm9jZXNzaW5nSW5zdHJ1Y3Rpb25F
bGVtZW50LmFwcGVuZCh0aXRsZSk7CiAgICAgICAgICAgICAgICAgYnJlYWs7CiAKICAgICAgICAg
ICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgdmFyIGRlZmF1bHRFbGVtZW50ID0gaW5mby50
aXRsZURPTS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShub2RlLm5vZGVOYW1l
SW5Db3JyZWN0Q2FzZSgpLmNvbGxhcHNlV2hpdGVzcGFjZSgpKSk7CisgICAgICAgICAgICAgICAg
aW5mby50aXRsZURPTS5hcHBlbmQobm9kZS5ub2RlTmFtZUluQ29ycmVjdENhc2UoKS5jb2xsYXBz
ZVdoaXRlc3BhY2UoKSk7CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gaW5mbzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlk
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQu
anMKaW5kZXggYTdmYTEzNC4uYzhiOWUwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKQEAgLTE1NzgsNyArMTU3OCw3
IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZE5vZGUucHJvdG90eXBlID0gewogCiAgICAgICAgIHZh
ciBkaXYgPSBjZWxsRWxlbWVudC5jcmVhdGVDaGlsZCgiZGl2Iik7CiAgICAgICAgIHZhciBjb250
ZW50ID0gdGhpcy5jcmVhdGVDZWxsQ29udGVudChjb2x1bW5JZGVudGlmaWVyLCBjZWxsRWxlbWVu
dCk7Ci0gICAgICAgIGRpdi5hcHBlbmRDaGlsZChjb250ZW50IGluc3RhbmNlb2YgTm9kZSA/IGNv
bnRlbnQgOiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSk7CisgICAgICAgIGRpdi5h
cHBlbmQoY29udGVudCk7CiAKICAgICAgICAgaWYgKGNvbHVtbklkZW50aWZpZXIgPT09IHRoaXMu
ZGF0YUdyaWQuZGlzY2xvc3VyZUNvbHVtbklkZW50aWZpZXIpIHsKICAgICAgICAgICAgIGNlbGxF
bGVtZW50LmNsYXNzTGlzdC5hZGQoImRpc2Nsb3N1cmUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyRGFzaGJvYXJkVmlldy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyRGFz
aGJvYXJkVmlldy5qcwppbmRleCBhYmEyNmVkLi5iYWNmODc0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlckRhc2hib2FyZFZpZXcu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdn
ZXJEYXNoYm9hcmRWaWV3LmpzCkBAIC04NCw3ICs4NCw3IEBAIFdlYkluc3BlY3Rvci5EZWJ1Z2dl
ckRhc2hib2FyZFZpZXcgPSBjbGFzcyBEZWJ1Z2dlckRhc2hib2FyZFZpZXcgZXh0ZW5kcyBXZWJJ
bnNwCiAgICAgICAgIGljb25FbGVtZW50LmFwcGVuZENoaWxkKGljb25JbWFnZUVsZW1lbnQpOwog
CiAgICAgICAgIHZhciBuYW1lRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIp
OwotICAgICAgICBuYW1lRWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShmdW5jdGlvbk5hbWUpKTsKKyAgICAgICAgbmFtZUVsZW1lbnQuYXBwZW5kKGZ1bmN0aW9uTmFt
ZSk7CiAgICAgICAgIG5hbWVFbGVtZW50LmNsYXNzTGlzdC5hZGQoImZ1bmN0aW9uLW5hbWUiKTsK
ICAgICAgICAgdGhpcy5fbG9jYXRpb25FbGVtZW50LmFwcGVuZENoaWxkKG5hbWVFbGVtZW50KTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuanMKaW5kZXggMThlY2E3
OC4uN2NlODExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpz
CkBAIC05NSw4ICs5NSw3IEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2VjdGlvbkdyb3Vw
ID0gY2xhc3MgRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCBleHRlbmRzCiAgICAgICAgICAgICBy
ZXR1cm4gbGlua0VsZW1lbnQ7CiAKICAgICAgICAgdmFyIGZyYWdtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRG9jdW1lbnRGcmFnbWVudCgpOwotICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChsaW5r
RWxlbWVudCk7Ci0gICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKGZ1bmN0aW9uTmFtZSkpOworICAgICAgICBmcmFnbWVudC5hcHBlbmQobGlua0VsZW1l
bnQsIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIHJldHVybiBmcmFnbWVudDsKICAgICB9CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRm9y
bWF0dGVkVmFsdWUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9Gb3JtYXR0ZWRWYWx1ZS5qcwppbmRleCAyY2YzNjc3Li4xY2ZmZmUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb3JtYXR0ZWRWYWx1ZS5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Gb3JtYXR0
ZWRWYWx1ZS5qcwpAQCAtMzksOSArMzksNyBAQCBXZWJJbnNwZWN0b3IuRm9ybWF0dGVkVmFsdWUu
Y3JlYXRlTGlua2lmaWVkRWxlbWVudFN0cmluZyA9IGZ1bmN0aW9uKHN0cmluZykKIHsKICAgICB2
YXIgc3BhbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICBzcGFuLmNsYXNz
TmFtZSA9ICJmb3JtYXR0ZWQtc3RyaW5nIjsKLSAgICBzcGFuLmFwcGVuZENoaWxkKGRvY3VtZW50
LmNyZWF0ZVRleHROb2RlKCJcIiIpKTsKLSAgICBzcGFuLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rv
ci5saW5raWZ5U3RyaW5nQXNGcmFnbWVudChzdHJpbmcucmVwbGFjZSgvIi9nLCAiXFxcIiIpKSk7
Ci0gICAgc3Bhbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXCIiKSk7Cisg
ICAgc3Bhbi5hcHBlbmQoIlwiIiwgV2ViSW5zcGVjdG9yLmxpbmtpZnlTdHJpbmdBc0ZyYWdtZW50
KHN0cmluZy5yZXBsYWNlKC8iL2csICJcXFwiIikpLCAiXCIiKTsKICAgICByZXR1cm4gc3BhbjsK
IH07CiAKQEAgLTEwMiwyNyArMTAwLDI3IEBAIFdlYkluc3BlY3Rvci5Gb3JtYXR0ZWRWYWx1ZS5j
cmVhdGVFbGVtZW50Rm9yTm9kZVByZXZpZXcgPSBmdW5jdGlvbihwcmV2aWV3KQogCiAgICAgdmFy
IHRhZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKICAgICB0YWcuY2xhc3NOYW1l
ID0gImh0bWwtdGFnIjsKLSAgICB0YWcuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5v
ZGUoIjwiKSk7CisgICAgdGFnLmFwcGVuZCgiPCIpOwogCiAgICAgdmFyIHRhZ05hbWUgPSB0YWcu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKICAgICB0YWdOYW1l
LmNsYXNzTmFtZSA9ICJodG1sLXRhZy1uYW1lIjsKICAgICB0YWdOYW1lLnRleHRDb250ZW50ID0g
bWF0Y2hlc1sxXTsKIAogICAgIGlmIChtYXRjaGVzWzJdKSB7Ci0gICAgICAgIHRhZy5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpKTsKKyAgICAgICAgdGFnLmFwcGVuZCgi
ICIpOwogICAgICAgICB2YXIgYXR0cmlidXRlID0gdGFnLmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKSk7CiAgICAgICAgIGF0dHJpYnV0ZS5jbGFzc05hbWUgPSAiaHRt
bC1hdHRyaWJ1dGUiOwogICAgICAgICB2YXIgYXR0cmlidXRlTmFtZSA9IGF0dHJpYnV0ZS5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIikpOwogICAgICAgICBhdHRyaWJ1
dGVOYW1lLmNsYXNzTmFtZSA9ICJodG1sLWF0dHJpYnV0ZS1uYW1lIjsKICAgICAgICAgYXR0cmli
dXRlTmFtZS50ZXh0Q29udGVudCA9IG1hdGNoZXNbMl07Ci0gICAgICAgIGF0dHJpYnV0ZS5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiPVwiIikpOworICAgICAgICBhdHRyaWJ1
dGUuYXBwZW5kKCI9XCIiKTsKICAgICAgICAgdmFyIGF0dHJpYnV0ZVZhbHVlID0gYXR0cmlidXRl
LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKSk7CiAgICAgICAgIGF0
dHJpYnV0ZVZhbHVlLmNsYXNzTmFtZSA9ICJodG1sLWF0dHJpYnV0ZS12YWx1ZSI7CiAgICAgICAg
IGF0dHJpYnV0ZVZhbHVlLnRleHRDb250ZW50ID0gbWF0Y2hlc1szXTsKLSAgICAgICAgYXR0cmli
dXRlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCJcIiIpKTsKKyAgICAgICAg
YXR0cmlidXRlLmFwcGVuZCgiXCIiKTsKICAgICB9CiAKLSAgICB0YWcuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoIj4iKSk7CisgICAgdGFnLmFwcGVuZCgiPiIpOwogICAgIHNw
YW4uYXBwZW5kQ2hpbGQodGFnKTsKIAogICAgIHJldHVybiBzcGFuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvT2JqZWN0UHJldmlld1ZpZXcu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2
aWV3Vmlldy5qcwppbmRleCA5ZDc2MzIyLi41ZDgyYmEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2aWV3Vmlldy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9PYmplY3RQcmV2aWV3
Vmlldy5qcwpAQCAtMTUyLDE4ICsxNTIsMTggQEAgV2ViSW5zcGVjdG9yLk9iamVjdFByZXZpZXdW
aWV3ID0gY2xhc3MgT2JqZWN0UHJldmlld1ZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKIAog
ICAgICAgICB2YXIgaXNJdGVyYXRvciA9IHByZXZpZXcuc3VidHlwZSA9PT0gIml0ZXJhdG9yIjsK
IAotICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGlz
SXRlcmF0b3IgPyAiWyIgOiAieyIpKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmQoaXNJdGVyYXRv
ciA/ICJbIiA6ICJ7Iik7CiAKICAgICAgICAgdmFyIGxpbWl0ID0gTWF0aC5taW4ocHJldmlldy5j
b2xsZWN0aW9uRW50cnlQcmV2aWV3cy5sZW5ndGgsIHRoaXMuX251bWJlck9mUHJvcGVydGllc1Rv
U2hvd0luTW9kZSgpKTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsaW1pdDsgKytpKSB7
CiAgICAgICAgICAgICBpZiAoaSA+IDApCi0gICAgICAgICAgICAgICAgZWxlbWVudC5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiLCAiKSk7CisgICAgICAgICAgICAgICAgZWxl
bWVudC5hcHBlbmQoIiwgIik7CiAKICAgICAgICAgICAgIHZhciBrZXlQcmV2aWV3TG9zc2xlc3Mg
PSB0cnVlOwogICAgICAgICAgICAgdmFyIGVudHJ5ID0gcHJldmlldy5jb2xsZWN0aW9uRW50cnlQ
cmV2aWV3c1tpXTsKICAgICAgICAgICAgIGlmIChlbnRyeS5rZXlQcmV2aWV3KSB7CiAgICAgICAg
ICAgICAgICAga2V5UHJldmlld0xvc3NsZXNzID0gdGhpcy5fYXBwZW5kUHJldmlldyhlbGVtZW50
LCBlbnRyeS5rZXlQcmV2aWV3KTsKLSAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgPT4gIikpOworICAgICAgICAgICAgICAgIGVsZW1l
bnQuYXBwZW5kKCIgPT4gIik7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIHZhciB2YWx1
ZVByZXZpZXdMb3NzbGVzcyA9IHRoaXMuX2FwcGVuZFByZXZpZXcoZWxlbWVudCwgZW50cnkudmFs
dWVQcmV2aWV3KTsKQEAgLTE3OCw4ICsxNzgsOCBAQCBXZWJJbnNwZWN0b3IuT2JqZWN0UHJldmll
d1ZpZXcgPSBjbGFzcyBPYmplY3RQcmV2aWV3VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5PYgog
ICAgICAgICB9CiAKICAgICAgICAgaWYgKG92ZXJmbG93KQotICAgICAgICAgICAgZWxlbWVudC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiLCBcdTIwMjYiKSk7Ci0gICAgICAg
IGVsZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaXNJdGVyYXRvciA/
ICJdIiA6ICJ9IikpOworICAgICAgICAgICAgZWxlbWVudC5hcHBlbmQoIiwgXHUyMDI2Iik7Cisg
ICAgICAgIGVsZW1lbnQuYXBwZW5kKGlzSXRlcmF0b3IgPyAiXSIgOiAifSIpOwogCiAgICAgICAg
IHJldHVybiBsb3NzbGVzczsKICAgICB9CkBAIC0yMDAsNyArMjAwLDcgQEAgV2ViSW5zcGVjdG9y
Lk9iamVjdFByZXZpZXdWaWV3ID0gY2xhc3MgT2JqZWN0UHJldmlld1ZpZXcgZXh0ZW5kcyBXZWJJ
bnNwZWN0b3IuT2IKICAgICAgICAgLy8gRklYTUU6IEFycmF5IHByZXZpZXdzIHNob3VsZCBoYXZl
IGJldHRlciBzcGFyc2Ugc3VwcG9ydDogKHVuZGVmaW5lZCDDlyAxMCkuCiAgICAgICAgIHZhciBp
c0FycmF5ID0gcHJldmlldy5zdWJ0eXBlID09PSAiYXJyYXkiOwogCi0gICAgICAgIGVsZW1lbnQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaXNBcnJheSA/ICJbIiA6ICJ7Iikp
OworICAgICAgICBlbGVtZW50LmFwcGVuZChpc0FycmF5ID8gIlsiIDogInsiKTsKIAogICAgICAg
ICB2YXIgbnVtYmVyQWRkZWQgPSAwOwogICAgICAgICB2YXIgbGltaXQgPSB0aGlzLl9udW1iZXJP
ZlByb3BlcnRpZXNUb1Nob3dJbk1vZGUoKTsKQEAgLTIxNiwxMyArMjE2LDEzIEBAIFdlYkluc3Bl
Y3Rvci5PYmplY3RQcmV2aWV3VmlldyA9IGNsYXNzIE9iamVjdFByZXZpZXdWaWV3IGV4dGVuZHMg
V2ViSW5zcGVjdG9yLk9iCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgICAg
IGlmIChudW1iZXJBZGRlZCsrID4gMCkKLSAgICAgICAgICAgICAgICBlbGVtZW50LmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIsICIpKTsKKyAgICAgICAgICAgICAgICBlbGVt
ZW50LmFwcGVuZCgiLCAiKTsKIAogICAgICAgICAgICAgaWYgKCFpc0FycmF5IHx8IHByb3BlcnR5
Lm5hbWUgIT0gaSkgewogICAgICAgICAgICAgICAgIHZhciBuYW1lRWxlbWVudCA9IGVsZW1lbnQu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpKTsKICAgICAgICAgICAg
ICAgICBuYW1lRWxlbWVudC5jbGFzc05hbWUgPSAibmFtZSI7CiAgICAgICAgICAgICAgICAgbmFt
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBwcm9wZXJ0eS5uYW1lOwotICAgICAgICAgICAgICAgIGVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIjogIikpOworICAgICAg
ICAgICAgICAgIGVsZW1lbnQuYXBwZW5kKCI6ICIpOwogICAgICAgICAgICAgfQogCiAgICAgICAg
ICAgICBpZiAocHJvcGVydHkudmFsdWVQcmV2aWV3KQpAQCAtMjM5LDggKzIzOSw4IEBAIFdlYklu
c3BlY3Rvci5PYmplY3RQcmV2aWV3VmlldyA9IGNsYXNzIE9iamVjdFByZXZpZXdWaWV3IGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iCiAgICAgICAgIH0KIAogICAgICAgICBpZiAob3ZlcmZsb3cpCi0g
ICAgICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIs
IFx1MjAyNiIpKTsKLSAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShpc0FycmF5ID8gIl0iIDogIn0iKSk7CisgICAgICAgICAgICBlbGVtZW50LmFwcGVu
ZCgiLCBcdTIwMjYiKTsKKyAgICAgICAgZWxlbWVudC5hcHBlbmQoaXNBcnJheSA/ICJdIiA6ICJ9
Iik7CiAKICAgICAgICAgcmV0dXJuIGxvc3NsZXNzOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
c291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCAxNzE5OTgzLi4yNzRkMTBkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJj
ZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00NTksNyAr
NDU5LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNz
IFJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbCBleHQKIAogICAgICAgICB2YXIgZGF0YVZhbHVl
ID0gZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpOwogCi0gICAgICAgIGRhdGFWYWx1
ZS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzaXplVmFsdWUpKTsKKyAgICAg
ICAgZGF0YVZhbHVlLmFwcGVuZChzaXplVmFsdWUpOwogCiAgICAgICAgIHZhciBnb1RvQnV0dG9u
ID0gZGF0YVZhbHVlLmFwcGVuZENoaWxkKFdlYkluc3BlY3Rvci5jcmVhdGVHb1RvQXJyb3dCdXR0
b24oKSk7CiAgICAgICAgIGdvVG9CdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlz
Ll9nb1RvUmVxdWVzdERhdGFDbGlja2VkLmJpbmQodGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHlsZURldGFpbHNQYW5l
bC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1J1bGVzU3R5
bGVEZXRhaWxzUGFuZWwuanMKaW5kZXggOGJhYTEyZC4uYTRmMzY4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUnVsZXNTdHlsZURldGFpbHNQ
YW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9S
dWxlc1N0eWxlRGV0YWlsc1BhbmVsLmpzCkBAIC0xNzAsOCArMTcwLDcgQEAgV2ViSW5zcGVjdG9y
LlJ1bGVzU3R5bGVEZXRhaWxzUGFuZWwgPSBjbGFzcyBSdWxlc1N0eWxlRGV0YWlsc1BhbmVsIGV4
dGVuZHMgV2ViSW4KICAgICAgICAgICAgICAgICBuZXdSdWxlQnV0dG9uLmNsYXNzTmFtZSA9ICJu
ZXctcnVsZSI7CiAgICAgICAgICAgICAgICAgbmV3UnVsZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVy
KCJjbGljayIsIHRoaXMuX25ld1J1bGVDbGlja2VkLmJpbmQodGhpcykpOwogCi0gICAgICAgICAg
ICAgICAgbmV3UnVsZUJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJp
bWciKSk7Ci0gICAgICAgICAgICAgICAgbmV3UnVsZUJ1dHRvbi5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5ldyBSdWxlIikpKTsKKyAg
ICAgICAgICAgICAgICBuZXdSdWxlQnV0dG9uLmFwcGVuZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJpbWciKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJOZXcgUnVsZSIpKTsKIAogICAgICAgICAg
ICAgICAgIG5ld0RPTUZyYWdtZW50LmFwcGVuZENoaWxkKG5ld1J1bGVCdXR0b24pOwogICAgICAg
ICAgICAgfQpAQCAtMjE3LDEzICsyMTYsMTAgQEAgV2ViSW5zcGVjdG9yLlJ1bGVzU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBSdWxlc1N0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW4KIAog
ICAgICAgICAgICAgICAgICAgICB2YXIgbWVkaWFMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgICAgICAgICAgICAgICAgICBtZWRpYUxhYmVsLmNsYXNzTmFtZSA9ICJs
YWJlbCI7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kQ2hpbGQocHJlZml4
RWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUobWVkaWEudGV4dCkpOworICAgICAgICAgICAgICAgICAgICBt
ZWRpYUxhYmVsLmFwcGVuZChwcmVmaXhFbGVtZW50LCBtZWRpYS50ZXh0KTsKIAotICAgICAgICAg
ICAgICAgICAgICBpZiAobWVkaWEuc291cmNlQ29kZUxvY2F0aW9uKSB7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBtZWRpYUxhYmVsLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2Rl
KCIgXHUyMDE0ICIpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5k
Q2hpbGQoV2ViSW5zcGVjdG9yLmNyZWF0ZVNvdXJjZUNvZGVMb2NhdGlvbkxpbmsobWVkaWEuc291
cmNlQ29kZUxvY2F0aW9uLCB0cnVlKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgICAgICAgICAgaWYgKG1lZGlhLnNvdXJjZUNvZGVMb2NhdGlvbikKKyAgICAgICAgICAgICAg
ICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kKCIgXHUyMDE0ICIsIFdlYkluc3BlY3Rvci5jcmVh
dGVTb3VyY2VDb2RlTG9jYXRpb25MaW5rKG1lZGlhLnNvdXJjZUNvZGVMb2NhdGlvbiwgdHJ1ZSkp
OwogCiAgICAgICAgICAgICAgICAgICAgIG5ld0RPTUZyYWdtZW50LmFwcGVuZENoaWxkKG1lZGlh
TGFiZWwpOwogCkBAIC0yNDAsOCArMjM2LDcgQEAgV2ViSW5zcGVjdG9yLlJ1bGVzU3R5bGVEZXRh
aWxzUGFuZWwgPSBjbGFzcyBSdWxlc1N0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW4KIAog
ICAgICAgICAgICAgICAgICAgICB2YXIgbWVkaWFMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoImRpdiIpOwogICAgICAgICAgICAgICAgICAgICBtZWRpYUxhYmVsLmNsYXNzTmFtZSA9ICJs
YWJlbCI7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kQ2hpbGQocHJlZml4
RWxlbWVudCk7Ci0gICAgICAgICAgICAgICAgICAgIG1lZGlhTGFiZWwuYXBwZW5kQ2hpbGQoZG9j
dW1lbnQuY3JlYXRlVGV4dE5vZGUoImFsbCIpKTsKKyAgICAgICAgICAgICAgICAgICAgbWVkaWFM
YWJlbC5hcHBlbmQocHJlZml4RWxlbWVudCwgImFsbCIpOwogCiAgICAgICAgICAgICAgICAgICAg
IG5ld0RPTUZyYWdtZW50LmFwcGVuZENoaWxkKG1lZGlhTGFiZWwpOwogICAgICAgICAgICAgICAg
ICAgICBoYXNNZWRpYU9ySW5oZXJpdGVkLnB1c2gobWVkaWFMYWJlbCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TZWFyY2hSZXN1bHRUcmVl
RWxlbWVudC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Nl
YXJjaFJlc3VsdFRyZWVFbGVtZW50LmpzCmluZGV4IDE0NGVmMjguLjFhNjE3ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NlYXJjaFJlc3Vs
dFRyZWVFbGVtZW50LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1NlYXJjaFJlc3VsdFRyZWVFbGVtZW50LmpzCkBAIC02NCwxNCArNjQsMTQgQEAgV2Vi
SW5zcGVjdG9yLlNlYXJjaFJlc3VsdFRyZWVFbGVtZW50ID0gY2xhc3MgU2VhcmNoUmVzdWx0VHJl
ZUVsZW1lbnQgZXh0ZW5kcyBXZWIKIAogICAgICAgICB2YXIgaGlnaGxpZ2h0ZWRUaXRsZSA9IGRv
Y3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTsKIAotICAgICAgICBoaWdobGlnaHRlZFRp
dGxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKG1vZGlmaWVkVGl0bGUuc3Vi
c3RyaW5nKDAsIHNlYXJjaFRlcm1JbmRleCkpKTsKKyAgICAgICAgaGlnaGxpZ2h0ZWRUaXRsZS5h
cHBlbmQobW9kaWZpZWRUaXRsZS5zdWJzdHJpbmcoMCwgc2VhcmNoVGVybUluZGV4KSk7CiAKICAg
ICAgICAgdmFyIGhpZ2hsaWdodFNwYW4gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7
CiAgICAgICAgIGhpZ2hsaWdodFNwYW4uY2xhc3NOYW1lID0gImhpZ2hsaWdodGVkIjsKLSAgICAg
ICAgaGlnaGxpZ2h0U3Bhbi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShtb2Rp
ZmllZFRpdGxlLnN1YnN0cmluZyhzZWFyY2hUZXJtSW5kZXgsIHNlYXJjaFRlcm1JbmRleCArIHNl
YXJjaFRlcm0ubGVuZ3RoKSkpOworICAgICAgICBoaWdobGlnaHRTcGFuLmFwcGVuZChtb2RpZmll
ZFRpdGxlLnN1YnN0cmluZyhzZWFyY2hUZXJtSW5kZXgsIHNlYXJjaFRlcm1JbmRleCArIHNlYXJj
aFRlcm0ubGVuZ3RoKSk7CiAgICAgICAgIGhpZ2hsaWdodGVkVGl0bGUuYXBwZW5kQ2hpbGQoaGln
aGxpZ2h0U3Bhbik7CiAKLSAgICAgICAgaGlnaGxpZ2h0ZWRUaXRsZS5hcHBlbmRDaGlsZChkb2N1
bWVudC5jcmVhdGVUZXh0Tm9kZShtb2RpZmllZFRpdGxlLnN1YnN0cmluZyhzZWFyY2hUZXJtSW5k
ZXggKyBzZWFyY2hUZXJtLmxlbmd0aCkpKTsKKyAgICAgICAgaGlnaGxpZ2h0ZWRUaXRsZS5hcHBl
bmQobW9kaWZpZWRUaXRsZS5zdWJzdHJpbmcoc2VhcmNoVGVybUluZGV4ICsgc2VhcmNoVGVybS5s
ZW5ndGgpKTsKIAogICAgICAgICByZXR1cm4gaGlnaGxpZ2h0ZWRUaXRsZTsKICAgICB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TeW50YXhI
aWdobGlnaHRpbmdTdXBwb3J0LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3ludGF4SGlnaGxpZ2h0aW5nU3VwcG9ydC5qcwppbmRleCAxZTk4ZTI2Li41MTgx
ODg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9TeW50YXhIaWdobGlnaHRpbmdTdXBwb3J0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1N5bnRheEhpZ2hsaWdodGluZ1N1cHBvcnQuanMKQEAgLTMy
LDcgKzMyLDcgQEAgV2ViSW5zcGVjdG9yLnN5bnRheEhpZ2hsaWdodFN0cmluZ0FzRG9jdW1lbnRG
cmFnbWVudCA9IGZ1bmN0aW9uKHN0cmluZywgbWltZVR5cGUKICAgICBmdW5jdGlvbiBhcHBlbmRU
ZXh0KHRleHQsIHN0eWxlKQogICAgIHsKICAgICAgICAgaWYgKCFzdHlsZSkgewotICAgICAgICAg
ICAgcmVzdWx0RnJhZ21lbnQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodGV4
dCkpOworICAgICAgICAgICAgcmVzdWx0RnJhZ21lbnQuYXBwZW5kKHRleHQpOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lRGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMK
aW5kZXggM2ZhYTVkZC4uOTgzMmY1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVEYXRhR3JpZE5vZGUu
anMKQEAgLTE4Nyw3ICsxODcsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVEYXRhR3JpZE5vZGUu
cHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICAvLyBTaG93IHRoZSBmdW5jdGlvbiBu
YW1lIGFuZCBpY29uLgogICAgICAgICAgICAgICAgICAgICBjZWxsLmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLkNhbGxGcmFtZVZpZXcuRnVuY3Rpb25JY29uU3R5bGVDbGFzc05hbWUpOwogCi0g
ICAgICAgICAgICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKGZ1bmN0aW9uTmFtZSkpOworICAgICAgICAgICAgICAgICAgICBmcmFnbWVudC5hcHBl
bmQoZnVuY3Rpb25OYW1lKTsKIAogICAgICAgICAgICAgICAgICAgICB2YXIgc3VidGl0bGVFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwogICAgICAgICAgICAgICAgICAg
ICBzdWJ0aXRsZUVsZW1lbnQuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5l
RGF0YUdyaWROb2RlLlN1YnRpdGxlU3R5bGVDbGFzc05hbWU7CkBAIC0yMDEsOSArMjAxLDggQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lRGF0YUdyaWROb2RlLnByb3RvdHlwZSA9IHsKIAogICAgICAg
ICAgICAgdmFyIGljb24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKICAgICAgICAg
ICAgIGljb24uY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkxheW91dFRpbWVsaW5lRGF0YUdyaWRO
b2RlLkljb25TdHlsZUNsYXNzTmFtZTsKLSAgICAgICAgICAgIGZyYWdtZW50LmFwcGVuZENoaWxk
KGljb24pOwogCi0gICAgICAgICAgICBmcmFnbWVudC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVUZXh0Tm9kZShmdW5jdGlvbk5hbWUpKTsKKyAgICAgICAgICAgIGZyYWdtZW50LmFwcGVuZChp
Y29uLCBmdW5jdGlvbk5hbWUpOwogCiAgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnQ7CiAgICAg
ICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>