<?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>147537</bug_id>
          
          <creation_ts>2015-08-02 00:13:55 -0700</creation_ts>
          <short_desc>Web Inspector: Convert CSSStyleDeclarationSection to ES6 Class</short_desc>
          <delta_ts>2015-08-07 10:09:14 -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>INVALID</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="Devin Rousso">hi</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <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>1114082</commentid>
    <comment_count>0</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-02 00:13:55 -0700</bug_when>
    <thetext>The rest of the CSSStyleSidebar classes are ES6 classes except for CSSStyleDeclarationSection.  We should change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114084</commentid>
    <comment_count>1</comment_count>
      <attachid>258027</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-02 00:45:35 -0700</bug_when>
    <thetext>Created attachment 258027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114403</commentid>
    <comment_count>2</comment_count>
      <attachid>258027</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-03 15:19:38 -0700</bug_when>
    <thetext>Comment on attachment 258027
Patch

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

r=me

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:28
&gt; +    constructor(delegate, style) {

Style: Treat &quot;constructor&quot; like a method, and put the opening brace on its own line.

&gt; Source/WebInspectorUI/UserInterface/Views/CSSStyleDeclarationSection.js:33
&gt; +        console.assert(style);

Nit: I know this is not new, but it is better to assert not just that &quot;style&quot; exists, but that it adheres to some expected type. Perhaps:

    console.assert(style instanceof WebInspector.CSSStyleDeclaration);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114530</commentid>
    <comment_count>3</comment_count>
      <attachid>258157</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-03 23:09:49 -0700</bug_when>
    <thetext>Created attachment 258157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114538</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-03 23:37:35 -0700</bug_when>
    <thetext>Note, if you have already gotten a review, you can put up the new patch with the &quot;reviewed by&quot; line filled in, and just cq+ it for the commit-queue to land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114539</commentid>
    <comment_count>5</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2015-08-03 23:38:05 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Note, if you have already gotten a review, you can put up the new patch with
&gt; the &quot;reviewed by&quot; line filled in, and just cq+ it for the commit-queue to
&gt; land.

I did not know that.  Thanks for the tip!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114540</commentid>
    <comment_count>6</comment_count>
      <attachid>258157</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-08-03 23:38:20 -0700</bug_when>
    <thetext>Comment on attachment 258157
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1114541</commentid>
    <comment_count>7</comment_count>
    <who name="Nikita Vasilyev">nvasilyev</who>
    <bug_when>2015-08-03 23:40:48 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Note, if you have already gotten a review, you can put up the new patch with
&gt; the &quot;reviewed by&quot; line filled in, and just cq+ it for the commit-queue to
&gt; land.

The review dropdown must be left empty. If you set it to &quot;r+&quot;, the commit queue will fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115786</commentid>
    <comment_count>8</comment_count>
      <attachid>258157</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-08-07 10:09:00 -0700</bug_when>
    <thetext>Comment on attachment 258157
Patch

It looks like Brian got this. It is now a class in TOT.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258027</attachid>
            <date>2015-08-02 00:45:35 -0700</date>
            <delta_ts>2015-08-03 23:09:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147537-20150802004530.patch</filename>
            <type>text/plain</type>
            <size>27189</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGM3YTg1N2I0ODIzYzBiMmZhM2E0ZmE0MTNjZmJk
MTNkNTQ2NGIyNTguLjE5MTU3YTI3NjFjYWQ2ZDQ0Nzc3OGZiNmZmMmQ5YmFkZmFjOTUyOTkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE1LTA4LTAyICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b252ZXJ0IENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uIHRvIEVTNiBDbGFzcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IGVsZW1lbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgc3R5
bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnBy
b3RvdHlwZS5nZXQgbGFzdEluR3JvdXApOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5zZXQgbGFzdEluR3JvdXApOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgZm9j
dXNlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
cHJvdG90eXBlLmZvY3VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUucmVmcmVzaC5hcHBlbmRTZWxlY3Rvcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLnJlZnJlc2gu
YXBwZW5kU2VsZWN0b3JUZXh0S25vd25Ub01hdGNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUucmVmcmVzaCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLmhpZ2hsaWdo
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5wcm90b3R5cGUuZmluZE1hdGNoaW5nUHJvcGVydGllc0FuZFNlbGVjdG9ycyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLnVw
ZGF0ZUxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24ucHJvdG90eXBlLmNsZWFyU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblRl
eHRFZGl0b3JGb2N1c2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JTd2l0Y2hS
dWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5w
cm90b3R5cGUuZm9jdXNSdWxlU2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5zZWxlY3RMYXN0UHJvcGVydHkpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5n
ZXQgc2VsZWN0b3JMb2NrZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgbG9ja2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IGVkaXRvckFjdGl2ZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlLmdldCBfY3VycmVudFNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVTZWxlY3RvclBhc3RlLnBh
cnNlVGV4dEZvclJ1bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0b3JQYXN0ZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVDb250
ZXh0TWVudUV2ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5wcm90b3R5cGUuX2dlbmVyYXRlQ1NTUnVsZVN0cmluZyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl90b2dnbGVSdWxl
T25PZmYpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
LnByb3RvdHlwZS5faGlnaGxpZ2h0Tm9kZXNXaXRoU2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5faGlkZURPTU5vZGVI
aWdobGlnaHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLnByb3RvdHlwZS5faGFuZGxlTW91c2VPdmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZU1vdXNlT3V0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUu
X2hhbmRsZUtleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlS2V5VXApOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5fY29tbWl0U2VsZWN0b3IpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlw
ZS5fbWFya1NlbGVjdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IF9oYXNJbnZhbGlkU2VsZWN0b3IpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5fZWRpdG9y
Q29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5fZWRpdG9yQmx1cnJlZCk6CisKIDIwMTUtMDgtMDEgIE5pa2l0
YSBWYXNpbHlldiAgPG52YXNpbHlldkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogUmVwbGFjZSAidW5rbm93bi1tYWMiIENTUyBjbGFzcyB3aXRoICJlbC1jYXBpdGFuIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcwppbmRleCBlMzAwNDJjYWZk
MGFmNDVjZjU4Yjk4YzM0YzY1ZGZkMDg5YTlkMTE3Li5mNDFmYTk0M2NkZWUxOWRjYzNkOGRhZTJi
ZGRkM2RmOGE4NDJiY2IwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5qcwpAQCAtMjMsMTYzICsyMywxNDMgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KICAqLwogCi1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24g
PSBmdW5jdGlvbihkZWxlZ2F0ZSwgc3R5bGUpCitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24gPSBjbGFzcyBDU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbiBleHRlbmRzIFdl
Ykluc3BlY3Rvci5PYmplY3QKIHsKLSAgICAvLyBGSVhNRTogQ29udmVydCB0aGlzIHRvIGEgV2Vi
SW5zcGVjdG9yLk9iamVjdCBzdWJjbGFzcywgYW5kIGNhbGwgc3VwZXIoKS4KLSAgICAvLyBXZWJJ
bnNwZWN0b3IuT2JqZWN0LmNhbGwodGhpcyk7Ci0KLSAgICB0aGlzLl9kZWxlZ2F0ZSA9IGRlbGVn
YXRlIHx8IG51bGw7Ci0KLSAgICBjb25zb2xlLmFzc2VydChzdHlsZSk7Ci0gICAgdGhpcy5fc3R5
bGUgPSBzdHlsZSB8fCBudWxsOwotICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudHMgPSBbXTsKLSAg
ICB0aGlzLl9ydWxlRGlzYWJsZWQgPSBmYWxzZTsKLQotICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLl9lbGVtZW50LmNsYXNzTmFtZSA9
ICJzdHlsZS1kZWNsYXJhdGlvbi1zZWN0aW9uIjsKLQotICAgIHRoaXMuX2hlYWRlckVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0aGlzLl9oZWFkZXJFbGVtZW50
LmNsYXNzTmFtZSA9ICJoZWFkZXIiOwotCi0gICAgdGhpcy5faWNvbkVsZW1lbnQgPSBkb2N1bWVu
dC5jcmVhdGVFbGVtZW50KCJpbWciKTsKLSAgICB0aGlzLl9pY29uRWxlbWVudC5jbGFzc05hbWUg
PSAiaWNvbiI7Ci0gICAgdGhpcy5faGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9pY29u
RWxlbWVudCk7Ci0KLSAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJzcGFuIik7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmNsYXNzTmFtZSA9ICJz
ZWxlY3RvciI7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LnNldEF0dHJpYnV0ZSgic3BlbGxj
aGVjayIsICJmYWxzZSIpOwotICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJtb3VzZW92ZXIiLCB0aGlzLl9oYW5kbGVNb3VzZU92ZXIuYmluZCh0aGlzKSk7Ci0gICAg
dGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3V0IiwgdGhpcy5f
aGFuZGxlTW91c2VPdXQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9oYW5kbGVLZXlEb3duLmJpbmQodGhpcykp
OwotICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsIHRo
aXMuX2hhbmRsZUtleVVwLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5h
ZGRFdmVudExpc3RlbmVyKCJwYXN0ZSIsIHRoaXMuX2hhbmRsZVNlbGVjdG9yUGFzdGUuYmluZCh0
aGlzKSk7Ci0gICAgdGhpcy5faGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWxlY3Rv
ckVsZW1lbnQpOwotCi0gICAgdGhpcy5fb3JpZ2luRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoInNwYW4iKTsKLSAgICB0aGlzLl9vcmlnaW5FbGVtZW50LmNsYXNzTmFtZSA9ICJvcmln
aW4iOwotICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3JpZ2luRWxl
bWVudCk7Ci0KLSAgICB0aGlzLl9wcm9wZXJ0aWVzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwotICAgIHRoaXMuX3Byb3BlcnRpZXNFbGVtZW50LmNsYXNzTmFtZSA9ICJw
cm9wZXJ0aWVzIjsKLQotICAgIHRoaXMuX2VkaXRvckFjdGl2ZSA9IGZhbHNlOwotICAgIHRoaXMu
X3Byb3BlcnRpZXNUZXh0RWRpdG9yID0gbmV3IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uVGV4dEVkaXRvcih0aGlzLCBzdHlsZSk7Ci0gICAgdGhpcy5fcHJvcGVydGllc1RleHRFZGl0
b3IuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRF
ZGl0b3IuRXZlbnQuQ29udGVudENoYW5nZWQsIHRoaXMuX2VkaXRvckNvbnRlbnRDaGFuZ2VkLmJp
bmQodGhpcykpOwotICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLkV2ZW50LkJsdXJy
ZWQsIHRoaXMuX2VkaXRvckJsdXJyZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcHJvcGVydGll
c0VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcHJvcGVydGllc1RleHRFZGl0b3IuZWxlbWVudCk7
Ci0KLSAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2hlYWRlckVsZW1lbnQpOwot
ICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcHJvcGVydGllc0VsZW1lbnQpOwot
Ci0gICAgdmFyIGljb25DbGFzc05hbWU7Ci0gICAgc3dpdGNoIChzdHlsZS50eXBlKSB7Ci0gICAg
Y2FzZSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5UeXBlLlJ1bGU6Ci0gICAgICAg
IGNvbnNvbGUuYXNzZXJ0KHN0eWxlLm93bmVyUnVsZSk7Ci0KLSAgICAgICAgaWYgKHN0eWxlLmlu
aGVyaXRlZCkKLSAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uSW5oZXJpdGVkU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1l
OwotICAgICAgICBlbHNlIGlmIChzdHlsZS5vd25lclJ1bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9y
LkNTU1J1bGUuVHlwZS5BdXRob3IpCi0gICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0gV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkF1dGhvclN0eWxlUnVsZUljb25TdHls
ZUNsYXNzTmFtZTsKLSAgICAgICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlcikKLSAgICAgICAgICAgIGljb25DbGFzc05hbWUg
PSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uVXNlclN0eWxlUnVsZUlj
b25TdHlsZUNsYXNzTmFtZTsKLSAgICAgICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUg
PT09IFdlYkluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlckFnZW50KQotICAgICAgICAgICAgaWNv
bkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5Vc2Vy
QWdlbnRTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7Ci0gICAgICAgIGVsc2UgaWYgKHN0eWxl
Lm93bmVyUnVsZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ1NTUnVsZS5UeXBlLkluc3BlY3RvcikK
LSAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uSW5zcGVjdG9yU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lOwotICAgICAg
ICBicmVhazsKLQotICAgIGNhc2UgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlw
ZS5JbmxpbmU6Ci0gICAgY2FzZSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvbi5UeXBl
LkF0dHJpYnV0ZToKLSAgICAgICAgaWYgKHN0eWxlLmluaGVyaXRlZCkKLSAgICAgICAgICAgIGlj
b25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uSW5o
ZXJpdGVkRWxlbWVudFN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZTsKLSAgICAgICAgZWxzZQot
ICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudFBh
dGhDb21wb25lbnQuRE9NRWxlbWVudEljb25TdHlsZUNsYXNzTmFtZTsKLSAgICAgICAgYnJlYWs7
Ci0gICAgfQotCi0gICAgLy8gTWF0Y2hlcyBhbGwgc2l0dWF0aW9ucyBleGNlcHQgZm9yIFVzZXIg
QWdlbnQgc3R5bGVzLgotICAgIGlmICghKHN0eWxlLm93bmVyUnVsZSAmJiBzdHlsZS5vd25lclJ1
bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUuVHlwZS5Vc2VyQWdlbnQpKSB7Ci0gICAg
ICAgIHRoaXMuX2ljb25FbGVtZW50LmNsYXNzTGlzdC5hZGQoInRvZ2dsZS1hYmxlIik7Ci0gICAg
ICAgIHRoaXMuX2ljb25FbGVtZW50LnRpdGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb21t
ZW50IEFsbCBQcm9wZXJ0aWVzIik7Ci0gICAgICAgIHRoaXMuX2ljb25FbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlUnVsZU9uT2ZmLmJpbmQodGhpcykpOwotICAg
IH0KLQotICAgIGNvbnNvbGUuYXNzZXJ0KGljb25DbGFzc05hbWUpOwotICAgIHRoaXMuX2VsZW1l
bnQuY2xhc3NMaXN0LmFkZChpY29uQ2xhc3NOYW1lKTsKLQotICAgIGlmICghc3R5bGUuZWRpdGFi
bGUpCi0gICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uTG9ja2VkU3R5bGVDbGFzc05hbWUpOwotICAgIGVsc2Ug
aWYgKHN0eWxlLm93bmVyUnVsZSkgewotICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ1NTUnVsZS5FdmVudC5TZWxlY3RvckNoYW5nZWQs
IHRoaXMuX21hcmtTZWxlY3Rvci5iaW5kKHRoaXMpKTsKLSAgICAgICAgdGhpcy5fY29tbWl0U2Vs
ZWN0b3JLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KG51bGwsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5FbnRlciwgdGhpcy5fY29t
bWl0U2VsZWN0b3IuYmluZCh0aGlzKSwgdGhpcy5fc2VsZWN0b3JFbGVtZW50KTsKLSAgICAgICAg
dGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLl9jb21t
aXRTZWxlY3Rvci5iaW5kKHRoaXMpKTsKLSAgICB9IGVsc2UKLSAgICAgICAgdGhpcy5fZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5T
ZWxlY3RvckxvY2tlZFN0eWxlQ2xhc3NOYW1lKTsKLQotICAgIGlmICghV2ViSW5zcGVjdG9yLkNT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLl9nZW5lcmF0ZWRMb2NrSW1hZ2VzKSB7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5fZ2VuZXJhdGVkTG9ja0lt
YWdlcyA9IHRydWU7Ci0KLSAgICAgICAgdmFyIHNwZWNpZmljYXRpb25zID0geyJzdHlsZS1sb2Nr
LW5vcm1hbCI6IHtmaWxsQ29sb3I6IFswLCAwLCAwLCAwLjVdfX07Ci0gICAgICAgIGdlbmVyYXRl
Q29sb3JlZEltYWdlc0ZvckNTUygiSW1hZ2VzL0xvY2tlZC5zdmciLCBzcGVjaWZpY2F0aW9ucywg
OCwgMTApOwotICAgIH0KLQotICAgIHRoaXMucmVmcmVzaCgpOwotCi0gICAgdGhpcy5faGVhZGVy
RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjb250ZXh0bWVudSIsIHRoaXMuX2hhbmRsZUNvbnRl
eHRNZW51RXZlbnQuYmluZCh0aGlzKSk7Ci19OworICAgIGNvbnN0cnVjdG9yKGRlbGVnYXRlLCBz
dHlsZSkgeworICAgICAgICBzdXBlcigpOwogCi1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uTG9ja2VkU3R5bGVDbGFzc05hbWUgPSAibG9ja2VkIjsKLVdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3RvckxvY2tlZFN0eWxlQ2xhc3NOYW1l
ID0gInNlbGVjdG9yLWxvY2tlZCI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24uU2VsZWN0b3JJbnZhbGlkQ2xhc3NOYW1lID0gImludmFsaWQtc2VsZWN0b3IiOwotV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxhc3RJbkdyb3VwU3R5bGVDbGFz
c05hbWUgPSAibGFzdC1pbi1ncm91cCI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uTWF0Y2hlZFNlbGVjdG9yRWxlbWVudFN0eWxlQ2xhc3NOYW1lID0gIm1hdGNoZWQi
OworICAgICAgICB0aGlzLl9kZWxlZ2F0ZSA9IGRlbGVnYXRlIHx8IG51bGw7CiAKLVdlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5BdXRob3JTdHlsZVJ1bGVJY29uU3R5bGVD
bGFzc05hbWUgPSAiYXV0aG9yLXN0eWxlLXJ1bGUtaWNvbiI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24uVXNlclN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZSA9ICJ1
c2VyLXN0eWxlLXJ1bGUtaWNvbiI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24uVXNlckFnZW50U3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gInVzZXItYWdlbnQt
c3R5bGUtcnVsZS1pY29uIjsKLVdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5JbnNwZWN0b3JTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWUgPSAiaW5zcGVjdG9yLXN0eWxl
LXJ1bGUtaWNvbiI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uSW5o
ZXJpdGVkU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gImluaGVyaXRlZC1zdHlsZS1ydWxl
LWljb24iOwotV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkluaGVyaXRl
ZEVsZW1lbnRTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWUgPSAiaW5oZXJpdGVkLWVsZW1lbnQt
c3R5bGUtcnVsZS1pY29uIjsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoc3R5bGUpOworICAgICAg
ICB0aGlzLl9zdHlsZSA9IHN0eWxlIHx8IG51bGw7CisgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxl
bWVudHMgPSBbXTsKKyAgICAgICAgdGhpcy5fcnVsZURpc2FibGVkID0gZmFsc2U7CisKKyAgICAg
ICAgdGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAg
ICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInN0eWxlLWRlY2xhcmF0aW9uLXNlY3Rpb24i
KTsKKworICAgICAgICB0aGlzLl9oZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7CisgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGVh
ZGVyIik7CisgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29u
dGV4dG1lbnUiLCB0aGlzLl9oYW5kbGVDb250ZXh0TWVudUV2ZW50LmJpbmQodGhpcykpOworCisg
ICAgICAgIHRoaXMuX2ljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7
CisgICAgICAgIHRoaXMuX2ljb25FbGVtZW50LmNsYXNzTGlzdC5hZGQoImljb24iKTsKKyAgICAg
ICAgdGhpcy5faGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWxlbWVudCk7CisK
KyAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
c3BhbiIpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2Vs
ZWN0b3IiKTsKKyAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LnNldEF0dHJpYnV0ZSgic3Bl
bGxjaGVjayIsICJmYWxzZSIpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigibW91c2VvdmVyIiwgdGhpcy5faGFuZGxlTW91c2VPdmVyLmJpbmQodGhpcykp
OworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vv
dXQiLCB0aGlzLl9oYW5kbGVNb3VzZU91dC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fc2Vs
ZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9oYW5kbGVLZXlE
b3duLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigia2V5dXAiLCB0aGlzLl9oYW5kbGVLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICAgICAg
dGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5faGFu
ZGxlU2VsZWN0b3JQYXN0ZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5faGVhZGVyRWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9zZWxlY3RvckVsZW1lbnQpOworCisgICAgICAgIHRoaXMuX29y
aWdpbkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIHRo
aXMuX29yaWdpbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgib3JpZ2luIik7CisgICAgICAgIHRoaXMu
X2hlYWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3JpZ2luRWxlbWVudCk7CisKKyAgICAg
ICAgdGhpcy5fcHJvcGVydGllc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYi
KTsKKyAgICAgICAgdGhpcy5fcHJvcGVydGllc0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgicHJvcGVy
dGllcyIpOworCisgICAgICAgIHRoaXMuX2VkaXRvckFjdGl2ZSA9IGZhbHNlOworICAgICAgICB0
aGlzLl9wcm9wZXJ0aWVzVGV4dEVkaXRvciA9IG5ldyBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNs
YXJhdGlvblRleHRFZGl0b3IodGhpcywgc3R5bGUpOworICAgICAgICB0aGlzLl9wcm9wZXJ0aWVz
VGV4dEVkaXRvci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uVGV4dEVkaXRvci5FdmVudC5Db250ZW50Q2hhbmdlZCwgdGhpcy5fZWRpdG9yQ29udGVudENo
YW5nZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9y
LkV2ZW50LkJsdXJyZWQsIHRoaXMuX2VkaXRvckJsdXJyZWQuYmluZCh0aGlzKSk7CisgICAgICAg
IHRoaXMuX3Byb3BlcnRpZXNFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Byb3BlcnRpZXNUZXh0
RWRpdG9yLmVsZW1lbnQpOworCisgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5faGVhZGVyRWxlbWVudCk7CisgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fcHJvcGVydGllc0VsZW1lbnQpOwogCi1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24ucHJvdG90eXBlID0gewotICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24sCisgICAgICAgIHZhciBpY29uQ2xhc3NOYW1lOworICAg
ICAgICBzd2l0Y2ggKHN0eWxlLnR5cGUpIHsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvbi5UeXBlLlJ1bGU6CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChz
dHlsZS5vd25lclJ1bGUpOworCisgICAgICAgICAgICBpZiAoc3R5bGUuaW5oZXJpdGVkKQorICAg
ICAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uSW5oZXJpdGVkU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lOworICAgICAg
ICAgICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5DU1NS
dWxlLlR5cGUuQXV0aG9yKQorICAgICAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uQXV0aG9yU3R5bGVSdWxlSWNvblN0eWxl
Q2xhc3NOYW1lOworICAgICAgICAgICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUgPT09
IFdlYkluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlcikKKyAgICAgICAgICAgICAgICBpY29uQ2xh
c3NOYW1lID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLlVzZXJTdHls
ZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAgICAgICBlbHNlIGlmIChzdHlsZS5vd25l
clJ1bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUuVHlwZS5Vc2VyQWdlbnQpCisgICAg
ICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5Vc2VyQWdlbnRTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAg
ICAgICBlbHNlIGlmIChzdHlsZS5vd25lclJ1bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1
bGUuVHlwZS5JbnNwZWN0b3IpCisgICAgICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5JbnNwZWN0b3JTdHlsZVJ1bGVJY29u
U3R5bGVDbGFzc05hbWU7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuSW5saW5lOgorICAgICAgICBjYXNlIFdl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuQXR0cmlidXRlOgorICAgICAgICAg
ICAgaWYgKHN0eWxlLmluaGVyaXRlZCkKKyAgICAgICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0g
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkluaGVyaXRlZEVsZW1lbnRT
dHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudFBhdGhDb21w
b25lbnQuRE9NRWxlbWVudEljb25TdHlsZUNsYXNzTmFtZTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICB9CisKKyAgICAgICAgLy8gTWF0Y2hlcyBhbGwgc2l0dWF0aW9ucyBleGNlcHQgZm9y
IFVzZXIgQWdlbnQgc3R5bGVzLgorICAgICAgICBpZiAoIShzdHlsZS5vd25lclJ1bGUgJiYgc3R5
bGUub3duZXJSdWxlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlckFnZW50
KSkgeworICAgICAgICAgICAgdGhpcy5faWNvbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidG9nZ2xl
LWFibGUiKTsKKyAgICAgICAgICAgIHRoaXMuX2ljb25FbGVtZW50LnRpdGxlID0gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJDb21tZW50IEFsbCBQcm9wZXJ0aWVzIik7CisgICAgICAgICAgICB0aGlz
Ll9pY29uRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZVJ1bGVP
bk9mZi5iaW5kKHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGlj
b25DbGFzc05hbWUpOworICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoaWNvbkNs
YXNzTmFtZSk7CisKKyAgICAgICAgaWYgKCFzdHlsZS5lZGl0YWJsZSkKKyAgICAgICAgICAgIHRo
aXMuX2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgibG9ja2VkIik7CisgICAgICAgIGVsc2UgaWYgKHN0
eWxlLm93bmVyUnVsZSkgeworICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxlLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1J1bGUuRXZlbnQuU2VsZWN0b3JDaGFuZ2VkLCB0
aGlzLl9tYXJrU2VsZWN0b3IuYmluZCh0aGlzKSk7CisgICAgICAgICAgICB0aGlzLl9jb21taXRT
ZWxlY3RvcktleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkVudGVyLCB0aGlzLl9j
b21taXRTZWxlY3Rvci5iaW5kKHRoaXMpLCB0aGlzLl9zZWxlY3RvckVsZW1lbnQpOworICAgICAg
ICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlz
Ll9jb21taXRTZWxlY3Rvci5iaW5kKHRoaXMpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInNlbGVjdG9yLWxvY2tlZCIpOworCisgICAg
ICAgIGlmICghV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLl9nZW5lcmF0
ZWRMb2NrSW1hZ2VzKSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uX2dlbmVyYXRlZExvY2tJbWFnZXMgPSB0cnVlOworCisgICAgICAgICAgICB2
YXIgc3BlY2lmaWNhdGlvbnMgPSB7InN0eWxlLWxvY2stbm9ybWFsIjoge2ZpbGxDb2xvcjogWzAs
IDAsIDAsIDAuNV19fTsKKyAgICAgICAgICAgIGdlbmVyYXRlQ29sb3JlZEltYWdlc0ZvckNTUygi
SW1hZ2VzL0xvY2tlZC5zdmciLCBzcGVjaWZpY2F0aW9ucywgOCwgMTApOworICAgICAgICB9CisK
KyAgICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAgfQogCiAgICAgLy8gUHVibGljCiAKICAgICBn
ZXQgZWxlbWVudCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudDsKLSAgICB9
LAorICAgIH0KIAogICAgIGdldCBzdHlsZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5f
c3R5bGU7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgbGFzdEluR3JvdXAoKQogICAgIHsKICAg
ICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5MYXN0SW5Hcm91cFN0eWxlQ2xhc3NOYW1lKTsK
LSAgICB9LAorICAgIH0KIAogICAgIHNldCBsYXN0SW5Hcm91cChsYXN0KQogICAgIHsKLSAgICAg
ICAgaWYgKGxhc3QpCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxhc3RJbkdyb3VwU3R5bGVDbGFz
c05hbWUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlz
dC5yZW1vdmUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxhc3RJbkdy
b3VwU3R5bGVDbGFzc05hbWUpOwotICAgIH0sCisgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NM
aXN0LnRvZ2dsZShXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uTGFzdElu
R3JvdXBTdHlsZUNsYXNzTmFtZSwgbGFzdCk7CisgICAgfQogCiAgICAgZ2V0IGZvY3VzZWQoKQog
ICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmZvY3VzZWQ7
Ci0gICAgfSwKKyAgICB9CiAKLSAgICBmb2N1czogZnVuY3Rpb24oKQorICAgIGZvY3VzKCkKICAg
ICB7CiAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmZvY3VzKCk7Ci0gICAgfSwK
KyAgICB9CiAKLSAgICByZWZyZXNoOiBmdW5jdGlvbigpCisgICAgcmVmcmVzaCgpCiAgICAgewog
ICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKICAgICAgICAg
dGhpcy5fb3JpZ2luRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwpAQCAtMTk1LDcgKzE3NSw3IEBA
IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICBzZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSBzZWxlY3Rvci50ZXh0Owog
CiAgICAgICAgICAgICBpZiAobWF0Y2hlZCkKLSAgICAgICAgICAgICAgICBzZWxlY3RvckVsZW1l
bnQuY2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLk1h
dGNoZWRTZWxlY3RvckVsZW1lbnRTdHlsZUNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICBzZWxl
Y3RvckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uTWF0Y2hlZFNlbGVjdG9yRWxlbWVudFN0eWxlQ2xhc3NOYW1lKTsKIAogICAgICAg
ICAgICAgdmFyIHNwZWNpZmljaXR5ID0gc2VsZWN0b3Iuc3BlY2lmaWNpdHk7CiAgICAgICAgICAg
ICBpZiAoc3BlY2lmaWNpdHkpIHsKQEAgLTIyMyw3ICsyMDMsNyBAQCBXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICB7CiAgICAgICAg
ICAgICB2YXIgc2VsZWN0b3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIp
OwogICAgICAgICAgICAgc2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50ID0gc2VsZWN0b3JUZXh0
OwotICAgICAgICAgICAgc2VsZWN0b3JFbGVtZW50LmNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5NYXRjaGVkU2VsZWN0b3JFbGVtZW50U3R5bGVDbGFz
c05hbWU7CisgICAgICAgICAgICBzZWxlY3RvckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uTWF0Y2hlZFNlbGVjdG9yRWxlbWVudFN0
eWxlQ2xhc3NOYW1lKTsKICAgICAgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hcHBlbmRD
aGlsZChzZWxlY3RvckVsZW1lbnQpOwogICAgICAgICB9CiAKQEAgLTI4Myw5ICsyNjMsOSBAQCBX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAg
ICAgICAgICAgdGhpcy5fb3JpZ2luRWxlbWVudC5hcHBlbmQoV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJIVE1MIEF0dHJpYnV0ZXMiKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAg
IH0sCisgICAgfQogCi0gICAgaGlnaGxpZ2h0UHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5KQor
ICAgIGhpZ2hsaWdodFByb3BlcnR5KHByb3BlcnR5KQogICAgIHsKICAgICAgICAgaWYgKHRoaXMu
X3Byb3BlcnRpZXNUZXh0RWRpdG9yLmhpZ2hsaWdodFByb3BlcnR5KHByb3BlcnR5KSkgewogICAg
ICAgICAgICAgdGhpcy5fZWxlbWVudC5zY3JvbGxJbnRvVmlldygpOwpAQCAtMjkzLDkgKzI3Myw5
IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KIAogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSwKKyAgICB9CiAKLSAg
ICBmaW5kTWF0Y2hpbmdQcm9wZXJ0aWVzQW5kU2VsZWN0b3JzOiBmdW5jdGlvbihuZWVkbGUpCisg
ICAgZmluZE1hdGNoaW5nUHJvcGVydGllc0FuZFNlbGVjdG9ycyhuZWVkbGUpCiAgICAgewogICAg
ICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLkNTU1N0eWxl
RGV0YWlsc1NpZGViYXJQYW5lbC5Ob0ZpbHRlck1hdGNoSW5TZWN0aW9uQ2xhc3NOYW1lLCBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLkZpbHRlck1hdGNoaW5nU2VjdGlv
bkhhc0xhYmVsQ2xhc3NOYW1lKTsKIApAQCAtMzIzLDI1ICszMDMsMjUgQEAgV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgIH0sCisgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0OiBm
dW5jdGlvbigpCisgICAgdXBkYXRlTGF5b3V0KCkKICAgICB7CiAgICAgICAgIHRoaXMuX3Byb3Bl
cnRpZXNUZXh0RWRpdG9yLnVwZGF0ZUxheW91dCgpOwotICAgIH0sCisgICAgfQogCi0gICAgY2xl
YXJTZWxlY3Rpb246IGZ1bmN0aW9uKCkKKyAgICBjbGVhclNlbGVjdGlvbigpCiAgICAgewogICAg
ICAgICB0aGlzLl9wcm9wZXJ0aWVzVGV4dEVkaXRvci5jbGVhclNlbGVjdGlvbigpOwotICAgIH0s
CisgICAgfQogCi0gICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JGb2N1c2VkOiBmdW5j
dGlvbigpCisgICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JGb2N1c2VkKCkKICAgICB7
CiAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5fZGVsZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb25FZGl0b3JGb2N1c2VkID09PSAiZnVuY3Rpb24iKQogICAgICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JGb2N1c2VkKHRoaXMpOwotICAg
IH0sCisgICAgfQogCi0gICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JTd2l0Y2hSdWxl
OiBmdW5jdGlvbihyZXZlcnNlKQorICAgIGNzc1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yU3dp
dGNoUnVsZShyZXZlcnNlKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9kZWxlZ2F0ZSkKICAg
ICAgICAgICAgIHJldHVybjsKQEAgLTM1MCw5ICszMzAsOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fZGVs
ZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JQcmV2aW91c1J1bGUodGhpcyk7
CiAgICAgICAgIGVsc2UgaWYgKCFyZXZlcnNlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5jc3NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbkVkaXRvck5leHRSdWxlID09PSAiZnVuY3Rpb24iKQogICAg
ICAgICAgICAgdGhpcy5fZGVsZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JO
ZXh0UnVsZSh0aGlzKTsKLSAgICB9LAorICAgIH0KIAotICAgIGZvY3VzUnVsZVNlbGVjdG9yOiBm
dW5jdGlvbihyZXZlcnNlKQorICAgIGZvY3VzUnVsZVNlbGVjdG9yKHJldmVyc2UpCiAgICAgewog
ICAgICAgICBpZiAodGhpcy5zZWxlY3RvckxvY2tlZCkgewogICAgICAgICAgICAgdGhpcy5mb2N1
cygpOwpAQCAtMzcyLDI3ICszNTIsMjcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3Jl
YXRlUmFuZ2UoKTsKICAgICAgICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRoaXMuX3NlbGVj
dG9yRWxlbWVudCk7CiAgICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7Ci0gICAgfSwK
KyAgICB9CiAKLSAgICBzZWxlY3RMYXN0UHJvcGVydHk6IGZ1bmN0aW9uKCkKKyAgICBzZWxlY3RM
YXN0UHJvcGVydHkoKQogICAgIHsKICAgICAgICAgdGhpcy5fcHJvcGVydGllc1RleHRFZGl0b3Iu
c2VsZWN0TGFzdFByb3BlcnR5KCk7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgc2VsZWN0b3JM
b2NrZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZCAmJiAhdGhpcy5fc3R5
bGUub3duZXJSdWxlOwotICAgIH0sCisgICAgfQogCiAgICAgZ2V0IGxvY2tlZCgpCiAgICAgewog
ICAgICAgICByZXR1cm4gIXRoaXMuX3N0eWxlLmVkaXRhYmxlOwotICAgIH0sCisgICAgfQogCiAg
ICAgZ2V0IGVkaXRvckFjdGl2ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWRpdG9y
QWN0aXZlOwotICAgIH0sCisgICAgfQogCiAgICAgLy8gUHJpdmF0ZQogCkBAIC00MDYsOSArMzg2
LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIHNlbGVjdG9yVGV4dCA9IHRoaXMuX3N0eWxlLm93bmVyUnVsZS5zZWxl
Y3RvclRleHQ7CiAKICAgICAgICAgcmV0dXJuIHNlbGVjdG9yVGV4dC50cmltKCk7Ci0gICAgfSwK
KyAgICB9CiAKLSAgICBfaGFuZGxlU2VsZWN0b3JQYXN0ZTogZnVuY3Rpb24oZXZlbnQpCisgICAg
X2hhbmRsZVNlbGVjdG9yUGFzdGUoZXZlbnQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fc3R5
bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlwZS5JbmxpbmUg
fHwgIXRoaXMuX3N0eWxlLm93bmVyUnVsZSkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQ0Myw5
ICs0MjMsOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlID0gewogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSBzZWxl
Y3RvcjsKICAgICAgICAgdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5jaGFuZ2VSdWxlKHRoaXMuX3N0
eWxlLm93bmVyUnVsZSwgc2VsZWN0b3IsIG1hdGNoWzJdKTsKICAgICAgICAgZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVDb250ZXh0TWVudUV2ZW50
OiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlQ29udGV4dE1lbnVFdmVudChldmVudCkKICAg
ICB7CiAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKS5sZW5ndGgp
CiAgICAgICAgICAgICByZXR1cm47CkBAIC00NTcsOSArNDM3LDkgQEAgV2ViSW5zcGVjdG9yLkNT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgfS5iaW5kKHRo
aXMpKTsKIAogICAgICAgICBjb250ZXh0TWVudS5zaG93KCk7Ci0gICAgfSwKKyAgICB9CiAKLSAg
ICBfZ2VuZXJhdGVDU1NSdWxlU3RyaW5nOiBmdW5jdGlvbigpCisgICAgX2dlbmVyYXRlQ1NTUnVs
ZVN0cmluZygpCiAgICAgewogICAgICAgICB2YXIgbnVtTWVkaWFRdWVyaWVzID0gMDsKICAgICAg
ICAgdmFyIHN0eWxlVGV4dCA9ICIiOwpAQCAtNDk0LDkgKzQ3NCw5IEBAIFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIHN0eWxlVGV4
dCArPSAifSI7CiAKICAgICAgICAgcmV0dXJuIHN0eWxlVGV4dDsKLSAgICB9LAorICAgIH0KIAot
ICAgIF90b2dnbGVSdWxlT25PZmY6IGZ1bmN0aW9uKCkKKyAgICBfdG9nZ2xlUnVsZU9uT2ZmKCkK
ICAgICB7CiAgICAgICAgIGlmICh0aGlzLl9oYXNJbnZhbGlkU2VsZWN0b3IpCiAgICAgICAgICAg
ICByZXR1cm47CkBAIC01MDQsOSArNDg0LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcnVsZURpc2FibGVkID0g
dGhpcy5fcnVsZURpc2FibGVkID8gIXRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLnVuY29tbWVu
dEFsbFByb3BlcnRpZXMoKSA6IHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmNvbW1lbnRBbGxQ
cm9wZXJ0aWVzKCk7CiAgICAgICAgIHRoaXMuX2ljb25FbGVtZW50LnRpdGxlID0gdGhpcy5fcnVs
ZURpc2FibGVkID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVbmNvbW1lbnQgQWxsIFByb3BlcnRp
ZXMiKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29tbWVudCBBbGwgUHJvcGVydGllcyIpOwog
ICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInJ1bGUtZGlzYWJsZWQiLCB0
aGlzLl9ydWxlRGlzYWJsZWQpOwotICAgIH0sCisgICAgfQogCi0gICAgX2hpZ2hsaWdodE5vZGVz
V2l0aFNlbGVjdG9yOiBmdW5jdGlvbigpCisgICAgX2hpZ2hsaWdodE5vZGVzV2l0aFNlbGVjdG9y
KCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKSB7CiAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0RE9NTm9kZSh0aGlzLl9z
dHlsZS5ub2RlLmlkKTsKQEAgLTUxNCwyNCArNDk0LDI0IEBAIFdlYkluc3BlY3Rvci5DU1NTdHls
ZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICBX
ZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0U2VsZWN0b3IodGhpcy5fY3VycmVu
dFNlbGVjdG9yVGV4dCwgdGhpcy5fc3R5bGUubm9kZS5vd25lckRvY3VtZW50LmZyYW1lSWRlbnRp
Zmllcik7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBfaGlkZURPTU5vZGVIaWdobGlnaHQ6IGZ1bmN0
aW9uKCkKKyAgICBfaGlkZURPTU5vZGVIaWdobGlnaHQoKQogICAgIHsKICAgICAgICAgV2ViSW5z
cGVjdG9yLmRvbVRyZWVNYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7Ci0gICAgfSwKKyAg
ICB9CiAKLSAgICBfaGFuZGxlTW91c2VPdmVyOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxl
TW91c2VPdmVyKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5faGlnaGxpZ2h0Tm9kZXNXaXRo
U2VsZWN0b3IoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVNb3VzZU91dDogZnVuY3Rp
b24oZXZlbnQpCisgICAgX2hhbmRsZU1vdXNlT3V0KGV2ZW50KQogICAgIHsKICAgICAgICAgdGhp
cy5faGlkZURPTU5vZGVIaWdobGlnaHQoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVL
ZXlEb3duOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlS2V5RG93bihldmVudCkKICAgICB7
CiAgICAgICAgIGlmIChldmVudC5rZXlDb2RlICE9PSA5KSB7CiAgICAgICAgICAgICB0aGlzLl9o
aWdobGlnaHROb2Rlc1dpdGhTZWxlY3RvcigpOwpAQCAtNTUwLDE0ICs1MzAsMTQgQEAgV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAg
ICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLnNlbGVjdEZpcnN0UHJvcGVydHkoKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0sCisgICAgfQogCi0gICAgX2hhbmRs
ZUtleVVwOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlS2V5VXAoZXZlbnQpCiAgICAgewog
ICAgICAgICB0aGlzLl9oaWdobGlnaHROb2Rlc1dpdGhTZWxlY3RvcigpOwotICAgIH0sCisgICAg
fQogCi0gICAgX2NvbW1pdFNlbGVjdG9yOiBmdW5jdGlvbihtdXRhdGlvbnMpCisgICAgX2NvbW1p
dFNlbGVjdG9yKG11dGF0aW9ucykKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMu
X3N0eWxlLm93bmVyUnVsZSk7CiAgICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQpA
QCAtNTcxLDkgKzU1MSw5IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1
bGUuc2VsZWN0b3JUZXh0ID0gbmV3U2VsZWN0b3JUZXh0OwotICAgIH0sCisgICAgfQogCi0gICAg
X21hcmtTZWxlY3RvcjogZnVuY3Rpb24oZXZlbnQpCisgICAgX21hcmtTZWxlY3RvcihldmVudCkK
ICAgICB7CiAgICAgICAgIHZhciB2YWxpZCA9IGV2ZW50ICYmIGV2ZW50LmRhdGEgJiYgZXZlbnQu
ZGF0YS52YWxpZDsKICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3RvckludmFsaWRDbGFzc05h
bWUsICF2YWxpZCk7CkBAIC01ODgsMTkgKzU2OCwxOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zZWxlY3RvckVs
ZW1lbnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlVzaW5nIHRoZSBwcmV2aW91cyBz
ZWxlY3RvciAnJXMnLiIpLmZvcm1hdCh0aGlzLl9zdHlsZS5vd25lclJ1bGUuc2VsZWN0b3JUZXh0
KTsKICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2hp
bGRyZW4ubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2hp
bGRyZW5baV0udGl0bGUgPSBudWxsOwotICAgIH0sCisgICAgfQogCiAgICAgZ2V0IF9oYXNJbnZh
bGlkU2VsZWN0b3IoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NM
aXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxl
Y3RvckludmFsaWRDbGFzc05hbWUpOwotICAgIH0sCisgICAgfQogCi0gICAgX2VkaXRvckNvbnRl
bnRDaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKKyAgICBfZWRpdG9yQ29udGVudENoYW5nZWQoZXZl
bnQpCiAgICAgewogICAgICAgICB0aGlzLl9lZGl0b3JBY3RpdmUgPSB0cnVlOwotICAgIH0sCisg
ICAgfQogCi0gICAgX2VkaXRvckJsdXJyZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF9lZGl0b3JC
bHVycmVkKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fZWRpdG9yQWN0aXZlID0gZmFsc2U7
CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5FdmVudC5CbHVycmVkKTsKQEAgLTYxMSw0ICs1OTEsMTMg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkV2ZW50ID0gewogICAg
IEJsdXJyZWQ6ICJjc3Mtc3R5bGUtZGVjbGFyYXRpb24tc2VjdGlvbnMtYmx1cnJlZCIKIH07CiAK
LVdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX19wcm90
b19fID0gV2ViSW5zcGVjdG9yLlN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZTsKK1dlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3RvckludmFsaWRDbGFzc05hbWUg
PSAiaW52YWxpZC1zZWxlY3RvciI7CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24uTGFzdEluR3JvdXBTdHlsZUNsYXNzTmFtZSA9ICJsYXN0LWluLWdyb3VwIjsKK1dlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5NYXRjaGVkU2VsZWN0b3JFbGVtZW50
U3R5bGVDbGFzc05hbWUgPSAibWF0Y2hlZCI7CisKK1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xh
cmF0aW9uU2VjdGlvbi5BdXRob3JTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWUgPSAiYXV0aG9y
LXN0eWxlLXJ1bGUtaWNvbiI7CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b24uVXNlclN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZSA9ICJ1c2VyLXN0eWxlLXJ1bGUtaWNv
biI7CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uVXNlckFnZW50U3R5
bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gInVzZXItYWdlbnQtc3R5bGUtcnVsZS1pY29uIjsK
K1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5JbnNwZWN0b3JTdHlsZVJ1
bGVJY29uU3R5bGVDbGFzc05hbWUgPSAiaW5zcGVjdG9yLXN0eWxlLXJ1bGUtaWNvbiI7CitXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uSW5oZXJpdGVkU3R5bGVSdWxlSWNv
blN0eWxlQ2xhc3NOYW1lID0gImluaGVyaXRlZC1zdHlsZS1ydWxlLWljb24iOworV2ViSW5zcGVj
dG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkluaGVyaXRlZEVsZW1lbnRTdHlsZVJ1bGVJ
Y29uU3R5bGVDbGFzc05hbWUgPSAiaW5oZXJpdGVkLWVsZW1lbnQtc3R5bGUtcnVsZS1pY29uIjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258157</attachid>
            <date>2015-08-03 23:09:49 -0700</date>
            <delta_ts>2015-08-07 10:09:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-147537-20150803230942.patch</filename>
            <type>text/plain</type>
            <size>27528</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDU5YWI0MmI0NDljMjgwNmUwZWEzYWY2NGViZGNm
ZjgwZTEzMjM4ZmEuLmVhZjZmMjc2NGIyZjA5ZDkwODdlYzBjZDI1NDQxMTJmYmUzNmUyMzUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDE1LTA4LTAzICBEZXZp
biBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBD
b252ZXJ0IENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uIHRvIEVTNiBDbGFzcworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ3NTM3CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IGVsZW1lbnQpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgc3R5
bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnBy
b3RvdHlwZS5nZXQgbGFzdEluR3JvdXApOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5zZXQgbGFzdEluR3JvdXApOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgZm9j
dXNlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
cHJvdG90eXBlLmZvY3VzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUucmVmcmVzaC5hcHBlbmRTZWxlY3Rvcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLnJlZnJlc2gu
YXBwZW5kU2VsZWN0b3JUZXh0S25vd25Ub01hdGNoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUucmVmcmVzaCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLmhpZ2hsaWdo
dFByb3BlcnR5KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbi5wcm90b3R5cGUuZmluZE1hdGNoaW5nUHJvcGVydGllc0FuZFNlbGVjdG9ycyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLnVw
ZGF0ZUxheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24ucHJvdG90eXBlLmNsZWFyU2VsZWN0aW9uKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblRl
eHRFZGl0b3JGb2N1c2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUuY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JTd2l0Y2hS
dWxlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5w
cm90b3R5cGUuZm9jdXNSdWxlU2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5zZWxlY3RMYXN0UHJvcGVydHkpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5n
ZXQgc2VsZWN0b3JMb2NrZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFy
YXRpb25TZWN0aW9uLnByb3RvdHlwZS5nZXQgbG9ja2VkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IGVkaXRvckFjdGl2ZSk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90
eXBlLmdldCBfY3VycmVudFNlbGVjdG9yVGV4dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVTZWxlY3RvclBhc3RlLnBh
cnNlVGV4dEZvclJ1bGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlU2VsZWN0b3JQYXN0ZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl9oYW5kbGVDb250
ZXh0TWVudUV2ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5wcm90b3R5cGUuX2dlbmVyYXRlQ1NTUnVsZVN0cmluZyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlLl90b2dnbGVSdWxl
T25PZmYpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
LnByb3RvdHlwZS5faGlnaGxpZ2h0Tm9kZXNXaXRoU2VsZWN0b3IpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5faGlkZURPTU5vZGVI
aWdobGlnaHQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLnByb3RvdHlwZS5faGFuZGxlTW91c2VPdmVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX2hhbmRsZU1vdXNlT3V0KToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUu
X2hhbmRsZUtleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5faGFuZGxlS2V5VXApOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5fY29tbWl0U2VsZWN0b3IpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlw
ZS5fbWFya1NlbGVjdG9yKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5wcm90b3R5cGUuZ2V0IF9oYXNJbnZhbGlkU2VsZWN0b3IpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZS5fZWRpdG9y
Q29udGVudENoYW5nZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZS5fZWRpdG9yQmx1cnJlZCk6CisKIDIwMTUtMDgtMDMgIE1hdHQg
QmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJF
R1JFU1NJT04gKHIxODc3MDgpOiBCcmVha3BvaW50IGRpYWxvZyBzY3JpcHQgYWN0aW9uIGVkaXRp
bmcgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpzCmlu
ZGV4IGUzMDA0MmNhZmQwYWY0NWNmNThiOThjMzRjNjVkZmQwODlhOWQxMTcuLjFhNTRkNmY3NGNk
N2IzNGY3YjRlNTc2YmZlMDNjNmI0YTEwMzI1OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLmpzCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yMywxNjMgKzIzLDE0NCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2Vj
dGlvbiA9IGZ1bmN0aW9uKGRlbGVnYXRlLCBzdHlsZSkKK1dlYkluc3BlY3Rvci5DU1NTdHlsZURl
Y2xhcmF0aW9uU2VjdGlvbiA9IGNsYXNzIENTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uIGV4dGVu
ZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogewotICAgIC8vIEZJWE1FOiBDb252ZXJ0IHRoaXMgdG8g
YSBXZWJJbnNwZWN0b3IuT2JqZWN0IHN1YmNsYXNzLCBhbmQgY2FsbCBzdXBlcigpLgotICAgIC8v
IFdlYkluc3BlY3Rvci5PYmplY3QuY2FsbCh0aGlzKTsKLQotICAgIHRoaXMuX2RlbGVnYXRlID0g
ZGVsZWdhdGUgfHwgbnVsbDsKLQotICAgIGNvbnNvbGUuYXNzZXJ0KHN0eWxlKTsKLSAgICB0aGlz
Ll9zdHlsZSA9IHN0eWxlIHx8IG51bGw7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50cyA9IFtd
OwotICAgIHRoaXMuX3J1bGVEaXNhYmxlZCA9IGZhbHNlOwotCi0gICAgdGhpcy5fZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NO
YW1lID0gInN0eWxlLWRlY2xhcmF0aW9uLXNlY3Rpb24iOwotCi0gICAgdGhpcy5faGVhZGVyRWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwotICAgIHRoaXMuX2hlYWRlckVs
ZW1lbnQuY2xhc3NOYW1lID0gImhlYWRlciI7Ci0KLSAgICB0aGlzLl9pY29uRWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpOwotICAgIHRoaXMuX2ljb25FbGVtZW50LmNsYXNz
TmFtZSA9ICJpY29uIjsKLSAgICB0aGlzLl9oZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X2ljb25FbGVtZW50KTsKLQotICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2xhc3NOYW1l
ID0gInNlbGVjdG9yIjsKLSAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuc2V0QXR0cmlidXRlKCJz
cGVsbGNoZWNrIiwgImZhbHNlIik7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlb3ZlciIsIHRoaXMuX2hhbmRsZU1vdXNlT3Zlci5iaW5kKHRoaXMpKTsK
LSAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCB0
aGlzLl9oYW5kbGVNb3VzZU91dC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9zZWxlY3RvckVsZW1l
bnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX2hhbmRsZUtleURvd24uYmluZCh0
aGlzKSk7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleXVw
IiwgdGhpcy5faGFuZGxlS2V5VXAuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc2VsZWN0b3JFbGVt
ZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5faGFuZGxlU2VsZWN0b3JQYXN0ZS5i
aW5kKHRoaXMpKTsKLSAgICB0aGlzLl9oZWFkZXJFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Nl
bGVjdG9yRWxlbWVudCk7Ci0KLSAgICB0aGlzLl9vcmlnaW5FbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgic3BhbiIpOwotICAgIHRoaXMuX29yaWdpbkVsZW1lbnQuY2xhc3NOYW1lID0g
Im9yaWdpbiI7Ci0gICAgdGhpcy5faGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9vcmln
aW5FbGVtZW50KTsKLQotICAgIHRoaXMuX3Byb3BlcnRpZXNFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgdGhpcy5fcHJvcGVydGllc0VsZW1lbnQuY2xhc3NOYW1l
ID0gInByb3BlcnRpZXMiOwotCi0gICAgdGhpcy5fZWRpdG9yQWN0aXZlID0gZmFsc2U7Ci0gICAg
dGhpcy5fcHJvcGVydGllc1RleHRFZGl0b3IgPSBuZXcgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb25UZXh0RWRpdG9yKHRoaXMsIHN0eWxlKTsKLSAgICB0aGlzLl9wcm9wZXJ0aWVzVGV4
dEVkaXRvci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
VGV4dEVkaXRvci5FdmVudC5Db250ZW50Q2hhbmdlZCwgdGhpcy5fZWRpdG9yQ29udGVudENoYW5n
ZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fcHJvcGVydGllc1RleHRFZGl0b3IuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuRXZlbnQu
Qmx1cnJlZCwgdGhpcy5fZWRpdG9yQmx1cnJlZC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9wcm9w
ZXJ0aWVzRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wcm9wZXJ0aWVzVGV4dEVkaXRvci5lbGVt
ZW50KTsKLQotICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5faGVhZGVyRWxlbWVu
dCk7Ci0gICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9wcm9wZXJ0aWVzRWxlbWVu
dCk7Ci0KLSAgICB2YXIgaWNvbkNsYXNzTmFtZTsKLSAgICBzd2l0Y2ggKHN0eWxlLnR5cGUpIHsK
LSAgICBjYXNlIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuUnVsZToKLSAg
ICAgICAgY29uc29sZS5hc3NlcnQoc3R5bGUub3duZXJSdWxlKTsKLQotICAgICAgICBpZiAoc3R5
bGUuaW5oZXJpdGVkKQotICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5Jbmhlcml0ZWRTdHlsZVJ1bGVJY29uU3R5bGVDbGFz
c05hbWU7Ci0gICAgICAgIGVsc2UgaWYgKHN0eWxlLm93bmVyUnVsZS50eXBlID09PSBXZWJJbnNw
ZWN0b3IuQ1NTUnVsZS5UeXBlLkF1dGhvcikKLSAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBX
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uQXV0aG9yU3R5bGVSdWxlSWNv
blN0eWxlQ2xhc3NOYW1lOwotICAgICAgICBlbHNlIGlmIChzdHlsZS5vd25lclJ1bGUudHlwZSA9
PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUuVHlwZS5Vc2VyKQotICAgICAgICAgICAgaWNvbkNsYXNz
TmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5Vc2VyU3R5bGVS
dWxlSWNvblN0eWxlQ2xhc3NOYW1lOwotICAgICAgICBlbHNlIGlmIChzdHlsZS5vd25lclJ1bGUu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUuVHlwZS5Vc2VyQWdlbnQpCi0gICAgICAgICAg
ICBpY29uQ2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9u
LlVzZXJBZ2VudFN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZTsKLSAgICAgICAgZWxzZSBpZiAo
c3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5DU1NSdWxlLlR5cGUuSW5zcGVj
dG9yKQotICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURl
Y2xhcmF0aW9uU2VjdGlvbi5JbnNwZWN0b3JTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7Ci0g
ICAgICAgIGJyZWFrOwotCi0gICAgY2FzZSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
bi5UeXBlLklubGluZToKLSAgICBjYXNlIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
LlR5cGUuQXR0cmlidXRlOgotICAgICAgICBpZiAoc3R5bGUuaW5oZXJpdGVkKQotICAgICAgICAg
ICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5Jbmhlcml0ZWRFbGVtZW50U3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkRPTVRyZWVFbGVt
ZW50UGF0aENvbXBvbmVudC5ET01FbGVtZW50SWNvblN0eWxlQ2xhc3NOYW1lOwotICAgICAgICBi
cmVhazsKLSAgICB9Ci0KLSAgICAvLyBNYXRjaGVzIGFsbCBzaXR1YXRpb25zIGV4Y2VwdCBmb3Ig
VXNlciBBZ2VudCBzdHlsZXMuCi0gICAgaWYgKCEoc3R5bGUub3duZXJSdWxlICYmIHN0eWxlLm93
bmVyUnVsZS50eXBlID09PSBXZWJJbnNwZWN0b3IuQ1NTUnVsZS5UeXBlLlVzZXJBZ2VudCkpIHsK
LSAgICAgICAgdGhpcy5faWNvbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidG9nZ2xlLWFibGUiKTsK
LSAgICAgICAgdGhpcy5faWNvbkVsZW1lbnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IkNvbW1lbnQgQWxsIFByb3BlcnRpZXMiKTsKLSAgICAgICAgdGhpcy5faWNvbkVsZW1lbnQuYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl90b2dnbGVSdWxlT25PZmYuYmluZCh0aGlzKSk7
Ci0gICAgfQotCi0gICAgY29uc29sZS5hc3NlcnQoaWNvbkNsYXNzTmFtZSk7Ci0gICAgdGhpcy5f
ZWxlbWVudC5jbGFzc0xpc3QuYWRkKGljb25DbGFzc05hbWUpOwotCi0gICAgaWYgKCFzdHlsZS5l
ZGl0YWJsZSkKLSAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5Mb2NrZWRTdHlsZUNsYXNzTmFtZSk7Ci0gICAg
ZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlKSB7Ci0gICAgICAgIHRoaXMuX3N0eWxlLm93bmVyUnVs
ZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NSdWxlLkV2ZW50LlNlbGVjdG9yQ2hh
bmdlZCwgdGhpcy5fbWFya1NlbGVjdG9yLmJpbmQodGhpcykpOwotICAgICAgICB0aGlzLl9jb21t
aXRTZWxlY3RvcktleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkVudGVyLCB0aGlz
Ll9jb21taXRTZWxlY3Rvci5iaW5kKHRoaXMpLCB0aGlzLl9zZWxlY3RvckVsZW1lbnQpOwotICAg
ICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsIHRoaXMu
X2NvbW1pdFNlbGVjdG9yLmJpbmQodGhpcykpOwotICAgIH0gZWxzZQotICAgICAgICB0aGlzLl9l
bGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0
aW9uLlNlbGVjdG9yTG9ja2VkU3R5bGVDbGFzc05hbWUpOwotCi0gICAgaWYgKCFXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uX2dlbmVyYXRlZExvY2tJbWFnZXMpIHsKLSAg
ICAgICAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLl9nZW5lcmF0ZWRM
b2NrSW1hZ2VzID0gdHJ1ZTsKLQotICAgICAgICB2YXIgc3BlY2lmaWNhdGlvbnMgPSB7InN0eWxl
LWxvY2stbm9ybWFsIjoge2ZpbGxDb2xvcjogWzAsIDAsIDAsIDAuNV19fTsKLSAgICAgICAgZ2Vu
ZXJhdGVDb2xvcmVkSW1hZ2VzRm9yQ1NTKCJJbWFnZXMvTG9ja2VkLnN2ZyIsIHNwZWNpZmljYXRp
b25zLCA4LCAxMCk7Ci0gICAgfQotCi0gICAgdGhpcy5yZWZyZXNoKCk7Ci0KLSAgICB0aGlzLl9o
ZWFkZXJFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNvbnRleHRtZW51IiwgdGhpcy5faGFuZGxl
Q29udGV4dE1lbnVFdmVudC5iaW5kKHRoaXMpKTsKLX07CisgICAgY29uc3RydWN0b3IoZGVsZWdh
dGUsIHN0eWxlKQorICAgIHsKKyAgICAgICAgc3VwZXIoKTsKIAotV2ViSW5zcGVjdG9yLkNTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxvY2tlZFN0eWxlQ2xhc3NOYW1lID0gImxvY2tlZCI7Ci1X
ZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uU2VsZWN0b3JMb2NrZWRTdHls
ZUNsYXNzTmFtZSA9ICJzZWxlY3Rvci1sb2NrZWQiOwotV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLlNlbGVjdG9ySW52YWxpZENsYXNzTmFtZSA9ICJpbnZhbGlkLXNlbGVj
dG9yIjsKLVdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5MYXN0SW5Hcm91
cFN0eWxlQ2xhc3NOYW1lID0gImxhc3QtaW4tZ3JvdXAiOwotV2ViSW5zcGVjdG9yLkNTU1N0eWxl
RGVjbGFyYXRpb25TZWN0aW9uLk1hdGNoZWRTZWxlY3RvckVsZW1lbnRTdHlsZUNsYXNzTmFtZSA9
ICJtYXRjaGVkIjsKKyAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZSB8fCBudWxsOwog
Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uQXV0aG9yU3R5bGVSdWxl
SWNvblN0eWxlQ2xhc3NOYW1lID0gImF1dGhvci1zdHlsZS1ydWxlLWljb24iOwotV2ViSW5zcGVj
dG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLlVzZXJTdHlsZVJ1bGVJY29uU3R5bGVDbGFz
c05hbWUgPSAidXNlci1zdHlsZS1ydWxlLWljb24iOwotV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb25TZWN0aW9uLlVzZXJBZ2VudFN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZSA9ICJ1
c2VyLWFnZW50LXN0eWxlLXJ1bGUtaWNvbiI7Ci1XZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblNlY3Rpb24uSW5zcGVjdG9yU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gImluc3Bl
Y3Rvci1zdHlsZS1ydWxlLWljb24iOwotV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLkluaGVyaXRlZFN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZSA9ICJpbmhlcml0ZWQt
c3R5bGUtcnVsZS1pY29uIjsKLVdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlv
bi5Jbmhlcml0ZWRFbGVtZW50U3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gImluaGVyaXRl
ZC1lbGVtZW50LXN0eWxlLXJ1bGUtaWNvbiI7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHN0eWxl
IGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24pOworICAgICAgICB0
aGlzLl9zdHlsZSA9IHN0eWxlIHx8IG51bGw7CisgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVu
dHMgPSBbXTsKKyAgICAgICAgdGhpcy5fcnVsZURpc2FibGVkID0gZmFsc2U7CisKKyAgICAgICAg
dGhpcy5fZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICB0
aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInN0eWxlLWRlY2xhcmF0aW9uLXNlY3Rpb24iKTsK
KworICAgICAgICB0aGlzLl9oZWFkZXJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgi
ZGl2Iik7CisgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiaGVhZGVy
Iik7CisgICAgICAgIHRoaXMuX2hlYWRlckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4
dG1lbnUiLCB0aGlzLl9oYW5kbGVDb250ZXh0TWVudUV2ZW50LmJpbmQodGhpcykpOworCisgICAg
ICAgIHRoaXMuX2ljb25FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIik7Cisg
ICAgICAgIHRoaXMuX2ljb25FbGVtZW50LmNsYXNzTGlzdC5hZGQoImljb24iKTsKKyAgICAgICAg
dGhpcy5faGVhZGVyRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9pY29uRWxlbWVudCk7CisKKyAg
ICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3Bh
biIpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2xhc3NMaXN0LmFkZCgic2VsZWN0
b3IiKTsKKyAgICAgICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LnNldEF0dHJpYnV0ZSgic3BlbGxj
aGVjayIsICJmYWxzZSIpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigibW91c2VvdmVyIiwgdGhpcy5faGFuZGxlTW91c2VPdmVyLmJpbmQodGhpcykpOwor
ICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQi
LCB0aGlzLl9oYW5kbGVNb3VzZU91dC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fc2VsZWN0
b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCB0aGlzLl9oYW5kbGVLZXlEb3du
LmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuYWRkRXZlbnRMaXN0
ZW5lcigia2V5dXAiLCB0aGlzLl9oYW5kbGVLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhp
cy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIiwgdGhpcy5faGFuZGxl
U2VsZWN0b3JQYXN0ZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5faGVhZGVyRWxlbWVudC5h
cHBlbmRDaGlsZCh0aGlzLl9zZWxlY3RvckVsZW1lbnQpOwogCi1XZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewotICAgIGNvbnN0cnVjdG9yOiBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24sCisgICAgICAgIHRoaXMuX29yaWdp
bkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CisgICAgICAgIHRoaXMu
X29yaWdpbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgib3JpZ2luIik7CisgICAgICAgIHRoaXMuX2hl
YWRlckVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fb3JpZ2luRWxlbWVudCk7CisKKyAgICAgICAg
dGhpcy5fcHJvcGVydGllc0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsK
KyAgICAgICAgdGhpcy5fcHJvcGVydGllc0VsZW1lbnQuY2xhc3NMaXN0LmFkZCgicHJvcGVydGll
cyIpOworCisgICAgICAgIHRoaXMuX2VkaXRvckFjdGl2ZSA9IGZhbHNlOworICAgICAgICB0aGlz
Ll9wcm9wZXJ0aWVzVGV4dEVkaXRvciA9IG5ldyBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJh
dGlvblRleHRFZGl0b3IodGhpcywgc3R5bGUpOworICAgICAgICB0aGlzLl9wcm9wZXJ0aWVzVGV4
dEVkaXRvci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
VGV4dEVkaXRvci5FdmVudC5Db250ZW50Q2hhbmdlZCwgdGhpcy5fZWRpdG9yQ29udGVudENoYW5n
ZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmFkZEV2
ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLkV2
ZW50LkJsdXJyZWQsIHRoaXMuX2VkaXRvckJsdXJyZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRo
aXMuX3Byb3BlcnRpZXNFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRp
dG9yLmVsZW1lbnQpOworCisgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5f
aGVhZGVyRWxlbWVudCk7CisgICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5f
cHJvcGVydGllc0VsZW1lbnQpOworCisgICAgICAgIHZhciBpY29uQ2xhc3NOYW1lOworICAgICAg
ICBzd2l0Y2ggKHN0eWxlLnR5cGUpIHsKKyAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvbi5UeXBlLlJ1bGU6CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChzdHls
ZS5vd25lclJ1bGUpOworCisgICAgICAgICAgICBpZiAoc3R5bGUuaW5oZXJpdGVkKQorICAgICAg
ICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uSW5oZXJpdGVkU3R5bGVSdWxlSWNvblN0eWxlQ2xhc3NOYW1lOworICAgICAgICAg
ICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5DU1NSdWxl
LlR5cGUuQXV0aG9yKQorICAgICAgICAgICAgICAgIGljb25DbGFzc05hbWUgPSBXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uQXV0aG9yU3R5bGVSdWxlSWNvblN0eWxlQ2xh
c3NOYW1lOworICAgICAgICAgICAgZWxzZSBpZiAoc3R5bGUub3duZXJSdWxlLnR5cGUgPT09IFdl
Ykluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlcikKKyAgICAgICAgICAgICAgICBpY29uQ2xhc3NO
YW1lID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLlVzZXJTdHlsZVJ1
bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAgICAgICBlbHNlIGlmIChzdHlsZS5vd25lclJ1
bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUuVHlwZS5Vc2VyQWdlbnQpCisgICAgICAg
ICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9u
U2VjdGlvbi5Vc2VyQWdlbnRTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAgICAg
ICBlbHNlIGlmIChzdHlsZS5vd25lclJ1bGUudHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1J1bGUu
VHlwZS5JbnNwZWN0b3IpCisgICAgICAgICAgICAgICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5JbnNwZWN0b3JTdHlsZVJ1bGVJY29uU3R5
bGVDbGFzc05hbWU7CisgICAgICAgICAgICBicmVhazsKKworICAgICAgICBjYXNlIFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuSW5saW5lOgorICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uLlR5cGUuQXR0cmlidXRlOgorICAgICAgICAgICAg
aWYgKHN0eWxlLmluaGVyaXRlZCkKKyAgICAgICAgICAgICAgICBpY29uQ2xhc3NOYW1lID0gV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkluaGVyaXRlZEVsZW1lbnRTdHls
ZVJ1bGVJY29uU3R5bGVDbGFzc05hbWU7CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAg
ICAgaWNvbkNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5ET01UcmVlRWxlbWVudFBhdGhDb21wb25l
bnQuRE9NRWxlbWVudEljb25TdHlsZUNsYXNzTmFtZTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisKKyAgICAgICAgLy8gTWF0Y2hlcyBhbGwgc2l0dWF0aW9ucyBleGNlcHQgZm9yIFVz
ZXIgQWdlbnQgc3R5bGVzLgorICAgICAgICBpZiAoIShzdHlsZS5vd25lclJ1bGUgJiYgc3R5bGUu
b3duZXJSdWxlLnR5cGUgPT09IFdlYkluc3BlY3Rvci5DU1NSdWxlLlR5cGUuVXNlckFnZW50KSkg
eworICAgICAgICAgICAgdGhpcy5faWNvbkVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidG9nZ2xlLWFi
bGUiKTsKKyAgICAgICAgICAgIHRoaXMuX2ljb25FbGVtZW50LnRpdGxlID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJDb21tZW50IEFsbCBQcm9wZXJ0aWVzIik7CisgICAgICAgICAgICB0aGlzLl9p
Y29uRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2dsZVJ1bGVPbk9m
Zi5iaW5kKHRoaXMpKTsKKyAgICAgICAgfQorCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGljb25D
bGFzc05hbWUpOworICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoaWNvbkNsYXNz
TmFtZSk7CisKKyAgICAgICAgaWYgKCFzdHlsZS5lZGl0YWJsZSkKKyAgICAgICAgICAgIHRoaXMu
X2VsZW1lbnQuY2xhc3NMaXN0LmFkZCgibG9ja2VkIik7CisgICAgICAgIGVsc2UgaWYgKHN0eWxl
Lm93bmVyUnVsZSkgeworICAgICAgICAgICAgdGhpcy5fc3R5bGUub3duZXJSdWxlLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1J1bGUuRXZlbnQuU2VsZWN0b3JDaGFuZ2VkLCB0aGlz
Ll9tYXJrU2VsZWN0b3IuYmluZCh0aGlzKSk7CisgICAgICAgICAgICB0aGlzLl9jb21taXRTZWxl
Y3RvcktleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQo
bnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkVudGVyLCB0aGlzLl9jb21t
aXRTZWxlY3Rvci5iaW5kKHRoaXMpLCB0aGlzLl9zZWxlY3RvckVsZW1lbnQpOworICAgICAgICAg
ICAgdGhpcy5fc2VsZWN0b3JFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLl9j
b21taXRTZWxlY3Rvci5iaW5kKHRoaXMpKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICB0
aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoInNlbGVjdG9yLWxvY2tlZCIpOworCisgICAgICAg
IGlmICghV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLl9nZW5lcmF0ZWRM
b2NrSW1hZ2VzKSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlv
blNlY3Rpb24uX2dlbmVyYXRlZExvY2tJbWFnZXMgPSB0cnVlOworCisgICAgICAgICAgICB2YXIg
c3BlY2lmaWNhdGlvbnMgPSB7InN0eWxlLWxvY2stbm9ybWFsIjoge2ZpbGxDb2xvcjogWzAsIDAs
IDAsIDAuNV19fTsKKyAgICAgICAgICAgIGdlbmVyYXRlQ29sb3JlZEltYWdlc0ZvckNTUygiSW1h
Z2VzL0xvY2tlZC5zdmciLCBzcGVjaWZpY2F0aW9ucywgOCwgMTApOworICAgICAgICB9CisKKyAg
ICAgICAgdGhpcy5yZWZyZXNoKCk7CisgICAgfQogCiAgICAgLy8gUHVibGljCiAKICAgICBnZXQg
ZWxlbWVudCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWxlbWVudDsKLSAgICB9LAor
ICAgIH0KIAogICAgIGdldCBzdHlsZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fc3R5
bGU7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgbGFzdEluR3JvdXAoKQogICAgIHsKICAgICAg
ICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5D
U1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5MYXN0SW5Hcm91cFN0eWxlQ2xhc3NOYW1lKTsKLSAg
ICB9LAorICAgIH0KIAogICAgIHNldCBsYXN0SW5Hcm91cChsYXN0KQogICAgIHsKLSAgICAgICAg
aWYgKGxhc3QpCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5z
cGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxhc3RJbkdyb3VwU3R5bGVDbGFzc05h
bWUpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5y
ZW1vdmUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkxhc3RJbkdyb3Vw
U3R5bGVDbGFzc05hbWUpOwotICAgIH0sCisgICAgICAgIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0
LnRvZ2dsZShXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uTGFzdEluR3Jv
dXBTdHlsZUNsYXNzTmFtZSwgbGFzdCk7CisgICAgfQogCiAgICAgZ2V0IGZvY3VzZWQoKQogICAg
IHsKICAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmZvY3VzZWQ7Ci0g
ICAgfSwKKyAgICB9CiAKLSAgICBmb2N1czogZnVuY3Rpb24oKQorICAgIGZvY3VzKCkKICAgICB7
CiAgICAgICAgIHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmZvY3VzKCk7Ci0gICAgfSwKKyAg
ICB9CiAKLSAgICByZWZyZXNoOiBmdW5jdGlvbigpCisgICAgcmVmcmVzaCgpCiAgICAgewogICAg
ICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKICAgICAgICAgdGhp
cy5fb3JpZ2luRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwpAQCAtMTk1LDcgKzE3Niw3IEBAIFdl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAg
ICAgICAgICBzZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSBzZWxlY3Rvci50ZXh0OwogCiAg
ICAgICAgICAgICBpZiAobWF0Y2hlZCkKLSAgICAgICAgICAgICAgICBzZWxlY3RvckVsZW1lbnQu
Y2xhc3NOYW1lID0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLk1hdGNo
ZWRTZWxlY3RvckVsZW1lbnRTdHlsZUNsYXNzTmFtZTsKKyAgICAgICAgICAgICAgICBzZWxlY3Rv
ckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNl
Y3Rpb24uTWF0Y2hlZFNlbGVjdG9yRWxlbWVudFN0eWxlQ2xhc3NOYW1lKTsKIAogICAgICAgICAg
ICAgdmFyIHNwZWNpZmljaXR5ID0gc2VsZWN0b3Iuc3BlY2lmaWNpdHk7CiAgICAgICAgICAgICBp
ZiAoc3BlY2lmaWNpdHkpIHsKQEAgLTIyMyw3ICsyMDQsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICB7CiAgICAgICAgICAg
ICB2YXIgc2VsZWN0b3JFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpOwog
ICAgICAgICAgICAgc2VsZWN0b3JFbGVtZW50LnRleHRDb250ZW50ID0gc2VsZWN0b3JUZXh0Owot
ICAgICAgICAgICAgc2VsZWN0b3JFbGVtZW50LmNsYXNzTmFtZSA9IFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5NYXRjaGVkU2VsZWN0b3JFbGVtZW50U3R5bGVDbGFzc05h
bWU7CisgICAgICAgICAgICBzZWxlY3RvckVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uTWF0Y2hlZFNlbGVjdG9yRWxlbWVudFN0eWxl
Q2xhc3NOYW1lKTsKICAgICAgICAgICAgIHRoaXMuX3NlbGVjdG9yRWxlbWVudC5hcHBlbmRDaGls
ZChzZWxlY3RvckVsZW1lbnQpOwogICAgICAgICB9CiAKQEAgLTI4Myw5ICsyNjQsOSBAQCBXZWJJ
bnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAg
ICAgICAgdGhpcy5fb3JpZ2luRWxlbWVudC5hcHBlbmQoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJI
VE1MIEF0dHJpYnV0ZXMiKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgIH0s
CisgICAgfQogCi0gICAgaGlnaGxpZ2h0UHJvcGVydHk6IGZ1bmN0aW9uKHByb3BlcnR5KQorICAg
IGhpZ2hsaWdodFByb3BlcnR5KHByb3BlcnR5KQogICAgIHsKICAgICAgICAgaWYgKHRoaXMuX3By
b3BlcnRpZXNUZXh0RWRpdG9yLmhpZ2hsaWdodFByb3BlcnR5KHByb3BlcnR5KSkgewogICAgICAg
ICAgICAgdGhpcy5fZWxlbWVudC5zY3JvbGxJbnRvVmlldygpOwpAQCAtMjkzLDkgKzI3NCw5IEBA
IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIH0KIAogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBm
aW5kTWF0Y2hpbmdQcm9wZXJ0aWVzQW5kU2VsZWN0b3JzOiBmdW5jdGlvbihuZWVkbGUpCisgICAg
ZmluZE1hdGNoaW5nUHJvcGVydGllc0FuZFNlbGVjdG9ycyhuZWVkbGUpCiAgICAgewogICAgICAg
ICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbC5Ob0ZpbHRlck1hdGNoSW5TZWN0aW9uQ2xhc3NOYW1lLCBXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLkZpbHRlck1hdGNoaW5nU2VjdGlvbkhh
c0xhYmVsQ2xhc3NOYW1lKTsKIApAQCAtMzIzLDI1ICszMDQsMjUgQEAgV2ViSW5zcGVjdG9yLkNT
U1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogCiAgICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0sCisgICAgfQogCi0gICAgdXBkYXRlTGF5b3V0OiBmdW5j
dGlvbigpCisgICAgdXBkYXRlTGF5b3V0KCkKICAgICB7CiAgICAgICAgIHRoaXMuX3Byb3BlcnRp
ZXNUZXh0RWRpdG9yLnVwZGF0ZUxheW91dCgpOwotICAgIH0sCisgICAgfQogCi0gICAgY2xlYXJT
ZWxlY3Rpb246IGZ1bmN0aW9uKCkKKyAgICBjbGVhclNlbGVjdGlvbigpCiAgICAgewogICAgICAg
ICB0aGlzLl9wcm9wZXJ0aWVzVGV4dEVkaXRvci5jbGVhclNlbGVjdGlvbigpOwotICAgIH0sCisg
ICAgfQogCi0gICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JGb2N1c2VkOiBmdW5jdGlv
bigpCisgICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JGb2N1c2VkKCkKICAgICB7CiAg
ICAgICAgIGlmICh0eXBlb2YgdGhpcy5fZGVsZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b25FZGl0b3JGb2N1c2VkID09PSAiZnVuY3Rpb24iKQogICAgICAgICAgICAgdGhpcy5fZGVsZWdh
dGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JGb2N1c2VkKHRoaXMpOwotICAgIH0s
CisgICAgfQogCi0gICAgY3NzU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3JTd2l0Y2hSdWxlOiBm
dW5jdGlvbihyZXZlcnNlKQorICAgIGNzc1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yU3dpdGNo
UnVsZShyZXZlcnNlKQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl9kZWxlZ2F0ZSkKICAgICAg
ICAgICAgIHJldHVybjsKQEAgLTM1MCw5ICszMzEsOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVE
ZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICAgICAgdGhpcy5fZGVsZWdh
dGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JQcmV2aW91c1J1bGUodGhpcyk7CiAg
ICAgICAgIGVsc2UgaWYgKCFyZXZlcnNlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5jc3NTdHls
ZURlY2xhcmF0aW9uU2VjdGlvbkVkaXRvck5leHRSdWxlID09PSAiZnVuY3Rpb24iKQogICAgICAg
ICAgICAgdGhpcy5fZGVsZWdhdGUuY3NzU3R5bGVEZWNsYXJhdGlvblNlY3Rpb25FZGl0b3JOZXh0
UnVsZSh0aGlzKTsKLSAgICB9LAorICAgIH0KIAotICAgIGZvY3VzUnVsZVNlbGVjdG9yOiBmdW5j
dGlvbihyZXZlcnNlKQorICAgIGZvY3VzUnVsZVNlbGVjdG9yKHJldmVyc2UpCiAgICAgewogICAg
ICAgICBpZiAodGhpcy5zZWxlY3RvckxvY2tlZCkgewogICAgICAgICAgICAgdGhpcy5mb2N1cygp
OwpAQCAtMzcyLDI3ICszNTMsMjcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25T
ZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdmFyIHJhbmdlID0gZG9jdW1lbnQuY3JlYXRl
UmFuZ2UoKTsKICAgICAgICAgcmFuZ2Uuc2VsZWN0Tm9kZUNvbnRlbnRzKHRoaXMuX3NlbGVjdG9y
RWxlbWVudCk7CiAgICAgICAgIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7Ci0gICAgfSwKKyAg
ICB9CiAKLSAgICBzZWxlY3RMYXN0UHJvcGVydHk6IGZ1bmN0aW9uKCkKKyAgICBzZWxlY3RMYXN0
UHJvcGVydHkoKQogICAgIHsKICAgICAgICAgdGhpcy5fcHJvcGVydGllc1RleHRFZGl0b3Iuc2Vs
ZWN0TGFzdFByb3BlcnR5KCk7Ci0gICAgfSwKKyAgICB9CiAKICAgICBnZXQgc2VsZWN0b3JMb2Nr
ZWQoKQogICAgIHsKICAgICAgICAgcmV0dXJuICF0aGlzLmxvY2tlZCAmJiAhdGhpcy5fc3R5bGUu
b3duZXJSdWxlOwotICAgIH0sCisgICAgfQogCiAgICAgZ2V0IGxvY2tlZCgpCiAgICAgewogICAg
ICAgICByZXR1cm4gIXRoaXMuX3N0eWxlLmVkaXRhYmxlOwotICAgIH0sCisgICAgfQogCiAgICAg
Z2V0IGVkaXRvckFjdGl2ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fZWRpdG9yQWN0
aXZlOwotICAgIH0sCisgICAgfQogCiAgICAgLy8gUHJpdmF0ZQogCkBAIC00MDYsOSArMzg3LDkg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHNlbGVjdG9yVGV4dCA9IHRoaXMuX3N0eWxlLm93bmVyUnVsZS5zZWxlY3Rv
clRleHQ7CiAKICAgICAgICAgcmV0dXJuIHNlbGVjdG9yVGV4dC50cmltKCk7Ci0gICAgfSwKKyAg
ICB9CiAKLSAgICBfaGFuZGxlU2VsZWN0b3JQYXN0ZTogZnVuY3Rpb24oZXZlbnQpCisgICAgX2hh
bmRsZVNlbGVjdG9yUGFzdGUoZXZlbnQpCiAgICAgewogICAgICAgICBpZiAodGhpcy5fc3R5bGUu
dHlwZSA9PT0gV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb24uVHlwZS5JbmxpbmUgfHwg
IXRoaXMuX3N0eWxlLm93bmVyUnVsZSkKICAgICAgICAgICAgIHJldHVybjsKQEAgLTQ0Myw5ICs0
MjQsOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24ucHJvdG90eXBl
ID0gewogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQudGV4dENvbnRlbnQgPSBzZWxlY3Rv
cjsKICAgICAgICAgdGhpcy5fc3R5bGUubm9kZVN0eWxlcy5jaGFuZ2VSdWxlKHRoaXMuX3N0eWxl
Lm93bmVyUnVsZSwgc2VsZWN0b3IsIG1hdGNoWzJdKTsKICAgICAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVDb250ZXh0TWVudUV2ZW50OiBm
dW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlQ29udGV4dE1lbnVFdmVudChldmVudCkKICAgICB7
CiAgICAgICAgIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCkudG9TdHJpbmcoKS5sZW5ndGgpCiAg
ICAgICAgICAgICByZXR1cm47CkBAIC00NTcsOSArNDM4LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0
eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgfS5iaW5kKHRoaXMp
KTsKIAogICAgICAgICBjb250ZXh0TWVudS5zaG93KCk7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBf
Z2VuZXJhdGVDU1NSdWxlU3RyaW5nOiBmdW5jdGlvbigpCisgICAgX2dlbmVyYXRlQ1NTUnVsZVN0
cmluZygpCiAgICAgewogICAgICAgICB2YXIgbnVtTWVkaWFRdWVyaWVzID0gMDsKICAgICAgICAg
dmFyIHN0eWxlVGV4dCA9ICIiOwpAQCAtNDk0LDkgKzQ3NSw5IEBAIFdlYkluc3BlY3Rvci5DU1NT
dHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIHN0eWxlVGV4dCAr
PSAifSI7CiAKICAgICAgICAgcmV0dXJuIHN0eWxlVGV4dDsKLSAgICB9LAorICAgIH0KIAotICAg
IF90b2dnbGVSdWxlT25PZmY6IGZ1bmN0aW9uKCkKKyAgICBfdG9nZ2xlUnVsZU9uT2ZmKCkKICAg
ICB7CiAgICAgICAgIGlmICh0aGlzLl9oYXNJbnZhbGlkU2VsZWN0b3IpCiAgICAgICAgICAgICBy
ZXR1cm47CkBAIC01MDQsOSArNDg1LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fcnVsZURpc2FibGVkID0gdGhp
cy5fcnVsZURpc2FibGVkID8gIXRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLnVuY29tbWVudEFs
bFByb3BlcnRpZXMoKSA6IHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLmNvbW1lbnRBbGxQcm9w
ZXJ0aWVzKCk7CiAgICAgICAgIHRoaXMuX2ljb25FbGVtZW50LnRpdGxlID0gdGhpcy5fcnVsZURp
c2FibGVkID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJVbmNvbW1lbnQgQWxsIFByb3BlcnRpZXMi
KSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29tbWVudCBBbGwgUHJvcGVydGllcyIpOwogICAg
ICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInJ1bGUtZGlzYWJsZWQiLCB0aGlz
Ll9ydWxlRGlzYWJsZWQpOwotICAgIH0sCisgICAgfQogCi0gICAgX2hpZ2hsaWdodE5vZGVzV2l0
aFNlbGVjdG9yOiBmdW5jdGlvbigpCisgICAgX2hpZ2hsaWdodE5vZGVzV2l0aFNlbGVjdG9yKCkK
ICAgICB7CiAgICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKSB7CiAgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0RE9NTm9kZSh0aGlzLl9zdHls
ZS5ub2RlLmlkKTsKQEAgLTUxNCwyNCArNDk1LDI0IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURl
Y2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICBXZWJJ
bnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIuaGlnaGxpZ2h0U2VsZWN0b3IodGhpcy5fY3VycmVudFNl
bGVjdG9yVGV4dCwgdGhpcy5fc3R5bGUubm9kZS5vd25lckRvY3VtZW50LmZyYW1lSWRlbnRpZmll
cik7Ci0gICAgfSwKKyAgICB9CiAKLSAgICBfaGlkZURPTU5vZGVIaWdobGlnaHQ6IGZ1bmN0aW9u
KCkKKyAgICBfaGlkZURPTU5vZGVIaWdobGlnaHQoKQogICAgIHsKICAgICAgICAgV2ViSW5zcGVj
dG9yLmRvbVRyZWVNYW5hZ2VyLmhpZGVET01Ob2RlSGlnaGxpZ2h0KCk7Ci0gICAgfSwKKyAgICB9
CiAKLSAgICBfaGFuZGxlTW91c2VPdmVyOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlTW91
c2VPdmVyKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5faGlnaGxpZ2h0Tm9kZXNXaXRoU2Vs
ZWN0b3IoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVNb3VzZU91dDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgX2hhbmRsZU1vdXNlT3V0KGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5f
aGlkZURPTU5vZGVIaWdobGlnaHQoKTsKLSAgICB9LAorICAgIH0KIAotICAgIF9oYW5kbGVLZXlE
b3duOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlS2V5RG93bihldmVudCkKICAgICB7CiAg
ICAgICAgIGlmIChldmVudC5rZXlDb2RlICE9PSA5KSB7CiAgICAgICAgICAgICB0aGlzLl9oaWdo
bGlnaHROb2Rlc1dpdGhTZWxlY3RvcigpOwpAQCAtNTUwLDE0ICs1MzEsMTQgQEAgV2ViSW5zcGVj
dG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHRoaXMuX3Byb3BlcnRpZXNUZXh0RWRpdG9yLnNlbGVjdEZpcnN0UHJvcGVydHkoKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQotICAgIH0sCisgICAgfQogCi0gICAgX2hhbmRsZUtl
eVVwOiBmdW5jdGlvbihldmVudCkKKyAgICBfaGFuZGxlS2V5VXAoZXZlbnQpCiAgICAgewogICAg
ICAgICB0aGlzLl9oaWdobGlnaHROb2Rlc1dpdGhTZWxlY3RvcigpOwotICAgIH0sCisgICAgfQog
Ci0gICAgX2NvbW1pdFNlbGVjdG9yOiBmdW5jdGlvbihtdXRhdGlvbnMpCisgICAgX2NvbW1pdFNl
bGVjdG9yKG11dGF0aW9ucykKICAgICB7CiAgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX3N0
eWxlLm93bmVyUnVsZSk7CiAgICAgICAgIGlmICghdGhpcy5fc3R5bGUub3duZXJSdWxlKQpAQCAt
NTcxLDkgKzU1Miw5IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5w
cm90b3R5cGUgPSB7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9zdHlsZS5vd25lclJ1bGUu
c2VsZWN0b3JUZXh0ID0gbmV3U2VsZWN0b3JUZXh0OwotICAgIH0sCisgICAgfQogCi0gICAgX21h
cmtTZWxlY3RvcjogZnVuY3Rpb24oZXZlbnQpCisgICAgX21hcmtTZWxlY3RvcihldmVudCkKICAg
ICB7CiAgICAgICAgIHZhciB2YWxpZCA9IGV2ZW50ICYmIGV2ZW50LmRhdGEgJiYgZXZlbnQuZGF0
YS52YWxpZDsKICAgICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3RvckludmFsaWRDbGFzc05hbWUs
ICF2YWxpZCk7CkBAIC01ODgsMTkgKzU2OSwxOSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNs
YXJhdGlvblNlY3Rpb24ucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1l
bnQudGl0bGUgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlVzaW5nIHRoZSBwcmV2aW91cyBzZWxl
Y3RvciAnJXMnLiIpLmZvcm1hdCh0aGlzLl9zdHlsZS5vd25lclJ1bGUuc2VsZWN0b3JUZXh0KTsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2hpbGRy
ZW4ubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICB0aGlzLl9zZWxlY3RvckVsZW1lbnQuY2hpbGRy
ZW5baV0udGl0bGUgPSBudWxsOwotICAgIH0sCisgICAgfQogCiAgICAgZ2V0IF9oYXNJbnZhbGlk
U2VsZWN0b3IoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQuY2xhc3NMaXN0
LmNvbnRhaW5zKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3Rv
ckludmFsaWRDbGFzc05hbWUpOwotICAgIH0sCisgICAgfQogCi0gICAgX2VkaXRvckNvbnRlbnRD
aGFuZ2VkOiBmdW5jdGlvbihldmVudCkKKyAgICBfZWRpdG9yQ29udGVudENoYW5nZWQoZXZlbnQp
CiAgICAgewogICAgICAgICB0aGlzLl9lZGl0b3JBY3RpdmUgPSB0cnVlOwotICAgIH0sCisgICAg
fQogCi0gICAgX2VkaXRvckJsdXJyZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIF9lZGl0b3JCbHVy
cmVkKGV2ZW50KQogICAgIHsKICAgICAgICAgdGhpcy5fZWRpdG9yQWN0aXZlID0gZmFsc2U7CiAg
ICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5DU1NTdHls
ZURlY2xhcmF0aW9uU2VjdGlvbi5FdmVudC5CbHVycmVkKTsKQEAgLTYxMSw0ICs1OTIsMTMgQEAg
V2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkV2ZW50ID0gewogICAgIEJs
dXJyZWQ6ICJjc3Mtc3R5bGUtZGVjbGFyYXRpb24tc2VjdGlvbnMtYmx1cnJlZCIKIH07CiAKLVdl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5wcm90b3R5cGUuX19wcm90b19f
ID0gV2ViSW5zcGVjdG9yLlN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZTsKK1dlYkluc3BlY3Rv
ci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5TZWxlY3RvckludmFsaWRDbGFzc05hbWUgPSAi
aW52YWxpZC1zZWxlY3RvciI7CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rp
b24uTGFzdEluR3JvdXBTdHlsZUNsYXNzTmFtZSA9ICJsYXN0LWluLWdyb3VwIjsKK1dlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5NYXRjaGVkU2VsZWN0b3JFbGVtZW50U3R5
bGVDbGFzc05hbWUgPSAibWF0Y2hlZCI7CisKK1dlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0
aW9uU2VjdGlvbi5BdXRob3JTdHlsZVJ1bGVJY29uU3R5bGVDbGFzc05hbWUgPSAiYXV0aG9yLXN0
eWxlLXJ1bGUtaWNvbiI7CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24u
VXNlclN0eWxlUnVsZUljb25TdHlsZUNsYXNzTmFtZSA9ICJ1c2VyLXN0eWxlLXJ1bGUtaWNvbiI7
CitXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uVXNlckFnZW50U3R5bGVS
dWxlSWNvblN0eWxlQ2xhc3NOYW1lID0gInVzZXItYWdlbnQtc3R5bGUtcnVsZS1pY29uIjsKK1dl
Ykluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uU2VjdGlvbi5JbnNwZWN0b3JTdHlsZVJ1bGVJ
Y29uU3R5bGVDbGFzc05hbWUgPSAiaW5zcGVjdG9yLXN0eWxlLXJ1bGUtaWNvbiI7CitXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblNlY3Rpb24uSW5oZXJpdGVkU3R5bGVSdWxlSWNvblN0
eWxlQ2xhc3NOYW1lID0gImluaGVyaXRlZC1zdHlsZS1ydWxlLWljb24iOworV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGVjbGFyYXRpb25TZWN0aW9uLkluaGVyaXRlZEVsZW1lbnRTdHlsZVJ1bGVJY29u
U3R5bGVDbGFzc05hbWUgPSAiaW5oZXJpdGVkLWVsZW1lbnQtc3R5bGUtcnVsZS1pY29uIjsK
</data>

          </attachment>
      

    </bug>

</bugzilla>