<?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>152274</bug_id>
          
          <creation_ts>2015-12-14 14:30:23 -0800</creation_ts>
          <short_desc>Web Inspector: Convert Sidebar classes to use View</short_desc>
          <delta_ts>2015-12-15 14:34:25 -0800</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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>152269</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</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>1149115</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-14 14:30:23 -0800</bug_when>
    <thetext>* SUMMARY
Convert Sidebar classes to use View.

SidebarPanel should create a &apos;contentView&apos; subview with a public getter, for appending DetailsSections. This will complete some work originally slated for https://bugs.webkit.org/show_bug.cgi?id=150982.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149116</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-12-14 14:31:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/23889272&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149224</commentid>
    <comment_count>2</comment_count>
      <attachid>267349</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-14 22:21:19 -0800</bug_when>
    <thetext>Created attachment 267349
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149309</commentid>
    <comment_count>3</comment_count>
      <attachid>267349</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2015-12-15 09:15:20 -0800</bug_when>
    <thetext>Comment on attachment 267349
[Patch] Proposed Fix

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

r=me

A little surprised we don&apos;t need to call needsLayout anywhere. I suppose the panels just add and remove sections, so the sections should become dirty, not the panel.

&gt; Source/WebInspectorUI/UserInterface/Views/ProbeDetailsSidebarPanel.js:61
&gt;              var shownSection = this._probeSetSections.get(probeSet);

Nit: let

&gt; Source/WebInspectorUI/UserInterface/Views/StyleDetailsPanel.js:-49
&gt; -    {

Comment for ChangeLog: &quot;defer to View.element getter.&quot; It says no longer needed, but the getter is still used (just implemented elsewhere).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149376</commentid>
    <comment_count>4</comment_count>
      <attachid>267391</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-12-15 13:44:09 -0800</bug_when>
    <thetext>Created attachment 267391
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149390</commentid>
    <comment_count>5</comment_count>
      <attachid>267391</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-15 14:34:21 -0800</bug_when>
    <thetext>Comment on attachment 267391
[Patch] Proposed Fix

Clearing flags on attachment: 267391

Committed r194116: &lt;http://trac.webkit.org/changeset/194116&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1149391</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-12-15 14:34:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267349</attachid>
            <date>2015-12-14 22:21:19 -0800</date>
            <delta_ts>2015-12-15 13:44:06 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-152274-20151214222042.patch</filename>
            <type>text/plain</type>
            <size>33786</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
NzhlNDZkZjJlMjkwOTg5ZWQ0MDE4ZGM5YWE1N2UyMzViMTI1MzNmLi41OGYzYjRhYmEwNWFiYmQy
ZDEyOGM4MDRkN2ExYmM0YWNhMmM3YjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MSBAQAorMjAxNS0xMi0xNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCBTaWRlYmFyIGNsYXNzZXMgdG8gdXNl
IFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MjI3NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVw
ZGF0ZWQgU2lkZWJhciBhbmQgU2lkZWJhclBhbmVsIHRvIGluaGVyaXQgZnJvbSBWaWV3LiBNb3N0
bHkgbWVjaGFuaWNhbCBjaGFuZ2VzLgorICAgICAgICBPbmNlIHRoZSBEZXRhaWxzU2VjdGlvbiBj
bGFzcyBmYW1pbHkgaW5oZXJpdHMgZnJvbSBWaWV3IChodHRwczovL3dlYmtpdC5vcmcvYi8xNTIy
NjkpLAorICAgICAgICBkaXJlY3RseSBtb2RpZnlpbmcgYSBzaWRlYmFyJ3MgJ2NvbnRlbnRWaWV3
JyBlbGVtZW50IHdpbGwgcmFyZWx5IGJlIG5lY2Vzc2FyeS4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvQXBwbGljYXRpb25DYWNoZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZURldGFpbHNTaWRlYmFyUGFuZWwpOgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFu
ZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVs
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwucHJv
dG90eXBlLnJlZnJlc2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5wcm90b3R5cGUuX3N3aXRjaFBhbmVscyk6CisgICAgICAgIEFkZC9yZW1vdmUg
cGFuZWxzIGFzIHN1YnZpZXdzIG9mIHRoZSBzaWRlYmFyLgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2ZpbHRlckRpZENoYW5nZSk6
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBh
bmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVs
KToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fZGVidWdnZXJE
aWRQYXVzZSk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFp
bHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWls
c1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2J1aWxkTGF5ZXJJbmZvU2VjdGlvbik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX2J1
aWxkRGF0YUdyaWRTZWN0aW9uKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTmF2
aWdhdGlvblNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBh
bmVsLnByb3RvdHlwZS5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwucHJvdG90eXBlLl91cGRhdGVDb250ZW50T3Zl
cmZsb3dTaGFkb3dWaXNpYmlsaXR5KToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
UHJvYmVEZXRhaWxzU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlByb2Jl
RGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuc2V0IGluc3BlY3RlZFByb2JlU2V0cyk6CisK
KyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90
b3R5cGUuX3JlZnJlc2hVUkwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWls
c1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJlc2hJbWFnZVNpemVTZWN0aW9uKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9y
ZWZyZXNoUmVxdWVzdERhdGFTZWN0aW9uKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmll
d3MvU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5yZWZyZXNoLik6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBl
LnJlZnJlc2gpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIEluaGVyaXQgZnJvbSBWaWV3LgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNp
ZGViYXJQYW5lbCk6CisgICAgICAgIFJlcGxhY2UgdGhlIGNvbnRlbnQgZWxlbWVudCAodGhlIHBv
cnRpb24gb2YgdGhlIHZpZXcgZXhjbHVkaW5nIG5hdmlnYXRpb24KKyAgICAgICAgYmFycywgZmls
dGVyIGJhcnMsIGV0Yy4pIHdpdGggYSBWaWV3IG9iamVjdC4gQSBzaWRlYmFyJ3MgY29udGVudCBj
YW4gYmUgYSBtaXh0dXJlCisgICAgICAgIG9mIHVud3JhcHBlZCBET00gZWxlbWVudHMgYW5kIFZp
ZXcgb2JqZWN0cy4gRm9yIG5vdywgdGhlIGNvbnRlbnQgdmlldydzIGVsZW1lbnQKKyAgICAgICAg
d2lsbCBiZSBtdXRhdGVkIGRpcmVjdGx5LCBidXQgb25jZSB0aGUgRGV0YWlsc1NlY3Rpb24gY2xh
c3MgZmFtaWx5IGluaGVyaXRzIGZyb20KKyAgICAgICAgdGhlIFZpZXcgY2xhc3MgdGhlIGhhbmRs
aW5nIG9mIGRldGFpbHMgc2VjdGlvbnMgd2lsbCBiZSBzaW1wbGlmaWVkLgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNpZGViYXJQYW5lbC5wcm90b3R5cGUuZ2V0IGNvbnRlbnRWaWV3KToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJvdG90eXBlLnNob3duKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJvdG90eXBlLmhpZGRlbik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZS5nZXQgY29udGVudEVsZW1lbnQpOiBE
ZWxldGVkLgorICAgICAgICBSZXBsYWNlZCBieSBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsLnBy
b3RvdHlwZS5nZXQgY29udGVudFZpZXcuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L1N0eWxlRGV0YWlsc1BhbmVsLmpzOgorICAgICAgICBJbmhlcml0IGZyb20gVmlldy4KKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5TdHlsZURldGFpbHNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBlLmdldCBlbGVtZW50KTogRGVsZXRlZC4KKyAg
ICAgICAgTm8gbG9uZ2VyIG5lZWRlZC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVT
aWRlYmFyUGFuZWwucHJvdG90eXBlLl91cGRhdGVUaW1lbGluZU92ZXJ2aWV3SGVpZ2h0KToKKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLnByb3RvdHlwZS5fdXBkYXRl
U2VjdGlvbnMpOgorCiAyMDE1LTEyLTE0ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3RhY2sgdHJhY2VzIGluIGNvbnNvbGUg
aW5jb3JyZWN0bHkgc2hvdyAiKGFub255bW91cyBmdW5jdGlvbikiIGZvciBnbG9iYWwgY29kZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQXBw
bGljYXRpb25DYWNoZURldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5l
bC5qcwppbmRleCAyZmY3ZWNhZGNmM2JkNmE2MDQ4NTlhMGJlN2Q0ZTBmMzQwNzUwMTNiLi4zMDRk
MjAzOWY0M2RhNjc1Mzg1NWJhNWMxYWNkMDAyNjY1YWQwZTJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWls
c1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtNDcsOCAr
NDcsOCBAQCBXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25DYWNoZURldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBBcHBsaWNhdGlvbkNhY2hlRGV0YWlscwogCiAgICAgICAgIHRoaXMuX3N0YXR1c1Nl
Y3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJhcHBsaWNhdGlvbi1jYWNo
ZS1zdGF0dXMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlN0YXR1cyIpLCBbdGhpcy5fc3RhdHVz
R3JvdXBdKTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X2xvY2F0aW9uU2VjdGlvbi5lbGVtZW50KTsKLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5h
cHBlbmRDaGlsZCh0aGlzLl9zdGF0dXNTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNv
bnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbG9jYXRpb25TZWN0aW9uLmVsZW1l
bnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5f
c3RhdHVzU2VjdGlvbi5lbGVtZW50KTsKIAogICAgICAgICBXZWJJbnNwZWN0b3IuYXBwbGljYXRp
b25DYWNoZU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQXBwbGljYXRpb25D
YWNoZU1hbmFnZXIuRXZlbnQuTmV0d29ya1N0YXRlVXBkYXRlZCwgdGhpcy5fbmV0d29ya1N0YXRl
VXBkYXRlZCwgdGhpcyk7CiAgICAgICAgIFdlYkluc3BlY3Rvci5hcHBsaWNhdGlvbkNhY2hlTWFu
YWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlTWFuYWdl
ci5FdmVudC5GcmFtZU1hbmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcy5fZnJhbWVNYW5pZmVzdFN0
YXR1c0NoYW5nZWQsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVEZXRhaWxzU2lkZWJh
clBhbmVsLmpzCmluZGV4IGJlNzZiN2NlMTBkMmIzZDUzMGE5ZjM4YjVjY2Q2ODdlNDA3YWI2MzYu
Ljk0OGE1MDlmYTg4N2FmNTRjYTFkZTQxYmMxMGVkZDZhZDY5NGYzM2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTYzLDcgKzYzLDcgQEAgV2Vi
SW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIENTU1N0eWxlRGV0
YWlsc1NpZGViYXJQYW5lbCBleHQKICAgICAgICAgICAgICAgICBncm91cEVsZW1lbnQuYXBwZW5k
Q2hpbGQobGFiZWxFbGVtZW50KTsKICAgICAgICAgICAgIH0sIHRoaXMpOwogCi0gICAgICAgICAg
ICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNz
Q29udGFpbmVyKTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRD
aGlsZCh0aGlzLl9mb3JjZWRQc2V1ZG9DbGFzc0NvbnRhaW5lcik7CiAgICAgICAgIH0KIAogICAg
ICAgICB0aGlzLl9jb21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsID0gbmV3IFdlYkluc3BlY3Rvci5D
b21wdXRlZFN0eWxlRGV0YWlsc1BhbmVsKHRoaXMpOwpAQCAtMTIwLDcgKzEyMCw3IEBAIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDU1NTdHlsZURldGFp
bHNTaWRlYmFyUGFuZWwgZXh0CiAgICAgICAgIGlmICghZG9tTm9kZSkKICAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2lu
aXRpYWxTY3JvbGxPZmZzZXQ7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5zY3Jv
bGxUb3AgPSB0aGlzLl9pbml0aWFsU2Nyb2xsT2Zmc2V0OwogCiAgICAgICAgIGZvciAodmFyIHBh
bmVsIG9mIHRoaXMuX3BhbmVscykgewogICAgICAgICAgICAgcGFuZWwuZWxlbWVudC5fc2F2ZWRT
Y3JvbGxUb3AgPSB1bmRlZmluZWQ7CkBAIC0yMjcsMzAgKzIyNywzMCBAQCBXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgQ1NTU3R5bGVEZXRhaWxzU2lkZWJh
clBhbmVsIGV4dAogCiAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFBhbmVsKSB7CiAgICAgICAg
ICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLmhpZGRlbigpOwotICAgICAgICAgICAgdGhpcy5fc2Vs
ZWN0ZWRQYW5lbC5lbGVtZW50Ll9zYXZlZFNjcm9sbFRvcCA9IHRoaXMuY29udGVudEVsZW1lbnQu
c2Nyb2xsVG9wOwotICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50LnJlbW92
ZSgpOworICAgICAgICAgICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50Ll9zYXZlZFNjcm9s
bFRvcCA9IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAgICAgICB0
aGlzLmNvbnRlbnRWaWV3LnJlbW92ZVN1YnZpZXcodGhpcy5fc2VsZWN0ZWRQYW5lbCk7CiAgICAg
ICAgIH0KIAogICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsID0gc2VsZWN0ZWRQYW5lbDsKKyAg
ICAgICAgaWYgKCF0aGlzLl9zZWxlY3RlZFBhbmVsKQorICAgICAgICAgICAgcmV0dXJuOwogCi0g
ICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZFBhbmVsKSB7Ci0gICAgICAgICAgICB0aGlzLmNvbnRl
bnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVudCk7CisgICAg
ICAgIHRoaXMuY29udGVudFZpZXcuYWRkU3Vidmlldyh0aGlzLl9zZWxlY3RlZFBhbmVsKTsKIAot
ICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLl9zZWxlY3RlZFBhbmVsLmVsZW1lbnQuX3NhdmVk
U2Nyb2xsVG9wID09PSAibnVtYmVyIikKLSAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVt
ZW50LnNjcm9sbFRvcCA9IHRoaXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVudC5fc2F2ZWRTY3JvbGxU
b3A7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVu
dC5zY3JvbGxUb3AgPSB0aGlzLl9pbml0aWFsU2Nyb2xsT2Zmc2V0OworICAgICAgICBpZiAodHlw
ZW9mIHRoaXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVudC5fc2F2ZWRTY3JvbGxUb3AgPT09ICJudW1i
ZXIiKQorICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LnNjcm9sbFRvcCA9IHRo
aXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVudC5fc2F2ZWRTY3JvbGxUb3A7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9p
bml0aWFsU2Nyb2xsT2Zmc2V0OwogCi0gICAgICAgICAgICB2YXIgaGFzRmlsdGVyID0gdHlwZW9m
IHRoaXMuX3NlbGVjdGVkUGFuZWwuZmlsdGVyRGlkQ2hhbmdlID09PSAiZnVuY3Rpb24iOwotICAg
ICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJoYXMtZmlsdGVy
LWJhciIsIGhhc0ZpbHRlcik7Ci0gICAgICAgICAgICBpZiAodGhpcy5fZmlsdGVyQmFyKQotICAg
ICAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLkZpbHRlckluUHJvZ3Jlc3NDbGFzc05h
bWUsIGhhc0ZpbHRlciAmJiB0aGlzLl9maWx0ZXJCYXIuaGFzQWN0aXZlRmlsdGVycygpKTsKKyAg
ICAgICAgbGV0IGhhc0ZpbHRlciA9IHR5cGVvZiB0aGlzLl9zZWxlY3RlZFBhbmVsLmZpbHRlckRp
ZENoYW5nZSA9PT0gImZ1bmN0aW9uIjsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoImhhcy1maWx0ZXItYmFyIiwgaGFzRmlsdGVyKTsKKyAgICAgICAg
aWYgKHRoaXMuX2ZpbHRlckJhcikKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVu
dC5jbGFzc0xpc3QudG9nZ2xlKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFu
ZWwuRmlsdGVySW5Qcm9ncmVzc0NsYXNzTmFtZSwgaGFzRmlsdGVyICYmIHRoaXMuX2ZpbHRlckJh
ci5oYXNBY3RpdmVGaWx0ZXJzKCkpOwogCi0gICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50
LmNsYXNzTGlzdC50b2dnbGUoInN1cHBvcnRzLW5ldy1ydWxlIiwgdHlwZW9mIHRoaXMuX3NlbGVj
dGVkUGFuZWwubmV3UnVsZUJ1dHRvbkNsaWNrZWQgPT09ICJmdW5jdGlvbiIpOwotICAgICAgICAg
ICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5zaG93bigpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3
LmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgic3VwcG9ydHMtbmV3LXJ1bGUiLCB0eXBlb2YgdGhp
cy5fc2VsZWN0ZWRQYW5lbC5uZXdSdWxlQnV0dG9uQ2xpY2tlZCA9PT0gImZ1bmN0aW9uIik7Cisg
ICAgICAgIHRoaXMuX3NlbGVjdGVkUGFuZWwuc2hvd24oKTsKIAotICAgICAgICAgICAgdGhpcy5f
bGFzdFNlbGVjdGVkU2VjdGlvblNldHRpbmcudmFsdWUgPSBzZWxlY3RlZFBhbmVsLm5hdmlnYXRp
b25JbmZvLmlkZW50aWZpZXI7Ci0gICAgICAgIH0KKyAgICAgICAgdGhpcy5fbGFzdFNlbGVjdGVk
U2VjdGlvblNldHRpbmcudmFsdWUgPSBzZWxlY3RlZFBhbmVsLm5hdmlnYXRpb25JbmZvLmlkZW50
aWZpZXI7CiAgICAgfQogCiAgICAgX2ZvcmNlZFBzZXVkb0NsYXNzQ2hlY2tib3hDaGFuZ2VkKHBz
ZXVkb0NsYXNzLCBldmVudCkKQEAgLTI4Niw3ICsyODYsNyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5
bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVs
IGV4dAogCiAgICAgX2ZpbHRlckRpZENoYW5nZSgpCiAgICAgewotICAgICAgICB0aGlzLmNvbnRl
bnRFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5GaWx0ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCB0aGlzLl9maWx0ZXJCYXIuaGFz
QWN0aXZlRmlsdGVycygpKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmNsYXNz
TGlzdC50b2dnbGUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5GaWx0
ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCB0aGlzLl9maWx0ZXJCYXIuaGFzQWN0aXZlRmlsdGVycygp
KTsKIAogICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLmZpbHRlckRpZENoYW5nZSh0aGlzLl9m
aWx0ZXJCYXIpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFu
ZWwuanMKaW5kZXggZTYxNzk5N2ViMGYxZGRkNGQxNGVmNTc4NzMwMGQzNzhlYTM5YzAwZi4uY2I3
NzM2OTg2NjMzMzdhODczMmZmZDQ1YjhkMGU5NzMzYzhmMDU1NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFy
UGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
RE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMKQEAgLTU1LDEwICs1NSwxMCBAQCBXZWJJbnNw
ZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbCBleHRlbgogICAgICAgICB0aGlzLl9ldmVudExpc3RlbmVyc1NlY3Rpb25Hcm91
cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25Hcm91cDsKICAgICAgICAgdmFyIGV2
ZW50TGlzdGVuZXJzU2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImRv
bS1ub2RlLWV2ZW50LWxpc3RlbmVycyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRXZlbnQgTGlz
dGVuZXJzIiksIFt0aGlzLl9ldmVudExpc3RlbmVyc1NlY3Rpb25Hcm91cF0pOwogCi0gICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoaWRlbnRpdHlTZWN0aW9uLmVsZW1lbnQp
OwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGF0dHJpYnV0ZXNTZWN0
aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHBy
b3BlcnRpZXNTZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFw
cGVuZENoaWxkKGV2ZW50TGlzdGVuZXJzU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5j
b250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKGlkZW50aXR5U2VjdGlvbi5lbGVtZW50KTsK
KyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKGF0dHJpYnV0ZXNT
ZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5k
Q2hpbGQocHJvcGVydGllc1NlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZp
ZXcuZWxlbWVudC5hcHBlbmRDaGlsZChldmVudExpc3RlbmVyc1NlY3Rpb24uZWxlbWVudCk7CiAK
ICAgICAgICAgaWYgKHRoaXMuX2FjY2Vzc2liaWxpdHlTdXBwb3J0ZWQoKSkgewogICAgICAgICAg
ICAgdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk5vIEFjY2Vzc2liaWxpdHkgSW5mb3Jt
YXRpb24iKSk7CkBAIC04OSw5ICs4OSw5IEBAIFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAg
ICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uR3JvdXAoW3RoaXMuX2FjY2Vzc2liaWxpdHlFbXB0eVJvd10pOwogICAgICAgICAg
ICAgdmFyIGFjY2Vzc2liaWxpdHlTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2Vj
dGlvbigiZG9tLW5vZGUtYWNjZXNzaWJpbGl0eSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiQWNj
ZXNzaWJpbGl0eSIpLCBbdGhpcy5fYWNjZXNzaWJpbGl0eUdyb3VwXSk7CiAKLSAgICAgICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoYWNjZXNzaWJpbGl0eVNlY3Rpb24uZWxl
bWVudCk7Ci0gICAgICAgIH0KKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5h
cHBlbmRDaGlsZChhY2Nlc3NpYmlsaXR5U2VjdGlvbi5lbGVtZW50KTsKICAgICAgICAgfQorICAg
IH0KIAogICAgIC8vIFB1YmxpYwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IDhiNTYzYjg5NDI0MmU2ODNlZmUyYTQ0NDJhMmY2NGRhMTU4ZmM0MjcuLjhhMTI1MTlkN2I3
YzAxYmI3OWY3ZmY2MGY4M2Y2ZTZiYjUxZDlkNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJh
clBhbmVsLmpzCkBAIC0xMjksNyArMTI5LDcgQEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJh
clBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAog
ICAgICAgICB2YXIgYnJlYWtwb2ludHNHcm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1Nl
Y3Rpb25Hcm91cChbYnJlYWtwb2ludHNSb3ddKTsKICAgICAgICAgdmFyIGJyZWFrcG9pbnRzU2Vj
dGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oInNjcmlwdHMiLCBXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlNjcmlwdHMiKSwgW2JyZWFrcG9pbnRzR3JvdXBdKTsKLSAgICAgICAg
dGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChicmVha3BvaW50c1NlY3Rpb24uZWxlbWVu
dCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZChicmVha3Bv
aW50c1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fY2FsbFN0YWNrQ29udGVudFRy
ZWVPdXRsaW5lID0gdGhpcy5jcmVhdGVDb250ZW50VHJlZU91dGxpbmUodHJ1ZSwgdHJ1ZSk7CiAg
ICAgICAgIHRoaXMuX2NhbGxTdGFja0NvbnRlbnRUcmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMu
X3RyZWVTZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMpOwpAQCAtMjQ4LDkgKzI0OCw5IEBAIFdlYklu
c3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbCA9IGNsYXNzIERlYnVnZ2VyU2lkZWJhclBhbmVs
IGV4dGVuZHMgV2ViSW5zcGVjCiAKICAgICBfZGVidWdnZXJEaWRQYXVzZShldmVudCkKICAgICB7
Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX2NhbGxTdGFj
a1NlY3Rpb24uZWxlbWVudCwgdGhpcy5jb250ZW50RWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAg
ICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9jYWxsU3RhY2tT
ZWN0aW9uLmVsZW1lbnQsIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5maXJzdENoaWxkKTsKICAg
ICAgICAgaWYgKHRoaXMuX3VwZGF0ZVBhdXNlUmVhc29uKCkpCi0gICAgICAgICAgICB0aGlzLmNv
bnRlbnRFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9wYXVzZVJlYXNvblNlY3Rpb24uZWxlbWVu
dCwgdGhpcy5jb250ZW50RWxlbWVudC5maXJzdENoaWxkKTsKKyAgICAgICAgICAgIHRoaXMuY29u
dGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fcGF1c2VSZWFzb25TZWN0aW9uLmVs
ZW1lbnQsIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5maXJzdENoaWxkKTsKIAogICAgICAgICB0
aGlzLl9kZWJ1Z2dlclBhdXNlUmVzdW1lQnV0dG9uSXRlbS5lbmFibGVkID0gdHJ1ZTsKICAgICAg
ICAgdGhpcy5fZGVidWdnZXJQYXVzZVJlc3VtZUJ1dHRvbkl0ZW0udG9nZ2xlZCA9IHRydWU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXll
clRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCA2NzQz
NDZmM2I5NTg4MDcyYTEyOGEzNzQ5N2ViMzg0NmM2ZmQxY2E1Li4yMjZiYWM3N2M0YWZmOWRhMzlh
NjU4YWNjNTE4NmJlZTBhNjhhMGNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFp
bHNTaWRlYmFyUGFuZWwuanMKQEAgLTExNyw3ICsxMTcsNyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJU
cmVlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRlYmFyUGFu
ZWwgZQogCiAgICAgICAgIHRoaXMuX2xheWVySW5mb1NlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uKCJsYXllci1pbmZvIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMYXll
ciBJbmZvIiksIFt0aGlzLl9ub0xheWVySW5mb3JtYXRpb25Hcm91cF0pOwogCi0gICAgICAgIHRo
aXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGF5ZXJJbmZvU2VjdGlvbi5lbGVt
ZW50KTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X2xheWVySW5mb1NlY3Rpb24uZWxlbWVudCk7CiAgICAgfQogCiAgICAgX2J1aWxkRGF0YUdyaWRT
ZWN0aW9uKCkKQEAgLTE1NCw4ICsxNTQsNyBAQCBXZWJJbnNwZWN0b3IuTGF5ZXJUcmVlRGV0YWls
c1NpZGViYXJQYW5lbCA9IGNsYXNzIExheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwgZQogICAg
ICAgICB2YXIgZ3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3JvdXAoW3Ro
aXMuX2NoaWxkTGF5ZXJzUm93XSk7CiAgICAgICAgIHZhciBzZWN0aW9uID0gbmV3IFdlYkluc3Bl
Y3Rvci5EZXRhaWxzU2VjdGlvbigibGF5ZXItY2hpbGRyZW4iLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkNoaWxkIExheWVycyIpLCBbZ3JvdXBdLCBudWxsLCB0cnVlKTsKIAotICAgICAgICB2YXIg
ZWxlbWVudCA9IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoc2VjdGlvbi5lbGVtZW50
KTsKLSAgICAgICAgZWxlbWVudC5jbGFzc0xpc3QuYWRkKHNlY3Rpb24uaWRlbnRpZmllcik7Cisg
ICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZChzZWN0aW9uLmVsZW1l
bnQpOwogICAgIH0KIAogICAgIF9idWlsZEJvdHRvbUJhcigpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9uU2lkZWJhclBhbmVs
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2aWdhdGlv
blNpZGViYXJQYW5lbC5qcwppbmRleCA2ODE5ZmRkOWM5ZTY2ODlhNjJhZTNlYmU0ZDBhMTQ3OTI5
ZjAxNDNhLi4zMjBiOTY4NjgyYTQyMjUyODBlYTYxMjY5ZmQ5NTQ2ZjJjODNlOWYyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0aW9u
U2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05hdmlnYXRpb25TaWRlYmFyUGFuZWwuanMKQEAgLTMzLDcgKzMzLDcgQEAgV2ViSW5z
cGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBOYXZpZ2F0aW9uU2lkZWJhclBh
bmVsIGV4dGVuZHMgV2ViSW4KIAogICAgICAgICB0aGlzLl92aXNpYmxlQ29udGVudFRyZWVPdXRs
aW5lcyA9IG5ldyBTZXQ7CiAKLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJzY3JvbGwiLCB0aGlzLl91cGRhdGVDb250ZW50T3ZlcmZsb3dTaGFkb3dWaXNpYmls
aXR5LmJpbmQodGhpcykpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigic2Nyb2xsIiwgdGhpcy5fdXBkYXRlQ29udGVudE92ZXJmbG93U2hhZG93Vmlz
aWJpbGl0eS5iaW5kKHRoaXMpKTsKIAogICAgICAgICB0aGlzLl9jb250ZW50VHJlZU91dGxpbmUg
PSB0aGlzLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSh0cnVlKTsKIApAQCAtMTYyLDcgKzE2Miw3
IEBAIFdlYkluc3BlY3Rvci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgTmF2aWdhdGlv
blNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluCiAgICAgICAgIGNvbnRlbnRUcmVlT3V0bGluZS5o
aWRkZW4gPSAhZG9udEhpZGVCeURlZmF1bHQ7CiAgICAgICAgIGNvbnRlbnRUcmVlT3V0bGluZS5l
bGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwu
Q29udGVudFRyZWVPdXRsaW5lRWxlbWVudFN0eWxlQ2xhc3NOYW1lKTsKIAotICAgICAgICB0aGlz
LmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGNvbnRlbnRUcmVlT3V0bGluZS5lbGVtZW50KTsK
KyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKGNvbnRlbnRUcmVl
T3V0bGluZS5lbGVtZW50KTsKIAogICAgICAgICBpZiAoIXN1cHByZXNzRmlsdGVyaW5nKSB7CiAg
ICAgICAgICAgICBjb250ZW50VHJlZU91dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuVHJlZU91dGxpbmUuRXZlbnQuRWxlbWVudEFkZGVkLCB0aGlzLl90cmVlRWxlbWVudEFkZGVk
T3JDaGFuZ2VkLCB0aGlzKTsKQEAgLTQ3OSw4ICs0NzksOCBAQCBXZWJJbnNwZWN0b3IuTmF2aWdh
dGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIE5hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBX
ZWJJbgogICAgIHsKICAgICAgICAgdGhpcy5fdXBkYXRlQ29udGVudE92ZXJmbG93U2hhZG93Vmlz
aWJpbGl0eUlkZW50aWZpZXIgPSB1bmRlZmluZWQ7CiAKLSAgICAgICAgdmFyIHNjcm9sbEhlaWdo
dCA9IHRoaXMuY29udGVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0OwotICAgICAgICB2YXIgb2Zmc2V0
SGVpZ2h0ID0gdGhpcy5jb250ZW50RWxlbWVudC5vZmZzZXRIZWlnaHQ7CisgICAgICAgIGxldCBz
Y3JvbGxIZWlnaHQgPSB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuc2Nyb2xsSGVpZ2h0OworICAg
ICAgICBsZXQgb2Zmc2V0SGVpZ2h0ID0gdGhpcy5jb250ZW50Vmlldy5lbGVtZW50Lm9mZnNldEhl
aWdodDsKIAogICAgICAgICBpZiAoc2Nyb2xsSGVpZ2h0IDwgb2Zmc2V0SGVpZ2h0KSB7CiAgICAg
ICAgICAgICBpZiAodGhpcy5fdG9wT3ZlcmZsb3dTaGFkb3dFbGVtZW50KQpAQCAtNDg5LDExICs0
ODksMTEgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBOYXZp
Z2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW4KICAgICAgICAgICAgIHJldHVybjsKICAg
ICAgICAgfQogCi0gICAgICAgIHZhciBlZGdlVGhyZXNob2xkID0gMTsKLSAgICAgICAgdmFyIHNj
cm9sbFRvcCA9IHRoaXMuY29udGVudEVsZW1lbnQuc2Nyb2xsVG9wOworICAgICAgICBsZXQgZWRn
ZVRocmVzaG9sZCA9IDE7CisgICAgICAgIGxldCBzY3JvbGxUb3AgPSB0aGlzLmNvbnRlbnRWaWV3
LmVsZW1lbnQuc2Nyb2xsVG9wOwogCi0gICAgICAgIHZhciB0b3BDb3ZlcmFnZSA9IE1hdGgubWlu
KHNjcm9sbFRvcCwgZWRnZVRocmVzaG9sZCk7Ci0gICAgICAgIHZhciBib3R0b21Db3ZlcmFnZSA9
IE1hdGgubWF4KDAsIChvZmZzZXRIZWlnaHQgKyBzY3JvbGxUb3ApIC0gKHNjcm9sbEhlaWdodCAt
IGVkZ2VUaHJlc2hvbGQpKTsKKyAgICAgICAgbGV0IHRvcENvdmVyYWdlID0gTWF0aC5taW4oc2Ny
b2xsVG9wLCBlZGdlVGhyZXNob2xkKTsKKyAgICAgICAgbGV0IGJvdHRvbUNvdmVyYWdlID0gTWF0
aC5tYXgoMCwgKG9mZnNldEhlaWdodCArIHNjcm9sbFRvcCkgLSAoc2Nyb2xsSGVpZ2h0IC0gZWRn
ZVRocmVzaG9sZCkpOwogCiAgICAgICAgIGlmICh0aGlzLl90b3BPdmVyZmxvd1NoYWRvd0VsZW1l
bnQpCiAgICAgICAgICAgICB0aGlzLl90b3BPdmVyZmxvd1NoYWRvd0VsZW1lbnQuc3R5bGUub3Bh
Y2l0eSA9ICh0b3BDb3ZlcmFnZSAvIGVkZ2VUaHJlc2hvbGQpLnRvRml4ZWQoMSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Qcm9iZURldGFp
bHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9Qcm9iZURldGFpbHNTaWRlYmFyUGFuZWwuanMKaW5kZXggZWFlMjI5MzI0MWY2ZjBmYzdi
ZTIxYjdlNDk4YTVlMmEzOWY5MzVmZC4uM2Q5NTZhNTllYTE1MmFkYTJiMGI1YjFmOTMxZTczZGRm
NGQzNTgzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUHJvYmVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAt
NTAsMTYgKzUwLDE2IEBAIFdlYkluc3BlY3Rvci5Qcm9iZURldGFpbHNTaWRlYmFyUGFuZWwgPSBj
bGFzcyBQcm9iZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXCiAKICAgICBzZXQgaW5zcGVj
dGVkUHJvYmVTZXRzKG5ld1Byb2JlU2V0cykKICAgICB7Ci0gICAgICAgIGZvciAodmFyIHByb2Jl
U2V0IG9mIHRoaXMuX2luc3BlY3RlZFByb2JlU2V0cykgewotICAgICAgICAgICAgdmFyIHJlbW92
ZWRTZWN0aW9uID0gdGhpcy5fcHJvYmVTZXRTZWN0aW9ucy5nZXQocHJvYmVTZXQpOwotICAgICAg
ICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5yZW1vdmVDaGlsZChyZW1vdmVkU2VjdGlvbi5lbGVt
ZW50KTsKKyAgICAgICAgZm9yIChsZXQgcHJvYmVTZXQgb2YgdGhpcy5faW5zcGVjdGVkUHJvYmVT
ZXRzKSB7CisgICAgICAgICAgICBsZXQgcmVtb3ZlZFNlY3Rpb24gPSB0aGlzLl9wcm9iZVNldFNl
Y3Rpb25zLmdldChwcm9iZVNldCk7CisgICAgICAgICAgICByZW1vdmVkU2VjdGlvbi5lbGVtZW50
LnJlbW92ZSgpOwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5faW5zcGVjdGVkUHJvYmVTZXRz
ID0gbmV3UHJvYmVTZXRzOwogCi0gICAgICAgIGZvciAodmFyIHByb2JlU2V0IG9mIG5ld1Byb2Jl
U2V0cykgeworICAgICAgICBmb3IgKGxldCBwcm9iZVNldCBvZiBuZXdQcm9iZVNldHMpIHsKICAg
ICAgICAgICAgIHZhciBzaG93blNlY3Rpb24gPSB0aGlzLl9wcm9iZVNldFNlY3Rpb25zLmdldChw
cm9iZVNldCk7Ci0gICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHNo
b3duU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVu
dC5hcHBlbmRDaGlsZChzaG93blNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgIH0KICAgICB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jl
c291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCAyNzRk
MTBkZTU2M2E4MTdiN2Q4N2M3MmNkOGY2NmI5MTE0MTBjMTZlLi5hYzE1ODQ0ZmI5ODdiZDg3Mjll
MWFlNzEzZmM3OTUwMmFhMTg3NjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxz
U2lkZWJhclBhbmVsLmpzCkBAIC0xMDIsMTEgKzEwMiwxMSBAQCBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVs
IGV4dAogICAgICAgICB0aGlzLl9pbWFnZVNpemVTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvbigicmVzb3VyY2UtdHlwZSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSW1h
Z2UgU2l6ZSIpKTsKICAgICAgICAgdGhpcy5faW1hZ2VTaXplU2VjdGlvbi5ncm91cHMgPSBbbmV3
IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFt0aGlzLl9pbWFnZVdpZHRoUm93LCB0
aGlzLl9pbWFnZUhlaWdodFJvd10pXTsKIAotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFw
cGVuZENoaWxkKHRoaXMuX3R5cGVTZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRl
bnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xvY2F0aW9uU2VjdGlvbi5lbGVtZW50KTsKLSAg
ICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yZXF1ZXN0QW5kUmVz
cG9uc2VTZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVu
ZENoaWxkKHRoaXMuX3JlcXVlc3RIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsKLSAgICAgICAgdGhp
cy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yZXNwb25zZUhlYWRlcnNTZWN0aW9u
LmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQo
dGhpcy5fdHlwZVNlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxl
bWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sb2NhdGlvblNlY3Rpb24uZWxlbWVudCk7CisgICAgICAg
IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yZXF1ZXN0QW5kUmVz
cG9uc2VTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQu
YXBwZW5kQ2hpbGQodGhpcy5fcmVxdWVzdEhlYWRlcnNTZWN0aW9uLmVsZW1lbnQpOworICAgICAg
ICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmVzcG9uc2VIZWFk
ZXJzU2VjdGlvbi5lbGVtZW50KTsKICAgICB9CiAKICAgICAvLyBQdWJsaWMKQEAgLTIyNSw3ICsy
MjUsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3Mg
UmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAogCiAgICAgICAgIGlmICh1cmxDb21wb25l
bnRzLnF1ZXJ5U3RyaW5nKSB7CiAgICAgICAgICAgICAvLyBFbnN1cmUgdGhlICJRdWVyeSBQYXJh
bWV0ZXJzIiBzZWN0aW9uIGlzIGRpc3BsYXllZCwgcmlnaHQgYWZ0ZXIgdGhlICJSZXF1ZXN0ICYg
UmVzcG9uc2UiIHNlY3Rpb24uCi0gICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50Lmluc2Vy
dEJlZm9yZSh0aGlzLl9xdWVyeVBhcmFtZXRlcnNTZWN0aW9uLmVsZW1lbnQsIHRoaXMuX3JlcXVl
c3RBbmRSZXNwb25zZVNlY3Rpb24uZWxlbWVudC5uZXh0U2libGluZyk7CisgICAgICAgICAgICB0
aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3F1ZXJ5UGFyYW1ldGVy
c1NlY3Rpb24uZWxlbWVudCwgdGhpcy5fcmVxdWVzdEFuZFJlc3BvbnNlU2VjdGlvbi5lbGVtZW50
Lm5leHRTaWJsaW5nKTsKIAogICAgICAgICAgICAgdGhpcy5fcXVlcnlQYXJhbWV0ZXJzUm93LmRh
dGFHcmlkID0gdGhpcy5fY3JlYXRlTmFtZVZhbHVlRGF0YUdyaWQocGFyc2VRdWVyeVN0cmluZyh1
cmxDb21wb25lbnRzLnF1ZXJ5U3RyaW5nLCB0cnVlKSk7CiAgICAgICAgIH0gZWxzZSB7CkBAIC0z
ODIsMTIgKzM4MiwxMiBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVs
ID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAogICAgICAgICBpZiAocmVz
b3VyY2UudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlJlc291cmNlLlR5cGUuSW1hZ2UgfHwgcmVzb3Vy
Y2UuZmFpbGVkKSB7CiAgICAgICAgICAgICB2YXIgaW1hZ2VTZWN0aW9uRWxlbWVudCA9IHRoaXMu
X2ltYWdlU2l6ZVNlY3Rpb24uZWxlbWVudDsKICAgICAgICAgICAgIGlmIChpbWFnZVNlY3Rpb25F
bGVtZW50LnBhcmVudE5vZGUpCi0gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5y
ZW1vdmVDaGlsZChpbWFnZVNlY3Rpb25FbGVtZW50KTsKKyAgICAgICAgICAgICAgICB0aGlzLmNv
bnRlbnRWaWV3LmVsZW1lbnQucmVtb3ZlQ2hpbGQoaW1hZ2VTZWN0aW9uRWxlbWVudCk7CiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAgICAvLyBFbnN1cmUgdGhlIHNlY3Rp
b24gaXMgZGlzcGxheWVkLCByaWdodCBiZWZvcmUgdGhlICJMb2NhdGlvbiIgc2VjdGlvbi4KLSAg
ICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5faW1hZ2VTaXplU2Vj
dGlvbi5lbGVtZW50LCB0aGlzLl9sb2NhdGlvblNlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRo
aXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5faW1hZ2VTaXplU2VjdGlv
bi5lbGVtZW50LCB0aGlzLl9sb2NhdGlvblNlY3Rpb24uZWxlbWVudCk7CiAKICAgICAgICAgLy8g
R2V0IHRoZSBtZXRyaWNzIGZvciB0aGlzIHJlc291cmNlIGFuZCBmaWxsIGluIHRoZSBtZXRyaWNz
IHJvd3Mgd2l0aCB0aGF0IGluZm9ybWF0aW9uLgogICAgICAgICByZXNvdXJjZS5nZXRJbWFnZVNp
emUoZnVuY3Rpb24oc2l6ZSkgewpAQCAtNDE2LDcgKzQxNiw3IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZXNvdXJjZURldGFpbHNTaWRlYmFyUGFu
ZWwgZXh0CiAgICAgICAgIH0KIAogICAgICAgICAvLyBFbnN1cmUgdGhlIHNlY3Rpb24gaXMgZGlz
cGxheWVkLCByaWdodCBiZWZvcmUgdGhlICJSZXF1ZXN0IEhlYWRlcnMiIHNlY3Rpb24uCi0gICAg
ICAgIHRoaXMuY29udGVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3JlcXVlc3REYXRhU2Vj
dGlvbi5lbGVtZW50LCB0aGlzLl9yZXF1ZXN0SGVhZGVyc1NlY3Rpb24uZWxlbWVudCk7CisgICAg
ICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5fcmVxdWVzdERh
dGFTZWN0aW9uLmVsZW1lbnQsIHRoaXMuX3JlcXVlc3RIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsK
IAogICAgICAgICB2YXIgcmVxdWVzdERhdGFDb250ZW50VHlwZSA9IHJlc291cmNlLnJlcXVlc3RE
YXRhQ29udGVudFR5cGUgfHwgIiI7CiAgICAgICAgIGlmIChyZXF1ZXN0RGF0YUNvbnRlbnRUeXBl
ICYmIHJlcXVlc3REYXRhQ29udGVudFR5cGUubWF0Y2goL15hcHBsaWNhdGlvblwveC13d3ctZm9y
bS11cmxlbmNvZGVkXHMqKDsuKik/JC9pKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWlu
RGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCAwOTBlODhiNWY2OGE5YjBlZGUwZGZhYjZiNGJm
N2VjNzVmMTk4ODViLi45NWI2NjAwMTVjNDFhMDIxMDQxYTJhMWRlYTgzNzdiMjJiMTRkZTQxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29w
ZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAt
NTQsNyArNTQsNyBAQCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwg
PSBjbGFzcyBTY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbAogCiAgICAgICAgIHRoaXMuX3dh
dGNoRXhwcmVzc2lvbnNTZWN0aW9uR3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uR3JvdXA7CiAgICAgICAgIHRoaXMuX3dhdGNoRXhwcmVzc2lvbnNTZWN0aW9uID0gbmV3IFdl
Ykluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigid2F0Y2gtZXhwcmVzc2lvbnMiLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIldhdGNoIEV4cHJlc3Npb25zIiksIFt0aGlzLl93YXRjaEV4cHJlc3Npb25z
U2VjdGlvbkdyb3VwXSwgdGhpcy5fd2F0Y2hFeHByZXNzaW9uT3B0aW9uc0VsZW1lbnQpOwotICAg
ICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3dhdGNoRXhwcmVzc2lv
bnNTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBw
ZW5kQ2hpbGQodGhpcy5fd2F0Y2hFeHByZXNzaW9uc1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICAg
ICAgdGhpcy5fdXBkYXRlV2F0Y2hFeHByZXNzaW9uc05hdmlnYXRpb25CYXIoKTsKIApAQCAtMTI1
LDggKzEyNSw4IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9
IGNsYXNzIFNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsCiAgICAgICAgICAgICAgICAgICAg
IGVtcHR5Um93LnNob3dFbXB0eU1lc3NhZ2UoKTsKICAgICAgICAgICAgICAgICB9CiAKLSAgICAg
ICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7Ci0gICAgICAg
ICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl93YXRjaEV4cHJl
c3Npb25zU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3
LmVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRW
aWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2F0Y2hFeHByZXNzaW9uc1NlY3Rpb24uZWxl
bWVudCk7CiAKICAgICAgICAgICAgICAgICAvLyBCYWlsIGlmIHRoZSBjYWxsIGZyYW1lIGNoYW5n
ZWQgd2hpbGUgd2Ugd2VyZSB3YWl0aW5nIGZvciB0aGUgYXN5bmMgcmVzcG9uc2UuCiAgICAgICAg
ICAgICAgICAgaWYgKHRoaXMuX2NhbGxGcmFtZSAhPT0gY2FsbEZyYW1lKQpAQCAtMTM2LDcgKzEz
Niw3IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNz
IFNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsCiAgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKIAogICAgICAgICAgICAgICAgIGZvciAobGV0IGNhbGxGcmFtZVNlY3Rpb24gb2YgY2FsbEZy
YW1lU2VjdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBw
ZW5kQ2hpbGQoY2FsbEZyYW1lU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKGNhbGxGcmFtZVNlY3Rpb24uZWxl
bWVudCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIC8vIFdlIG5lZWQgYSB0aW1lb3V0
IGluIHBsYWNlIGluIGNhc2UgdGhlcmUgYXJlIGxvbmcgcnVubmluZywgcGVuZGluZyBiYWNrZW5k
IGRpc3BhdGNoZXMuIFRoaXMgY2FuIGhhcHBlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBhbmVsLmpzCmluZGV4IDkzOTg2
ZGUyYjM3ZGJmMDFjYTllZDBmMmY3ZWE0YWZhY2QyYjY0ZGMuLjY4M2NjOGFkZDkwMjU3ZDQ1ZTEx
NjJhMzc0M2UyN2FmNDMwNjQxMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFuZWwuanMKQEAgLTQwLDkgKzQwLDkg
QEAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRz
IFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIHRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJv
bGUiLCByb2xlIHx8ICJncm91cCIpOwogICAgICAgICB0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWxhYmVsIiwgbGFiZWwgfHwgZGlzcGxheU5hbWUpOwogCi0gICAgICAgIHRoaXMuX2Nv
bnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0gICAgICAgIHRo
aXMuX2NvbnRlbnRFbGVtZW50LmNsYXNzTmFtZSA9ICJjb250ZW50IjsKLSAgICAgICAgdGhpcy5l
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRlbnRFbGVtZW50KTsKKyAgICAgICAgdGhpcy5f
Y29udGVudFZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlZpZXc7CisgICAgICAgIHRoaXMuX2NvbnRl
bnRWaWV3LmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiY29udGVudCIpOworICAgICAgICB0aGlzLmFk
ZFN1YnZpZXcodGhpcy5fY29udGVudFZpZXcpOwogICAgIH0KIAogICAgIC8vIFB1YmxpYwpAQCAt
NTIsOSArNTIsOSBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhclBhbmVsID0gY2xhc3MgU2lkZWJhclBh
bmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgcmV0dXJuIHRoaXMuX2lkZW50
aWZpZXI7CiAgICAgfQogCi0gICAgZ2V0IGNvbnRlbnRFbGVtZW50KCkKKyAgICBnZXQgY29udGVu
dFZpZXcoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2NvbnRlbnRFbGVtZW50OworICAg
ICAgICByZXR1cm4gdGhpcy5fY29udGVudFZpZXc7CiAgICAgfQogCiAgICAgZ2V0IHZpc2libGUo
KQpAQCAtMTI4LDE0ICsxMjgsMTQgQEAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCA9IGNsYXNz
IFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBzaG93bigpCiAg
ICAgewotICAgICAgICB0aGlzLl9jb250ZW50RWxlbWVudC5zY3JvbGxUb3AgPSB0aGlzLl9zYXZl
ZFNjcm9sbFBvc2l0aW9uOworICAgICAgICB0aGlzLl9jb250ZW50Vmlldy5lbGVtZW50LnNjcm9s
bFRvcCA9IHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb247CiAKICAgICAgICAgLy8gSW1wbGVtZW50
ZWQgYnkgc3ViY2xhc3Nlcy4KICAgICB9CiAKICAgICBoaWRkZW4oKQogICAgIHsKLSAgICAgICAg
dGhpcy5fc2F2ZWRTY3JvbGxQb3NpdGlvbiA9IHRoaXMuX2NvbnRlbnRFbGVtZW50LnNjcm9sbFRv
cDsKKyAgICAgICAgdGhpcy5fc2F2ZWRTY3JvbGxQb3NpdGlvbiA9IHRoaXMuX2NvbnRlbnRWaWV3
LmVsZW1lbnQuc2Nyb2xsVG9wOwogCiAgICAgICAgIC8vIEltcGxlbWVudGVkIGJ5IHN1YmNsYXNz
ZXMuCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwppbmRleCBmN2JmNzUzMzZhZGJm
YjdkZmIzN2RmYWVlNTJkZjQyN2FlZjA3NWEwLi41NjU0NGM1MmJjNThjYjU4NWQ0YWIzNjYxNjE4
ZGRkYmMwYzc5OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcwpAQCAtMjMsNyArMjMs
NyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLVdlYkluc3Bl
Y3Rvci5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMg
V2ViSW5zcGVjdG9yLk9iamVjdAorV2ViSW5zcGVjdG9yLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xh
c3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogewogICAgIGNv
bnN0cnVjdG9yKGRlbGVnYXRlLCBjbGFzc05hbWUsIGlkZW50aWZpZXIsIGxhYmVsKQogICAgIHsK
QEAgLTMxLDExICszMSw4IEBAIFdlYkluc3BlY3Rvci5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNz
IFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iCiAKICAgICAgICAgdGhp
cy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZSB8fCBudWxsOwogCi0gICAgICAgIHRoaXMuX2VsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5j
bGFzc05hbWUgPSBjbGFzc05hbWU7Ci0KICAgICAgICAgLy8gQWRkIHRoaXMgb2Zmc2V0LXNlY3Rp
b25zIGNsYXNzIG5hbWUgc28gdGhlIHN0aWNreSBoZWFkZXJzIGRvbid0IG92ZXJsYXAgdGhlIG5h
dmlnYXRpb24gYmFyLgotICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgib2Zmc2V0
LXNlY3Rpb25zIik7CisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFt
ZSwgIm9mZnNldC1zZWN0aW9ucyIpOwogCiAgICAgICAgIHRoaXMuX25hdmlnYXRpb25JbmZvID0g
e2lkZW50aWZpZXIsIGxhYmVsfTsKIApAQCAtNDUsMTEgKzQyLDYgQEAgV2ViSW5zcGVjdG9yLlN0
eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuT2IKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0IGVsZW1lbnQoKQotICAgIHsKLSAg
ICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQ7Ci0gICAgfQotCiAgICAgZ2V0IG5hdmlnYXRpb25J
bmZvKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9uYXZpZ2F0aW9uSW5mbzsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
U2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5kZXggYTczODFlOWJmMGU1ZWVhMmU1ZDdlNDgx
NmY3ZTZlYjUwNDFiMjRlZC4uM2ViOThhYmYxZTZlZGYyZTM4YmVlMjhiMmFmYjZmYjYyNzlmNWU3
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3Mv
VGltZWxpbmVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKQEAgLTg3Myw3ICs4NzMsNyBA
QCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGVi
YXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB9CiAKICAgICAgICAgdGhpcy5fdGlt
ZWxpbmVFdmVudHNUaXRsZUJhckNvbnRhaW5lci5zdHlsZS50b3AgPSAob3ZlcnZpZXdIZWlnaHQg
KyBldmVudFRpdGxlQmFyT2Zmc2V0KSArICJweCI7Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1l
bnQuc3R5bGUudG9wID0gKG92ZXJ2aWV3SGVpZ2h0ICsgY29udGVudEVsZW1lbnRPZmZzZXQpICsg
InB4IjsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LnN0eWxlLnRvcCA9IChvdmVy
dmlld0hlaWdodCArIGNvbnRlbnRFbGVtZW50T2Zmc2V0KSArICJweCI7CiAgICAgfQogCiAgICAg
X3JlY29yZEdseXBoTW91c2VkT3ZlcihldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVEZXRh
aWxzUGFuZWwuanMKaW5kZXggMGIwYWIyNjA2YWRkN2VhM2U0Njk3N2QwNDZhZmM5NGQ3OTNmMmFl
OS4uMmRlYzBhMmU4NGQ1MjExNzVkNjFhMWNmNDY5OTM3NmI0NGIxNDRmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVEZXRh
aWxzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTYwLDcgKzYwLDcgQEAgV2ViSW5zcGVj
dG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFu
ZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uID0gbmV3IFdlYklu
c3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbih0aGlzKTsKICAgICAgICAgdGhpcy5f
c2VsZWN0b3JTZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxl
U2VsZWN0b3JTZWN0aW9uLkV2ZW50LlNlbGVjdG9yQ2hhbmdlZCwgdGhpcy5fdXBkYXRlU2VjdGlv
bnMsIHRoaXMpOwogICAgICAgICB0aGlzLl9zZWxlY3RvclNlY3Rpb24uYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNlY3Rpb24uRXZlbnQuU3R5bGVUZXh0
Q2hhbmdlZCwgdGhpcy5fcHJlcGFyZUZvckNoYW5nZSwgdGhpcyk7Ci0gICAgICAgIHRoaXMuX2Vs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JTZWN0aW9uLmVsZW1lbnQpOworICAgICAg
ICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JTZWN0aW9uLmVsZW1lbnQp
OwogCiAgICAgICAgIC8vIExheW91dCBTZWN0aW9uCiAgICAgICAgIHRoaXMuX2dlbmVyYXRlU2Vj
dGlvbigiZGlzcGxheSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGlzcGxheSIpKTsKQEAgLTcz
LDcgKzczLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3Mg
VmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fZ2VuZXJh
dGVTZWN0aW9uKCJhbGlnbm1lbnQiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkFsaWdubWVudCIp
KTsKIAogICAgICAgICB0aGlzLl9zZWN0aW9ucy5sYXlvdXQgPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uKCJsYXlvdXQiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxheW91dCIpLCBb
dGhpcy5fZ3JvdXBzLmRpc3BsYXkuc2VjdGlvbiwgdGhpcy5fZ3JvdXBzLnBvc2l0aW9uLnNlY3Rp
b24sIHRoaXMuX2dyb3Vwcy5mbG9hdC5zZWN0aW9uLCB0aGlzLl9ncm91cHMuZGltZW5zaW9ucy5z
ZWN0aW9uLCB0aGlzLl9ncm91cHMubWFyZ2luLnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5wYWRkaW5n
LnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5mbGV4Ym94LnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5hbGln
bm1lbnQuc2VjdGlvbl0pOwotICAgICAgICB0aGlzLl9lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMu
X3NlY3Rpb25zLmxheW91dC5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENo
aWxkKHRoaXMuX3NlY3Rpb25zLmxheW91dC5lbGVtZW50KTsKIAogICAgICAgICAvLyBUZXh0IFNl
Y3Rpb24KICAgICAgICAgdGhpcy5fZ2VuZXJhdGVTZWN0aW9uKCJ0ZXh0LXN0eWxlIiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJTdHlsZSIpKTsKQEAgLTgyLDcgKzgyLDcgQEAgV2ViSW5zcGVjdG9y
LlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwg
ZXh0ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fZ2VuZXJhdGVTZWN0aW9uKCJ0ZXh0LXNoYWRvdyIs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hhZG93IikpOwogCiAgICAgICAgIHRoaXMuX3NlY3Rp
b25zLnRleHQgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJ0ZXh0IiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJUZXh0IiksIFt0aGlzLl9ncm91cHMudGV4dFN0eWxlLnNlY3Rpb24s
IHRoaXMuX2dyb3Vwcy5mb250LnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy50ZXh0U3BhY2luZy5zZWN0
aW9uLCB0aGlzLl9ncm91cHMudGV4dFNoYWRvdy5zZWN0aW9uXSk7Ci0gICAgICAgIHRoaXMuX2Vs
ZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VjdGlvbnMudGV4dC5lbGVtZW50KTsKKyAgICAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlY3Rpb25zLnRleHQuZWxlbWVudCk7CiAK
ICAgICAgICAgLy8gQmFja2dyb3VuZCBTZWN0aW9uCiAgICAgICAgIHRoaXMuX2dlbmVyYXRlU2Vj
dGlvbigiYmFja2dyb3VuZC1zdHlsZSIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3R5bGUiKSk7
CkBAIC05MSwxMyArOTEsMTMgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVs
ID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgdGhp
cy5fZ2VuZXJhdGVTZWN0aW9uKCJib3gtc2hhZG93IiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
aGFkb3ciKSk7CiAKICAgICAgICAgdGhpcy5fc2VjdGlvbnMuYmFja2dyb3VuZCA9IG5ldyBXZWJJ
bnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImJhY2tncm91bmQiLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkJhY2tncm91bmQiKSwgW3RoaXMuX2dyb3Vwcy5iYWNrZ3JvdW5kU3R5bGUuc2VjdGlvbiwg
dGhpcy5fZ3JvdXBzLmJvcmRlci5zZWN0aW9uLCB0aGlzLl9ncm91cHMub3V0bGluZS5zZWN0aW9u
LCB0aGlzLl9ncm91cHMuYm94U2hhZG93LnNlY3Rpb25dKTsKLSAgICAgICAgdGhpcy5fZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0aW9ucy5iYWNrZ3JvdW5kLmVsZW1lbnQpOworICAgICAg
ICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VjdGlvbnMuYmFja2dyb3VuZC5lbGVt
ZW50KTsKIAogICAgICAgICAvLyBBbmltYXRpb24gU2VjdGlvbgogICAgICAgICB0aGlzLl9nZW5l
cmF0ZVNlY3Rpb24oInRyYW5zaXRpb24iLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRyYW5zaXRp
b24iKSk7CiAKICAgICAgICAgdGhpcy5fc2VjdGlvbnMuYW5pbWF0aW9uID0gbmV3IFdlYkluc3Bl
Y3Rvci5EZXRhaWxzU2VjdGlvbigiYW5pbWF0aW9uIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJB
bmltYXRpb24iKSwgW3RoaXMuX2dyb3Vwcy50cmFuc2l0aW9uLnNlY3Rpb25dKTsKLSAgICAgICAg
dGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0aW9ucy5hbmltYXRpb24uZWxlbWVu
dCk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0aW9ucy5hbmlt
YXRpb24uZWxlbWVudCk7CiAgICAgfQogCiAgICAgLy8gUHVibGljCkBAIC0xNTUsNyArMTU1LDcg
QEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5
bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAg
ICBsZXQgZGlzYWJsZWQgPSB0aGlzLl9jdXJyZW50U3R5bGVbV2ViSW5zcGVjdG9yLlZpc3VhbFN0
eWxlRGV0YWlsc1BhbmVsLlN0eWxlRGlzYWJsZWRTeW1ib2xdOwotICAgICAgICB0aGlzLl9lbGVt
ZW50LmNsYXNzTGlzdC50b2dnbGUoImRpc2FibGVkIiwgISFkaXNhYmxlZCk7CisgICAgICAgIHRo
aXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJkaXNhYmxlZCIsICEhZGlzYWJsZWQpOwogICAg
ICAgICBpZiAoZGlzYWJsZWQpCiAgICAgICAgICAgICByZXR1cm47CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>267391</attachid>
            <date>2015-12-15 13:44:09 -0800</date>
            <delta_ts>2015-12-15 14:34:21 -0800</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-152274-20151215134332.patch</filename>
            <type>text/plain</type>
            <size>33864</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk0MTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCAw
NzhlNDZkZjJlMjkwOTg5ZWQ0MDE4ZGM5YWE1N2UyMzViMTI1MzNmLi5mNTZjYmMwOTBkODM1ZGFh
MjE0ZjAwN2FmYjc4NzQzZDYyMzJiZTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4MSBAQAorMjAxNS0xMi0xNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogQ29udmVydCBTaWRlYmFyIGNsYXNzZXMgdG8gdXNl
IFZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
MjI3NAorCisgICAgICAgIFJldmlld2VkIGJ5IEJyaWFuIEJ1cmcuCisKKyAgICAgICAgVXBkYXRl
ZCBTaWRlYmFyIGFuZCBTaWRlYmFyUGFuZWwgdG8gaW5oZXJpdCBmcm9tIFZpZXcuIE1vc3RseSBt
ZWNoYW5pY2FsIGNoYW5nZXMuCisgICAgICAgIE9uY2UgdGhlIERldGFpbHNTZWN0aW9uIGNsYXNz
IGZhbWlseSBpbmhlcml0cyBmcm9tIFZpZXcgKGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE1MjI2OSks
CisgICAgICAgIGRpcmVjdGx5IG1vZGlmeWluZyBhIHNpZGViYXIncyAnY29udGVudFZpZXcnIGVs
ZW1lbnQgd2lsbCByYXJlbHkgYmUgbmVjZXNzYXJ5LgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbCk6CisKKyAg
ICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5q
czoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5
cGUucmVmcmVzaCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJh
clBhbmVsLnByb3RvdHlwZS5fc3dpdGNoUGFuZWxzKToKKyAgICAgICAgQWRkL3JlbW92ZSBwYW5l
bHMgYXMgc3Vidmlld3Mgb2YgdGhlIHNpZGViYXIuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
U3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fZmlsdGVyRGlkQ2hhbmdlKToKKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwpOgor
CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGViYXJQYW5lbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwucHJvdG90eXBlLl9kZWJ1Z2dlckRpZFBh
dXNlKToKKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJUcmVlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5MYXllclRyZWVEZXRhaWxzU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fYnVpbGRMYXllckluZm9TZWN0aW9uKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5fYnVpbGRE
YXRhR3JpZFNlY3Rpb24pOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9OYXZpZ2F0
aW9uU2lkZWJhclBhbmVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRl
YmFyUGFuZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwu
cHJvdG90eXBlLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZUNvbnRlbnRPdmVyZmxv
d1NoYWRvd1Zpc2liaWxpdHkpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Qcm9i
ZURldGFpbHNTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUHJvYmVEZXRh
aWxzU2lkZWJhclBhbmVsLnByb3RvdHlwZS5zZXQgaW5zcGVjdGVkUHJvYmVTZXRzKToKKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpz
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLnByb3RvdHlw
ZS5fcmVmcmVzaFVSTCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lk
ZWJhclBhbmVsLnByb3RvdHlwZS5fcmVmcmVzaEltYWdlU2l6ZVNlY3Rpb24pOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlJlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUuX3JlZnJl
c2hSZXF1ZXN0RGF0YVNlY3Rpb24pOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9T
Y29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
Y29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU2Nv
cGVDaGFpbkRldGFpbHNTaWRlYmFyUGFuZWwucHJvdG90eXBlLnJlZnJlc2guKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5wcm90b3R5cGUucmVm
cmVzaCk6CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qczoK
KyAgICAgICAgSW5oZXJpdCBmcm9tIFZpZXcuCisgICAgICAgIChXZWJJbnNwZWN0b3IuU2lkZWJh
clBhbmVsKToKKyAgICAgICAgUmVwbGFjZSB0aGUgY29udGVudCBlbGVtZW50ICh0aGUgcG9ydGlv
biBvZiB0aGUgdmlldyBleGNsdWRpbmcgbmF2aWdhdGlvbgorICAgICAgICBiYXJzLCBmaWx0ZXIg
YmFycywgZXRjLikgd2l0aCBhIFZpZXcgb2JqZWN0LiBBIHNpZGViYXIncyBjb250ZW50IGNhbiBi
ZSBhIG1peHR1cmUKKyAgICAgICAgb2YgdW53cmFwcGVkIERPTSBlbGVtZW50cyBhbmQgVmlldyBv
YmplY3RzLiBGb3Igbm93LCB0aGUgY29udGVudCB2aWV3J3MgZWxlbWVudAorICAgICAgICB3aWxs
IGJlIG11dGF0ZWQgZGlyZWN0bHksIGJ1dCBvbmNlIHRoZSBEZXRhaWxzU2VjdGlvbiBjbGFzcyBm
YW1pbHkgaW5oZXJpdHMgZnJvbQorICAgICAgICB0aGUgVmlldyBjbGFzcyB0aGUgaGFuZGxpbmcg
b2YgZGV0YWlscyBzZWN0aW9ucyB3aWxsIGJlIHNpbXBsaWZpZWQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuU2lkZWJhclBhbmVsLnByb3RvdHlwZS5nZXQgY29udGVudFZpZXcpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbC5wcm90b3R5cGUuc2hvd24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNpZGViYXJQYW5lbC5wcm90b3R5cGUuaGlkZGVuKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5TaWRlYmFyUGFuZWwucHJvdG90eXBlLmdldCBjb250ZW50RWxlbWVudCk6IERlbGV0
ZWQuCisgICAgICAgIFJlcGxhY2VkIGJ5IFdlYkluc3BlY3Rvci5TaWRlYmFyUGFuZWwucHJvdG90
eXBlLmdldCBjb250ZW50Vmlldy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvU3R5
bGVEZXRhaWxzUGFuZWwuanM6CisgICAgICAgIEluaGVyaXQgZnJvbSBWaWV3LgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlN0eWxlRGV0YWlsc1BhbmVsKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
dHlsZURldGFpbHNQYW5lbC5wcm90b3R5cGUuZ2V0IGVsZW1lbnQpOiBEZWxldGVkLgorICAgICAg
ICBEZWZlciB0byBWaWV3LmVsZW1lbnQgZ2V0dGVyLgorCisgICAgICAgICogVXNlckludGVyZmFj
ZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVNpZGViYXJQYW5lbC5wcm90b3R5cGUuX3VwZGF0ZVRpbWVsaW5lT3ZlcnZpZXdIZWln
aHQpOgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9WaXN1YWxTdHlsZURldGFpbHNQ
YW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZURldGFpbHNQYW5lbCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwucHJvdG90eXBl
Ll91cGRhdGVTZWN0aW9ucyk6CisKIDIwMTUtMTItMTQgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBTdGFjayB0cmFjZXMgaW4g
Y29uc29sZSBpbmNvcnJlY3RseSBzaG93ICIoYW5vbnltb3VzIGZ1bmN0aW9uKSIgZm9yIGdsb2Jh
bCBjb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzU2lk
ZWJhclBhbmVsLmpzCmluZGV4IDJmZjdlY2FkY2YzYmQ2YTYwNDg1OWEwYmU3ZDRlMGYzNDA3NTAx
M2IuLjMwNGQyMDM5ZjQzZGE2NzUzODU1YmE1YzFhY2QwMDI2NjVhZDBlMmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2Fj
aGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0FwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBA
IC00Nyw4ICs0Nyw4IEBAIFdlYkluc3BlY3Rvci5BcHBsaWNhdGlvbkNhY2hlRGV0YWlsc1NpZGVi
YXJQYW5lbCA9IGNsYXNzIEFwcGxpY2F0aW9uQ2FjaGVEZXRhaWxzCiAKICAgICAgICAgdGhpcy5f
c3RhdHVzU2VjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImFwcGxpY2F0
aW9uLWNhY2hlLXN0YXR1cyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU3RhdHVzIiksIFt0aGlz
Ll9zdGF0dXNHcm91cF0pOwogCi0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fbG9jYXRpb25TZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRlbnRF
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3N0YXR1c1NlY3Rpb24uZWxlbWVudCk7CisgICAgICAg
IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sb2NhdGlvblNlY3Rp
b24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGls
ZCh0aGlzLl9zdGF0dXNTZWN0aW9uLmVsZW1lbnQpOwogCiAgICAgICAgIFdlYkluc3BlY3Rvci5h
cHBsaWNhdGlvbkNhY2hlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5BcHBs
aWNhdGlvbkNhY2hlTWFuYWdlci5FdmVudC5OZXR3b3JrU3RhdGVVcGRhdGVkLCB0aGlzLl9uZXR3
b3JrU3RhdGVVcGRhdGVkLCB0aGlzKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmFwcGxpY2F0aW9u
Q2FjaGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkFwcGxpY2F0aW9uQ2Fj
aGVNYW5hZ2VyLkV2ZW50LkZyYW1lTWFuaWZlc3RTdGF0dXNDaGFuZ2VkLCB0aGlzLl9mcmFtZU1h
bmlmZXN0U3RhdHVzQ2hhbmdlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DU1NTdHlsZURldGFp
bHNTaWRlYmFyUGFuZWwuanMKaW5kZXggYmU3NmI3Y2UxMGQyYjNkNTMwYTlmMzhiNWNjZDY4N2U0
MDdhYjYzNi4uOTQ4YTUwOWZhODg3YWY1NGNhMWRlNDFiYzEwZWRkNmFkNjk0ZjMzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ1NTU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0NTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtNjMsNyArNjMs
NyBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgQ1NT
U3R5bGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAogICAgICAgICAgICAgICAgIGdyb3VwRWxlbWVu
dC5hcHBlbmRDaGlsZChsYWJlbEVsZW1lbnQpOwogICAgICAgICAgICAgfSwgdGhpcyk7CiAKLSAg
ICAgICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fZm9yY2VkUHNl
dWRvQ2xhc3NDb250YWluZXIpOworICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuX2ZvcmNlZFBzZXVkb0NsYXNzQ29udGFpbmVyKTsKICAgICAgICAg
fQogCiAgICAgICAgIHRoaXMuX2NvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwgPSBuZXcgV2ViSW5z
cGVjdG9yLkNvbXB1dGVkU3R5bGVEZXRhaWxzUGFuZWwodGhpcyk7CkBAIC0xMjAsNyArMTIwLDcg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIENTU1N0
eWxlRGV0YWlsc1NpZGViYXJQYW5lbCBleHQKICAgICAgICAgaWYgKCFkb21Ob2RlKQogICAgICAg
ICAgICAgcmV0dXJuOwogCi0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuc2Nyb2xsVG9wID0g
dGhpcy5faW5pdGlhbFNjcm9sbE9mZnNldDsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVt
ZW50LnNjcm9sbFRvcCA9IHRoaXMuX2luaXRpYWxTY3JvbGxPZmZzZXQ7CiAKICAgICAgICAgZm9y
ICh2YXIgcGFuZWwgb2YgdGhpcy5fcGFuZWxzKSB7CiAgICAgICAgICAgICBwYW5lbC5lbGVtZW50
Ll9zYXZlZFNjcm9sbFRvcCA9IHVuZGVmaW5lZDsKQEAgLTIyNywzMCArMjI3LDMwIEBAIFdlYklu
c3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDU1NTdHlsZURldGFp
bHNTaWRlYmFyUGFuZWwgZXh0CiAKICAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkUGFuZWwpIHsK
ICAgICAgICAgICAgIHRoaXMuX3NlbGVjdGVkUGFuZWwuaGlkZGVuKCk7Ci0gICAgICAgICAgICB0
aGlzLl9zZWxlY3RlZFBhbmVsLmVsZW1lbnQuX3NhdmVkU2Nyb2xsVG9wID0gdGhpcy5jb250ZW50
RWxlbWVudC5zY3JvbGxUb3A7Ci0gICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLmVsZW1l
bnQucmVtb3ZlKCk7CisgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLmVsZW1lbnQuX3Nh
dmVkU2Nyb2xsVG9wID0gdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LnNjcm9sbFRvcDsKKyAgICAg
ICAgICAgIHRoaXMuY29udGVudFZpZXcucmVtb3ZlU3Vidmlldyh0aGlzLl9zZWxlY3RlZFBhbmVs
KTsKICAgICAgICAgfQogCiAgICAgICAgIHRoaXMuX3NlbGVjdGVkUGFuZWwgPSBzZWxlY3RlZFBh
bmVsOworICAgICAgICBpZiAoIXRoaXMuX3NlbGVjdGVkUGFuZWwpCisgICAgICAgICAgICByZXR1
cm47CiAKLSAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkUGFuZWwpIHsKLSAgICAgICAgICAgIHRo
aXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50
KTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5hZGRTdWJ2aWV3KHRoaXMuX3NlbGVjdGVkUGFu
ZWwpOwogCi0gICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMuX3NlbGVjdGVkUGFuZWwuZWxlbWVu
dC5fc2F2ZWRTY3JvbGxUb3AgPT09ICJudW1iZXIiKQotICAgICAgICAgICAgICAgIHRoaXMuY29u
dGVudEVsZW1lbnQuc2Nyb2xsVG9wID0gdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50Ll9zYXZl
ZFNjcm9sbFRvcDsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB0aGlzLmNvbnRl
bnRFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX2luaXRpYWxTY3JvbGxPZmZzZXQ7CisgICAgICAg
IGlmICh0eXBlb2YgdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50Ll9zYXZlZFNjcm9sbFRvcCA9
PT0gIm51bWJlciIpCisgICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuc2Nyb2xs
VG9wID0gdGhpcy5fc2VsZWN0ZWRQYW5lbC5lbGVtZW50Ll9zYXZlZFNjcm9sbFRvcDsKKyAgICAg
ICAgZWxzZQorICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LnNjcm9sbFRvcCA9
IHRoaXMuX2luaXRpYWxTY3JvbGxPZmZzZXQ7CiAKLSAgICAgICAgICAgIHZhciBoYXNGaWx0ZXIg
PSB0eXBlb2YgdGhpcy5fc2VsZWN0ZWRQYW5lbC5maWx0ZXJEaWRDaGFuZ2UgPT09ICJmdW5jdGlv
biI7Ci0gICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImhh
cy1maWx0ZXItYmFyIiwgaGFzRmlsdGVyKTsKLSAgICAgICAgICAgIGlmICh0aGlzLl9maWx0ZXJC
YXIpCi0gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5jbGFzc0xpc3QudG9nZ2xl
KFdlYkluc3BlY3Rvci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwuRmlsdGVySW5Qcm9ncmVz
c0NsYXNzTmFtZSwgaGFzRmlsdGVyICYmIHRoaXMuX2ZpbHRlckJhci5oYXNBY3RpdmVGaWx0ZXJz
KCkpOworICAgICAgICBsZXQgaGFzRmlsdGVyID0gdHlwZW9mIHRoaXMuX3NlbGVjdGVkUGFuZWwu
ZmlsdGVyRGlkQ2hhbmdlID09PSAiZnVuY3Rpb24iOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3
LmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgiaGFzLWZpbHRlci1iYXIiLCBoYXNGaWx0ZXIpOwor
ICAgICAgICBpZiAodGhpcy5fZmlsdGVyQmFyKQorICAgICAgICAgICAgdGhpcy5jb250ZW50Vmll
dy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGV0YWlsc1Np
ZGViYXJQYW5lbC5GaWx0ZXJJblByb2dyZXNzQ2xhc3NOYW1lLCBoYXNGaWx0ZXIgJiYgdGhpcy5f
ZmlsdGVyQmFyLmhhc0FjdGl2ZUZpbHRlcnMoKSk7CiAKLSAgICAgICAgICAgIHRoaXMuY29udGVu
dEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgic3VwcG9ydHMtbmV3LXJ1bGUiLCB0eXBlb2YgdGhp
cy5fc2VsZWN0ZWRQYW5lbC5uZXdSdWxlQnV0dG9uQ2xpY2tlZCA9PT0gImZ1bmN0aW9uIik7Ci0g
ICAgICAgICAgICB0aGlzLl9zZWxlY3RlZFBhbmVsLnNob3duKCk7CisgICAgICAgIHRoaXMuY29u
dGVudFZpZXcuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJzdXBwb3J0cy1uZXctcnVsZSIsIHR5
cGVvZiB0aGlzLl9zZWxlY3RlZFBhbmVsLm5ld1J1bGVCdXR0b25DbGlja2VkID09PSAiZnVuY3Rp
b24iKTsKKyAgICAgICAgdGhpcy5fc2VsZWN0ZWRQYW5lbC5zaG93bigpOwogCi0gICAgICAgICAg
ICB0aGlzLl9sYXN0U2VsZWN0ZWRTZWN0aW9uU2V0dGluZy52YWx1ZSA9IHNlbGVjdGVkUGFuZWwu
bmF2aWdhdGlvbkluZm8uaWRlbnRpZmllcjsKLSAgICAgICAgfQorICAgICAgICB0aGlzLl9sYXN0
U2VsZWN0ZWRTZWN0aW9uU2V0dGluZy52YWx1ZSA9IHNlbGVjdGVkUGFuZWwubmF2aWdhdGlvbklu
Zm8uaWRlbnRpZmllcjsKICAgICB9CiAKICAgICBfZm9yY2VkUHNldWRvQ2xhc3NDaGVja2JveENo
YW5nZWQocHNldWRvQ2xhc3MsIGV2ZW50KQpAQCAtMjg2LDcgKzI4Niw3IEBAIFdlYkluc3BlY3Rv
ci5DU1NTdHlsZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBDU1NTdHlsZURldGFpbHNTaWRl
YmFyUGFuZWwgZXh0CiAKICAgICBfZmlsdGVyRGlkQ2hhbmdlKCkKICAgICB7Ci0gICAgICAgIHRo
aXMuY29udGVudEVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJbnNwZWN0b3IuQ1NTU3R5bGVE
ZXRhaWxzU2lkZWJhclBhbmVsLkZpbHRlckluUHJvZ3Jlc3NDbGFzc05hbWUsIHRoaXMuX2ZpbHRl
ckJhci5oYXNBY3RpdmVGaWx0ZXJzKCkpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1l
bnQuY2xhc3NMaXN0LnRvZ2dsZShXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZXRhaWxzU2lkZWJhclBh
bmVsLkZpbHRlckluUHJvZ3Jlc3NDbGFzc05hbWUsIHRoaXMuX2ZpbHRlckJhci5oYXNBY3RpdmVG
aWx0ZXJzKCkpOwogCiAgICAgICAgIHRoaXMuX3NlbGVjdGVkUGFuZWwuZmlsdGVyRGlkQ2hhbmdl
KHRoaXMuX2ZpbHRlckJhcik7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1Np
ZGViYXJQYW5lbC5qcwppbmRleCBlNjE3OTk3ZWIwZjFkZGQ0ZDE0ZWY1Nzg3MzAwZDM3OGVhMzlj
MDBmLi5jYjc3MzY5ODY2MzMzN2E4NzMyZmZkNDViOGQwZTk3MzNjOGYwNTU3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9ET01Ob2RlRGV0YWls
c1NpZGViYXJQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtNTUsMTAgKzU1LDEwIEBA
IFdlYkluc3BlY3Rvci5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuCiAgICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXJzU2Vj
dGlvbkdyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwOwogICAgICAg
ICB2YXIgZXZlbnRMaXN0ZW5lcnNTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2Vj
dGlvbigiZG9tLW5vZGUtZXZlbnQtbGlzdGVuZXJzIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJF
dmVudCBMaXN0ZW5lcnMiKSwgW3RoaXMuX2V2ZW50TGlzdGVuZXJzU2VjdGlvbkdyb3VwXSk7CiAK
LSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChpZGVudGl0eVNlY3Rpb24u
ZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoYXR0cmli
dXRlc1NlY3Rpb24uZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5k
Q2hpbGQocHJvcGVydGllc1NlY3Rpb24uZWxlbWVudCk7Ci0gICAgICAgIHRoaXMuY29udGVudEVs
ZW1lbnQuYXBwZW5kQ2hpbGQoZXZlbnRMaXN0ZW5lcnNTZWN0aW9uLmVsZW1lbnQpOworICAgICAg
ICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQoaWRlbnRpdHlTZWN0aW9uLmVs
ZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQoYXR0
cmlidXRlc1NlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVu
dC5hcHBlbmRDaGlsZChwcm9wZXJ0aWVzU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5j
b250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKGV2ZW50TGlzdGVuZXJzU2VjdGlvbi5lbGVt
ZW50KTsKIAogICAgICAgICBpZiAodGhpcy5fYWNjZXNzaWJpbGl0eVN1cHBvcnRlZCgpKSB7CiAg
ICAgICAgICAgICB0aGlzLl9hY2Nlc3NpYmlsaXR5RW1wdHlSb3cgPSBuZXcgV2ViSW5zcGVjdG9y
LkRldGFpbHNTZWN0aW9uUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm8gQWNjZXNzaWJpbGl0
eSBJbmZvcm1hdGlvbiIpKTsKQEAgLTg5LDkgKzg5LDkgQEAgV2ViSW5zcGVjdG9yLkRPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgRE9NTm9kZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0
ZW4KICAgICAgICAgICAgIHRoaXMuX2FjY2Vzc2liaWxpdHlHcm91cCA9IG5ldyBXZWJJbnNwZWN0
b3IuRGV0YWlsc1NlY3Rpb25Hcm91cChbdGhpcy5fYWNjZXNzaWJpbGl0eUVtcHR5Um93XSk7CiAg
ICAgICAgICAgICB2YXIgYWNjZXNzaWJpbGl0eVNlY3Rpb24gPSBuZXcgV2ViSW5zcGVjdG9yLkRl
dGFpbHNTZWN0aW9uKCJkb20tbm9kZS1hY2Nlc3NpYmlsaXR5IiwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJBY2Nlc3NpYmlsaXR5IiksIFt0aGlzLl9hY2Nlc3NpYmlsaXR5R3JvdXBdKTsKIAotICAg
ICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChhY2Nlc3NpYmlsaXR5U2Vj
dGlvbi5lbGVtZW50KTsKLSAgICAgICAgfQorICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5l
bGVtZW50LmFwcGVuZENoaWxkKGFjY2Vzc2liaWxpdHlTZWN0aW9uLmVsZW1lbnQpOwogICAgICAg
ICB9CisgICAgfQogCiAgICAgLy8gUHVibGljCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFu
ZWwuanMKaW5kZXggOGI1NjNiODk0MjQyZTY4M2VmZTJhNDQ0MmEyZjY0ZGExNThmYzQyNy4uOGEx
MjUxOWQ3YjdjMDFiYjc5ZjdmZjYwZjgzZjZlNmJiNTFkOWQ1NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdnZXJTaWRlYmFyUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGVidWdn
ZXJTaWRlYmFyUGFuZWwuanMKQEAgLTEyOSw3ICsxMjksNyBAQCBXZWJJbnNwZWN0b3IuRGVidWdn
ZXJTaWRlYmFyUGFuZWwgPSBjbGFzcyBEZWJ1Z2dlclNpZGViYXJQYW5lbCBleHRlbmRzIFdlYklu
c3BlYwogCiAgICAgICAgIHZhciBicmVha3BvaW50c0dyb3VwID0gbmV3IFdlYkluc3BlY3Rvci5E
ZXRhaWxzU2VjdGlvbkdyb3VwKFticmVha3BvaW50c1Jvd10pOwogICAgICAgICB2YXIgYnJlYWtw
b2ludHNTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigic2NyaXB0cyIs
IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2NyaXB0cyIpLCBbYnJlYWtwb2ludHNHcm91cF0pOwot
ICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKGJyZWFrcG9pbnRzU2VjdGlv
bi5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxk
KGJyZWFrcG9pbnRzU2VjdGlvbi5lbGVtZW50KTsKIAogICAgICAgICB0aGlzLl9jYWxsU3RhY2tD
b250ZW50VHJlZU91dGxpbmUgPSB0aGlzLmNyZWF0ZUNvbnRlbnRUcmVlT3V0bGluZSh0cnVlLCB0
cnVlKTsKICAgICAgICAgdGhpcy5fY2FsbFN0YWNrQ29udGVudFRyZWVPdXRsaW5lLmFkZEV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lLkV2ZW50LlNlbGVjdGlvbkRpZENoYW5n
ZSwgdGhpcy5fdHJlZVNlbGVjdGlvbkRpZENoYW5nZSwgdGhpcyk7CkBAIC0yNDgsOSArMjQ4LDkg
QEAgV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gY2xhc3MgRGVidWdnZXJTaWRl
YmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMKIAogICAgIF9kZWJ1Z2dlckRpZFBhdXNlKGV2ZW50
KQogICAgIHsKLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5pbnNlcnRCZWZvcmUodGhpcy5f
Y2FsbFN0YWNrU2VjdGlvbi5lbGVtZW50LCB0aGlzLmNvbnRlbnRFbGVtZW50LmZpcnN0Q2hpbGQp
OworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX2Nh
bGxTdGFja1NlY3Rpb24uZWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hp
bGQpOwogICAgICAgICBpZiAodGhpcy5fdXBkYXRlUGF1c2VSZWFzb24oKSkKLSAgICAgICAgICAg
IHRoaXMuY29udGVudEVsZW1lbnQuaW5zZXJ0QmVmb3JlKHRoaXMuX3BhdXNlUmVhc29uU2VjdGlv
bi5lbGVtZW50LCB0aGlzLmNvbnRlbnRFbGVtZW50LmZpcnN0Q2hpbGQpOworICAgICAgICAgICAg
dGhpcy5jb250ZW50Vmlldy5lbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9wYXVzZVJlYXNvblNl
Y3Rpb24uZWxlbWVudCwgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmZpcnN0Q2hpbGQpOwogCiAg
ICAgICAgIHRoaXMuX2RlYnVnZ2VyUGF1c2VSZXN1bWVCdXR0b25JdGVtLmVuYWJsZWQgPSB0cnVl
OwogICAgICAgICB0aGlzLl9kZWJ1Z2dlclBhdXNlUmVzdW1lQnV0dG9uSXRlbS50b2dnbGVkID0g
dHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IDY3NDM0NmYzYjk1ODgwNzJhMTI4YTM3NDk3ZWIzODQ2YzZmZDFjYTUuLjIyNmJhYzc3YzRh
ZmY5ZGEzOWE2NThhY2M1MTg2YmVlMGE2OGEwY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xheWVyVHJlZURldGFpbHNTaWRlYmFyUGFuZWwu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTGF5ZXJU
cmVlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwpAQCAtMTE3LDcgKzExNyw3IEBAIFdlYkluc3BlY3Rv
ci5MYXllclRyZWVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgTGF5ZXJUcmVlRGV0YWlsc1Np
ZGViYXJQYW5lbCBlCiAKICAgICAgICAgdGhpcy5fbGF5ZXJJbmZvU2VjdGlvbiA9IG5ldyBXZWJJ
bnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImxheWVyLWluZm8iLCBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkxheWVyIEluZm8iKSwgW3RoaXMuX25vTGF5ZXJJbmZvcm1hdGlvbkdyb3VwXSk7CiAKLSAg
ICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sYXllckluZm9TZWN0
aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fbGF5ZXJJbmZvU2VjdGlvbi5lbGVtZW50KTsKICAgICB9CiAKICAgICBfYnVpbGRE
YXRhR3JpZFNlY3Rpb24oKQpAQCAtMTU0LDggKzE1NCw3IEBAIFdlYkluc3BlY3Rvci5MYXllclRy
ZWVEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgTGF5ZXJUcmVlRGV0YWlsc1NpZGViYXJQYW5l
bCBlCiAgICAgICAgIHZhciBncm91cCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25H
cm91cChbdGhpcy5fY2hpbGRMYXllcnNSb3ddKTsKICAgICAgICAgdmFyIHNlY3Rpb24gPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJsYXllci1jaGlsZHJlbiIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiQ2hpbGQgTGF5ZXJzIiksIFtncm91cF0sIG51bGwsIHRydWUpOwogCi0gICAg
ICAgIHZhciBlbGVtZW50ID0gdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZChzZWN0aW9u
LmVsZW1lbnQpOwotICAgICAgICBlbGVtZW50LmNsYXNzTGlzdC5hZGQoc2VjdGlvbi5pZGVudGlm
aWVyKTsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxkKHNlY3Rp
b24uZWxlbWVudCk7CiAgICAgfQogCiAgICAgX2J1aWxkQm90dG9tQmFyKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25TaWRl
YmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9O
YXZpZ2F0aW9uU2lkZWJhclBhbmVsLmpzCmluZGV4IDY4MTlmZGQ5YzllNjY4OWE2MmFlM2ViZTRk
MGExNDc5MjlmMDE0M2EuLjMyMGI5Njg2ODJhNDIyNTI4MGVhNjEyNjlmZDk1NDZmMmM4M2U5ZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL05h
dmlnYXRpb25TaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvTmF2aWdhdGlvblNpZGViYXJQYW5lbC5qcwpAQCAtMzMsNyArMzMsNyBA
QCBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNsYXNzIE5hdmlnYXRpb25T
aWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbgogCiAgICAgICAgIHRoaXMuX3Zpc2libGVDb250ZW50
VHJlZU91dGxpbmVzID0gbmV3IFNldDsKIAotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFk
ZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsIHRoaXMuX3VwZGF0ZUNvbnRlbnRPdmVyZmxvd1NoYWRv
d1Zpc2liaWxpdHkuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVu
dC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLCB0aGlzLl91cGRhdGVDb250ZW50T3ZlcmZsb3dT
aGFkb3dWaXNpYmlsaXR5LmJpbmQodGhpcykpOwogCiAgICAgICAgIHRoaXMuX2NvbnRlbnRUcmVl
T3V0bGluZSA9IHRoaXMuY3JlYXRlQ29udGVudFRyZWVPdXRsaW5lKHRydWUpOwogCkBAIC0xNjIs
NyArMTYyLDcgQEAgV2ViSW5zcGVjdG9yLk5hdmlnYXRpb25TaWRlYmFyUGFuZWwgPSBjbGFzcyBO
YXZpZ2F0aW9uU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW4KICAgICAgICAgY29udGVudFRyZWVP
dXRsaW5lLmhpZGRlbiA9ICFkb250SGlkZUJ5RGVmYXVsdDsKICAgICAgICAgY29udGVudFRyZWVP
dXRsaW5lLmVsZW1lbnQuY2xhc3NMaXN0LmFkZChXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGVi
YXJQYW5lbC5Db250ZW50VHJlZU91dGxpbmVFbGVtZW50U3R5bGVDbGFzc05hbWUpOwogCi0gICAg
ICAgIHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY29udGVudFRyZWVPdXRsaW5lLmVs
ZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQoY29u
dGVudFRyZWVPdXRsaW5lLmVsZW1lbnQpOwogCiAgICAgICAgIGlmICghc3VwcHJlc3NGaWx0ZXJp
bmcpIHsKICAgICAgICAgICAgIGNvbnRlbnRUcmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5UcmVlT3V0bGluZS5FdmVudC5FbGVtZW50QWRkZWQsIHRoaXMuX3RyZWVFbGVt
ZW50QWRkZWRPckNoYW5nZWQsIHRoaXMpOwpAQCAtNDc5LDggKzQ3OSw4IEBAIFdlYkluc3BlY3Rv
ci5OYXZpZ2F0aW9uU2lkZWJhclBhbmVsID0gY2xhc3MgTmF2aWdhdGlvblNpZGViYXJQYW5lbCBl
eHRlbmRzIFdlYkluCiAgICAgewogICAgICAgICB0aGlzLl91cGRhdGVDb250ZW50T3ZlcmZsb3dT
aGFkb3dWaXNpYmlsaXR5SWRlbnRpZmllciA9IHVuZGVmaW5lZDsKIAotICAgICAgICB2YXIgc2Ny
b2xsSGVpZ2h0ID0gdGhpcy5jb250ZW50RWxlbWVudC5zY3JvbGxIZWlnaHQ7Ci0gICAgICAgIHZh
ciBvZmZzZXRIZWlnaHQgPSB0aGlzLmNvbnRlbnRFbGVtZW50Lm9mZnNldEhlaWdodDsKKyAgICAg
ICAgbGV0IHNjcm9sbEhlaWdodCA9IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5zY3JvbGxIZWln
aHQ7CisgICAgICAgIGxldCBvZmZzZXRIZWlnaHQgPSB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQu
b2Zmc2V0SGVpZ2h0OwogCiAgICAgICAgIGlmIChzY3JvbGxIZWlnaHQgPCBvZmZzZXRIZWlnaHQp
IHsKICAgICAgICAgICAgIGlmICh0aGlzLl90b3BPdmVyZmxvd1NoYWRvd0VsZW1lbnQpCkBAIC00
ODksMTEgKzQ4OSwxMSBAQCBXZWJJbnNwZWN0b3IuTmF2aWdhdGlvblNpZGViYXJQYW5lbCA9IGNs
YXNzIE5hdmlnYXRpb25TaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbgogICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIGVkZ2VUaHJlc2hvbGQgPSAxOwotICAgICAg
ICB2YXIgc2Nyb2xsVG9wID0gdGhpcy5jb250ZW50RWxlbWVudC5zY3JvbGxUb3A7CisgICAgICAg
IGxldCBlZGdlVGhyZXNob2xkID0gMTsKKyAgICAgICAgbGV0IHNjcm9sbFRvcCA9IHRoaXMuY29u
dGVudFZpZXcuZWxlbWVudC5zY3JvbGxUb3A7CiAKLSAgICAgICAgdmFyIHRvcENvdmVyYWdlID0g
TWF0aC5taW4oc2Nyb2xsVG9wLCBlZGdlVGhyZXNob2xkKTsKLSAgICAgICAgdmFyIGJvdHRvbUNv
dmVyYWdlID0gTWF0aC5tYXgoMCwgKG9mZnNldEhlaWdodCArIHNjcm9sbFRvcCkgLSAoc2Nyb2xs
SGVpZ2h0IC0gZWRnZVRocmVzaG9sZCkpOworICAgICAgICBsZXQgdG9wQ292ZXJhZ2UgPSBNYXRo
Lm1pbihzY3JvbGxUb3AsIGVkZ2VUaHJlc2hvbGQpOworICAgICAgICBsZXQgYm90dG9tQ292ZXJh
Z2UgPSBNYXRoLm1heCgwLCAob2Zmc2V0SGVpZ2h0ICsgc2Nyb2xsVG9wKSAtIChzY3JvbGxIZWln
aHQgLSBlZGdlVGhyZXNob2xkKSk7CiAKICAgICAgICAgaWYgKHRoaXMuX3RvcE92ZXJmbG93U2hh
ZG93RWxlbWVudCkKICAgICAgICAgICAgIHRoaXMuX3RvcE92ZXJmbG93U2hhZG93RWxlbWVudC5z
dHlsZS5vcGFjaXR5ID0gKHRvcENvdmVyYWdlIC8gZWRnZVRocmVzaG9sZCkudG9GaXhlZCgxKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1By
b2JlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1Byb2JlRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCBlYWUyMjkzMjQx
ZjZmMGZjN2JlMjFiN2U0OThhNWUyYTM5ZjkzNWZkLi5jZWIxNmVjYmNiYjEzYTQ5MTBlNWIxZjc5
ZDA0YmQ1YjUyYTkxMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9Qcm9iZURldGFpbHNTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVEZXRhaWxzU2lkZWJhclBhbmVs
LmpzCkBAIC01MCwxNiArNTAsMTYgQEAgV2ViSW5zcGVjdG9yLlByb2JlRGV0YWlsc1NpZGViYXJQ
YW5lbCA9IGNsYXNzIFByb2JlRGV0YWlsc1NpZGViYXJQYW5lbCBleHRlbmRzIFcKIAogICAgIHNl
dCBpbnNwZWN0ZWRQcm9iZVNldHMobmV3UHJvYmVTZXRzKQogICAgIHsKLSAgICAgICAgZm9yICh2
YXIgcHJvYmVTZXQgb2YgdGhpcy5faW5zcGVjdGVkUHJvYmVTZXRzKSB7Ci0gICAgICAgICAgICB2
YXIgcmVtb3ZlZFNlY3Rpb24gPSB0aGlzLl9wcm9iZVNldFNlY3Rpb25zLmdldChwcm9iZVNldCk7
Ci0gICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHJlbW92ZWRTZWN0
aW9uLmVsZW1lbnQpOworICAgICAgICBmb3IgKGxldCBwcm9iZVNldCBvZiB0aGlzLl9pbnNwZWN0
ZWRQcm9iZVNldHMpIHsKKyAgICAgICAgICAgIGxldCByZW1vdmVkU2VjdGlvbiA9IHRoaXMuX3By
b2JlU2V0U2VjdGlvbnMuZ2V0KHByb2JlU2V0KTsKKyAgICAgICAgICAgIHJlbW92ZWRTZWN0aW9u
LmVsZW1lbnQucmVtb3ZlKCk7CiAgICAgICAgIH0KIAogICAgICAgICB0aGlzLl9pbnNwZWN0ZWRQ
cm9iZVNldHMgPSBuZXdQcm9iZVNldHM7CiAKLSAgICAgICAgZm9yICh2YXIgcHJvYmVTZXQgb2Yg
bmV3UHJvYmVTZXRzKSB7Ci0gICAgICAgICAgICB2YXIgc2hvd25TZWN0aW9uID0gdGhpcy5fcHJv
YmVTZXRTZWN0aW9ucy5nZXQocHJvYmVTZXQpOwotICAgICAgICAgICAgdGhpcy5jb250ZW50RWxl
bWVudC5hcHBlbmRDaGlsZChzaG93blNlY3Rpb24uZWxlbWVudCk7CisgICAgICAgIGZvciAobGV0
IHByb2JlU2V0IG9mIG5ld1Byb2JlU2V0cykgeworICAgICAgICAgICAgbGV0IHNob3duU2VjdGlv
biA9IHRoaXMuX3Byb2JlU2V0U2VjdGlvbnMuZ2V0KHByb2JlU2V0KTsKKyAgICAgICAgICAgIHRo
aXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZChzaG93blNlY3Rpb24uZWxlbWVudCk7
CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlRGV0YWlsc1NpZGVi
YXJQYW5lbC5qcwppbmRleCAyNzRkMTBkZTU2M2E4MTdiN2Q4N2M3MmNkOGY2NmI5MTE0MTBjMTZl
Li5hYzE1ODQ0ZmI5ODdiZDg3MjllMWFlNzEzZmM3OTUwMmFhMTg3NjNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZURldGFpbHNT
aWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC0xMDIsMTEgKzEwMiwxMSBA
QCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3Vy
Y2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAogICAgICAgICB0aGlzLl9pbWFnZVNpemVTZWN0aW9u
ID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigicmVzb3VyY2UtdHlwZSIsIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiSW1hZ2UgU2l6ZSIpKTsKICAgICAgICAgdGhpcy5faW1hZ2VTaXpl
U2VjdGlvbi5ncm91cHMgPSBbbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbkdyb3VwKFt0
aGlzLl9pbWFnZVdpZHRoUm93LCB0aGlzLl9pbWFnZUhlaWdodFJvd10pXTsKIAotICAgICAgICB0
aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3R5cGVTZWN0aW9uLmVsZW1lbnQp
OwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xvY2F0aW9u
U2VjdGlvbi5lbGVtZW50KTsKLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGls
ZCh0aGlzLl9yZXF1ZXN0QW5kUmVzcG9uc2VTZWN0aW9uLmVsZW1lbnQpOwotICAgICAgICB0aGlz
LmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3JlcXVlc3RIZWFkZXJzU2VjdGlvbi5l
bGVtZW50KTsKLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9y
ZXNwb25zZUhlYWRlcnNTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3
LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fdHlwZVNlY3Rpb24uZWxlbWVudCk7CisgICAgICAg
IHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9sb2NhdGlvblNlY3Rp
b24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5hcHBlbmRDaGls
ZCh0aGlzLl9yZXF1ZXN0QW5kUmVzcG9uc2VTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlz
LmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fcmVxdWVzdEhlYWRlcnNTZWN0
aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5fcmVzcG9uc2VIZWFkZXJzU2VjdGlvbi5lbGVtZW50KTsKICAgICB9CiAKICAgICAv
LyBQdWJsaWMKQEAgLTIyNSw3ICsyMjUsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VEZXRhaWxz
U2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVsIGV4dAogCiAg
ICAgICAgIGlmICh1cmxDb21wb25lbnRzLnF1ZXJ5U3RyaW5nKSB7CiAgICAgICAgICAgICAvLyBF
bnN1cmUgdGhlICJRdWVyeSBQYXJhbWV0ZXJzIiBzZWN0aW9uIGlzIGRpc3BsYXllZCwgcmlnaHQg
YWZ0ZXIgdGhlICJSZXF1ZXN0ICYgUmVzcG9uc2UiIHNlY3Rpb24uCi0gICAgICAgICAgICB0aGlz
LmNvbnRlbnRFbGVtZW50Lmluc2VydEJlZm9yZSh0aGlzLl9xdWVyeVBhcmFtZXRlcnNTZWN0aW9u
LmVsZW1lbnQsIHRoaXMuX3JlcXVlc3RBbmRSZXNwb25zZVNlY3Rpb24uZWxlbWVudC5uZXh0U2li
bGluZyk7CisgICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuaW5zZXJ0QmVmb3Jl
KHRoaXMuX3F1ZXJ5UGFyYW1ldGVyc1NlY3Rpb24uZWxlbWVudCwgdGhpcy5fcmVxdWVzdEFuZFJl
c3BvbnNlU2VjdGlvbi5lbGVtZW50Lm5leHRTaWJsaW5nKTsKIAogICAgICAgICAgICAgdGhpcy5f
cXVlcnlQYXJhbWV0ZXJzUm93LmRhdGFHcmlkID0gdGhpcy5fY3JlYXRlTmFtZVZhbHVlRGF0YUdy
aWQocGFyc2VRdWVyeVN0cmluZyh1cmxDb21wb25lbnRzLnF1ZXJ5U3RyaW5nLCB0cnVlKSk7CiAg
ICAgICAgIH0gZWxzZSB7CkBAIC0zODIsMTIgKzM4MiwxMiBAQCBXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VEZXRhaWxzU2lkZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VEZXRhaWxzU2lkZWJhclBhbmVs
IGV4dAogICAgICAgICBpZiAocmVzb3VyY2UudHlwZSAhPT0gV2ViSW5zcGVjdG9yLlJlc291cmNl
LlR5cGUuSW1hZ2UgfHwgcmVzb3VyY2UuZmFpbGVkKSB7CiAgICAgICAgICAgICB2YXIgaW1hZ2VT
ZWN0aW9uRWxlbWVudCA9IHRoaXMuX2ltYWdlU2l6ZVNlY3Rpb24uZWxlbWVudDsKICAgICAgICAg
ICAgIGlmIChpbWFnZVNlY3Rpb25FbGVtZW50LnBhcmVudE5vZGUpCi0gICAgICAgICAgICAgICAg
dGhpcy5jb250ZW50RWxlbWVudC5yZW1vdmVDaGlsZChpbWFnZVNlY3Rpb25FbGVtZW50KTsKKyAg
ICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQucmVtb3ZlQ2hpbGQoaW1hZ2VT
ZWN0aW9uRWxlbWVudCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAogICAgICAg
ICAvLyBFbnN1cmUgdGhlIHNlY3Rpb24gaXMgZGlzcGxheWVkLCByaWdodCBiZWZvcmUgdGhlICJM
b2NhdGlvbiIgc2VjdGlvbi4KLSAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5pbnNlcnRCZWZv
cmUodGhpcy5faW1hZ2VTaXplU2VjdGlvbi5lbGVtZW50LCB0aGlzLl9sb2NhdGlvblNlY3Rpb24u
ZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRCZWZvcmUo
dGhpcy5faW1hZ2VTaXplU2VjdGlvbi5lbGVtZW50LCB0aGlzLl9sb2NhdGlvblNlY3Rpb24uZWxl
bWVudCk7CiAKICAgICAgICAgLy8gR2V0IHRoZSBtZXRyaWNzIGZvciB0aGlzIHJlc291cmNlIGFu
ZCBmaWxsIGluIHRoZSBtZXRyaWNzIHJvd3Mgd2l0aCB0aGF0IGluZm9ybWF0aW9uLgogICAgICAg
ICByZXNvdXJjZS5nZXRJbWFnZVNpemUoZnVuY3Rpb24oc2l6ZSkgewpAQCAtNDE2LDcgKzQxNiw3
IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZURldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBSZXNv
dXJjZURldGFpbHNTaWRlYmFyUGFuZWwgZXh0CiAgICAgICAgIH0KIAogICAgICAgICAvLyBFbnN1
cmUgdGhlIHNlY3Rpb24gaXMgZGlzcGxheWVkLCByaWdodCBiZWZvcmUgdGhlICJSZXF1ZXN0IEhl
YWRlcnMiIHNlY3Rpb24uCi0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuaW5zZXJ0QmVmb3Jl
KHRoaXMuX3JlcXVlc3REYXRhU2VjdGlvbi5lbGVtZW50LCB0aGlzLl9yZXF1ZXN0SGVhZGVyc1Nl
Y3Rpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuY29udGVudFZpZXcuZWxlbWVudC5pbnNlcnRC
ZWZvcmUodGhpcy5fcmVxdWVzdERhdGFTZWN0aW9uLmVsZW1lbnQsIHRoaXMuX3JlcXVlc3RIZWFk
ZXJzU2VjdGlvbi5lbGVtZW50KTsKIAogICAgICAgICB2YXIgcmVxdWVzdERhdGFDb250ZW50VHlw
ZSA9IHJlc291cmNlLnJlcXVlc3REYXRhQ29udGVudFR5cGUgfHwgIiI7CiAgICAgICAgIGlmIChy
ZXF1ZXN0RGF0YUNvbnRlbnRUeXBlICYmIHJlcXVlc3REYXRhQ29udGVudFR5cGUubWF0Y2goL15h
cHBsaWNhdGlvblwveC13d3ctZm9ybS11cmxlbmNvZGVkXHMqKDsuKik/JC9pKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2NvcGVDaGFp
bkRldGFpbHNTaWRlYmFyUGFuZWwuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5qcwppbmRleCAwOTBlODhi
NWY2OGE5YjBlZGUwZGZhYjZiNGJmN2VjNzVmMTk4ODViLi45NWI2NjAwMTVjNDFhMDIxMDQxYTJh
MWRlYTgzNzdiMjJiMTRkZTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5lbC5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TY29wZUNoYWluRGV0YWls
c1NpZGViYXJQYW5lbC5qcwpAQCAtNTQsNyArNTQsNyBAQCBXZWJJbnNwZWN0b3IuU2NvcGVDaGFp
bkRldGFpbHNTaWRlYmFyUGFuZWwgPSBjbGFzcyBTY29wZUNoYWluRGV0YWlsc1NpZGViYXJQYW5l
bAogCiAgICAgICAgIHRoaXMuX3dhdGNoRXhwcmVzc2lvbnNTZWN0aW9uR3JvdXAgPSBuZXcgV2Vi
SW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3JvdXA7CiAgICAgICAgIHRoaXMuX3dhdGNoRXhwcmVz
c2lvbnNTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigid2F0Y2gtZXhw
cmVzc2lvbnMiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIldhdGNoIEV4cHJlc3Npb25zIiksIFt0
aGlzLl93YXRjaEV4cHJlc3Npb25zU2VjdGlvbkdyb3VwXSwgdGhpcy5fd2F0Y2hFeHByZXNzaW9u
T3B0aW9uc0VsZW1lbnQpOwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxk
KHRoaXMuX3dhdGNoRXhwcmVzc2lvbnNTZWN0aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmNv
bnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2F0Y2hFeHByZXNzaW9uc1NlY3Rp
b24uZWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fdXBkYXRlV2F0Y2hFeHByZXNzaW9uc05hdmln
YXRpb25CYXIoKTsKIApAQCAtMTI1LDggKzEyNSw4IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWlu
RGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIFNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVs
CiAgICAgICAgICAgICAgICAgICAgIGVtcHR5Um93LnNob3dFbXB0eU1lc3NhZ2UoKTsKICAgICAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnJlbW92
ZUNoaWxkcmVuKCk7Ci0gICAgICAgICAgICAgICAgdGhpcy5jb250ZW50RWxlbWVudC5hcHBlbmRD
aGlsZCh0aGlzLl93YXRjaEV4cHJlc3Npb25zU2VjdGlvbi5lbGVtZW50KTsKKyAgICAgICAgICAg
ICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAg
ICAgICAgICB0aGlzLmNvbnRlbnRWaWV3LmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fd2F0Y2hF
eHByZXNzaW9uc1NlY3Rpb24uZWxlbWVudCk7CiAKICAgICAgICAgICAgICAgICAvLyBCYWlsIGlm
IHRoZSBjYWxsIGZyYW1lIGNoYW5nZWQgd2hpbGUgd2Ugd2VyZSB3YWl0aW5nIGZvciB0aGUgYXN5
bmMgcmVzcG9uc2UuCiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuX2NhbGxGcmFtZSAhPT0gY2Fs
bEZyYW1lKQpAQCAtMTM2LDcgKzEzNiw3IEBAIFdlYkluc3BlY3Rvci5TY29wZUNoYWluRGV0YWls
c1NpZGViYXJQYW5lbCA9IGNsYXNzIFNjb3BlQ2hhaW5EZXRhaWxzU2lkZWJhclBhbmVsCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgICAgIGZvciAobGV0IGNhbGxG
cmFtZVNlY3Rpb24gb2YgY2FsbEZyYW1lU2VjdGlvbnMpCi0gICAgICAgICAgICAgICAgICAgIHRo
aXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQoY2FsbEZyYW1lU2VjdGlvbi5lbGVtZW50KTsK
KyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVtZW50LmFwcGVuZENoaWxk
KGNhbGxGcmFtZVNlY3Rpb24uZWxlbWVudCk7CiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAg
IC8vIFdlIG5lZWQgYSB0aW1lb3V0IGluIHBsYWNlIGluIGNhc2UgdGhlcmUgYXJlIGxvbmcgcnVu
bmluZywgcGVuZGluZyBiYWNrZW5kIGRpc3BhdGNoZXMuIFRoaXMgY2FuIGhhcHBlbgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJhclBh
bmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU2lkZWJh
clBhbmVsLmpzCmluZGV4IDkzOTg2ZGUyYjM3ZGJmMDFjYTllZDBmMmY3ZWE0YWZhY2QyYjY0ZGMu
LjY4M2NjOGFkZDkwMjU3ZDQ1ZTExNjJhMzc0M2UyN2FmNDMwNjQxMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1NpZGViYXJQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TaWRlYmFyUGFu
ZWwuanMKQEAgLTQwLDkgKzQwLDkgQEAgV2ViSW5zcGVjdG9yLlNpZGViYXJQYW5lbCA9IGNsYXNz
IFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIHRoaXMuZWxl
bWVudC5zZXRBdHRyaWJ1dGUoInJvbGUiLCByb2xlIHx8ICJncm91cCIpOwogICAgICAgICB0aGlz
LmVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgbGFiZWwgfHwgZGlzcGxheU5hbWUp
OwogCi0gICAgICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgiZGl2Iik7Ci0gICAgICAgIHRoaXMuX2NvbnRlbnRFbGVtZW50LmNsYXNzTmFtZSA9ICJjb250
ZW50IjsKLSAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2NvbnRlbnRFbGVt
ZW50KTsKKyAgICAgICAgdGhpcy5fY29udGVudFZpZXcgPSBuZXcgV2ViSW5zcGVjdG9yLlZpZXc7
CisgICAgICAgIHRoaXMuX2NvbnRlbnRWaWV3LmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgiY29udGVu
dCIpOworICAgICAgICB0aGlzLmFkZFN1YnZpZXcodGhpcy5fY29udGVudFZpZXcpOwogICAgIH0K
IAogICAgIC8vIFB1YmxpYwpAQCAtNTIsOSArNTIsOSBAQCBXZWJJbnNwZWN0b3IuU2lkZWJhclBh
bmVsID0gY2xhc3MgU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAg
ICAgcmV0dXJuIHRoaXMuX2lkZW50aWZpZXI7CiAgICAgfQogCi0gICAgZ2V0IGNvbnRlbnRFbGVt
ZW50KCkKKyAgICBnZXQgY29udGVudFZpZXcoKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMu
X2NvbnRlbnRFbGVtZW50OworICAgICAgICByZXR1cm4gdGhpcy5fY29udGVudFZpZXc7CiAgICAg
fQogCiAgICAgZ2V0IHZpc2libGUoKQpAQCAtMTI4LDE0ICsxMjgsMTQgQEAgV2ViSW5zcGVjdG9y
LlNpZGViYXJQYW5lbCA9IGNsYXNzIFNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlY3Rvci5W
aWV3CiAKICAgICBzaG93bigpCiAgICAgewotICAgICAgICB0aGlzLl9jb250ZW50RWxlbWVudC5z
Y3JvbGxUb3AgPSB0aGlzLl9zYXZlZFNjcm9sbFBvc2l0aW9uOworICAgICAgICB0aGlzLl9jb250
ZW50Vmlldy5lbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuX3NhdmVkU2Nyb2xsUG9zaXRpb247CiAK
ICAgICAgICAgLy8gSW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy4KICAgICB9CiAKICAgICBoaWRk
ZW4oKQogICAgIHsKLSAgICAgICAgdGhpcy5fc2F2ZWRTY3JvbGxQb3NpdGlvbiA9IHRoaXMuX2Nv
bnRlbnRFbGVtZW50LnNjcm9sbFRvcDsKKyAgICAgICAgdGhpcy5fc2F2ZWRTY3JvbGxQb3NpdGlv
biA9IHRoaXMuX2NvbnRlbnRWaWV3LmVsZW1lbnQuc2Nyb2xsVG9wOwogCiAgICAgICAgIC8vIElt
cGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuCiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvU3R5bGVEZXRhaWxzUGFuZWwuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5q
cwppbmRleCBmN2JmNzUzMzZhZGJmYjdkZmIzN2RmYWVlNTJkZjQyN2FlZjA3NWEwLi41NjU0NGM1
MmJjNThjYjU4NWQ0YWIzNjYxNjE4ZGRkYmMwYzc5OTAzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQYW5lbC5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9TdHlsZURldGFpbHNQ
YW5lbC5qcwpAQCAtMjMsNyArMjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLVdlYkluc3BlY3Rvci5TdHlsZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxl
RGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAorV2ViSW5zcGVjdG9yLlN0
eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWJJbnNw
ZWN0b3IuVmlldwogewogICAgIGNvbnN0cnVjdG9yKGRlbGVnYXRlLCBjbGFzc05hbWUsIGlkZW50
aWZpZXIsIGxhYmVsKQogICAgIHsKQEAgLTMxLDExICszMSw4IEBAIFdlYkluc3BlY3Rvci5TdHls
ZURldGFpbHNQYW5lbCA9IGNsYXNzIFN0eWxlRGV0YWlsc1BhbmVsIGV4dGVuZHMgV2ViSW5zcGVj
dG9yLk9iCiAKICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZSB8fCBudWxsOwogCi0g
ICAgICAgIHRoaXMuX2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAg
ICAgICAgdGhpcy5fZWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7Ci0KICAgICAgICAgLy8g
QWRkIHRoaXMgb2Zmc2V0LXNlY3Rpb25zIGNsYXNzIG5hbWUgc28gdGhlIHN0aWNreSBoZWFkZXJz
IGRvbid0IG92ZXJsYXAgdGhlIG5hdmlnYXRpb24gYmFyLgotICAgICAgICB0aGlzLmVsZW1lbnQu
Y2xhc3NMaXN0LmFkZCgib2Zmc2V0LXNlY3Rpb25zIik7CisgICAgICAgIHRoaXMuZWxlbWVudC5j
bGFzc0xpc3QuYWRkKGNsYXNzTmFtZSwgIm9mZnNldC1zZWN0aW9ucyIpOwogCiAgICAgICAgIHRo
aXMuX25hdmlnYXRpb25JbmZvID0ge2lkZW50aWZpZXIsIGxhYmVsfTsKIApAQCAtNDUsMTEgKzQy
LDYgQEAgV2ViSW5zcGVjdG9yLlN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgU3R5bGVEZXRhaWxz
UGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2IKIAogICAgIC8vIFB1YmxpYwogCi0gICAgZ2V0
IGVsZW1lbnQoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX2VsZW1lbnQ7Ci0gICAgfQot
CiAgICAgZ2V0IG5hdmlnYXRpb25JbmZvKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9u
YXZpZ2F0aW9uSW5mbzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKaW5kZXggYTcz
ODFlOWJmMGU1ZWVhMmU1ZDdlNDgxNmY3ZTZlYjUwNDFiMjRlZC4uM2ViOThhYmYxZTZlZGYyZTM4
YmVlMjhiMmFmYjZmYjYyNzlmNWU3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwu
anMKQEAgLTg3Myw3ICs4NzMsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwg
PSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICB9
CiAKICAgICAgICAgdGhpcy5fdGltZWxpbmVFdmVudHNUaXRsZUJhckNvbnRhaW5lci5zdHlsZS50
b3AgPSAob3ZlcnZpZXdIZWlnaHQgKyBldmVudFRpdGxlQmFyT2Zmc2V0KSArICJweCI7Ci0gICAg
ICAgIHRoaXMuY29udGVudEVsZW1lbnQuc3R5bGUudG9wID0gKG92ZXJ2aWV3SGVpZ2h0ICsgY29u
dGVudEVsZW1lbnRPZmZzZXQpICsgInB4IjsKKyAgICAgICAgdGhpcy5jb250ZW50Vmlldy5lbGVt
ZW50LnN0eWxlLnRvcCA9IChvdmVydmlld0hlaWdodCArIGNvbnRlbnRFbGVtZW50T2Zmc2V0KSAr
ICJweCI7CiAgICAgfQogCiAgICAgX3JlY29yZEdseXBoTW91c2VkT3ZlcihldmVudCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Zpc3VhbFN0
eWxlRGV0YWlsc1BhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanMKaW5kZXggMGIwYWIyNjA2YWRkN2VhM2U0
Njk3N2QwNDZhZmM5NGQ3OTNmMmFlOS4uMmRlYzBhMmU4NGQ1MjExNzVkNjFhMWNmNDY5OTM3NmI0
NGIxNDRmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwuanMKQEAgLTYw
LDcgKzYwLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3Mg
VmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fc2VsZWN0
b3JTZWN0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5WaXN1YWxTdHlsZVNlbGVjdG9yU2VjdGlvbih0
aGlzKTsKICAgICAgICAgdGhpcy5fc2VsZWN0b3JTZWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlZpc3VhbFN0eWxlU2VsZWN0b3JTZWN0aW9uLkV2ZW50LlNlbGVjdG9yQ2hhbmdl
ZCwgdGhpcy5fdXBkYXRlU2VjdGlvbnMsIHRoaXMpOwogICAgICAgICB0aGlzLl9zZWxlY3RvclNl
Y3Rpb24uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVmlzdWFsU3R5bGVTZWxlY3RvclNl
Y3Rpb24uRXZlbnQuU3R5bGVUZXh0Q2hhbmdlZCwgdGhpcy5fcHJlcGFyZUZvckNoYW5nZSwgdGhp
cyk7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VsZWN0b3JTZWN0
aW9uLmVsZW1lbnQpOworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2Vs
ZWN0b3JTZWN0aW9uLmVsZW1lbnQpOwogCiAgICAgICAgIC8vIExheW91dCBTZWN0aW9uCiAgICAg
ICAgIHRoaXMuX2dlbmVyYXRlU2VjdGlvbigiZGlzcGxheSIsIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiRGlzcGxheSIpKTsKQEAgLTczLDcgKzczLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxl
RGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIK
ICAgICAgICAgdGhpcy5fZ2VuZXJhdGVTZWN0aW9uKCJhbGlnbm1lbnQiLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkFsaWdubWVudCIpKTsKIAogICAgICAgICB0aGlzLl9zZWN0aW9ucy5sYXlvdXQg
PSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uKCJsYXlvdXQiLCBXZWJJbnNwZWN0b3Iu
VUlTdHJpbmcoIkxheW91dCIpLCBbdGhpcy5fZ3JvdXBzLmRpc3BsYXkuc2VjdGlvbiwgdGhpcy5f
Z3JvdXBzLnBvc2l0aW9uLnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5mbG9hdC5zZWN0aW9uLCB0aGlz
Ll9ncm91cHMuZGltZW5zaW9ucy5zZWN0aW9uLCB0aGlzLl9ncm91cHMubWFyZ2luLnNlY3Rpb24s
IHRoaXMuX2dyb3Vwcy5wYWRkaW5nLnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5mbGV4Ym94LnNlY3Rp
b24sIHRoaXMuX2dyb3Vwcy5hbGlnbm1lbnQuc2VjdGlvbl0pOwotICAgICAgICB0aGlzLl9lbGVt
ZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlY3Rpb25zLmxheW91dC5lbGVtZW50KTsKKyAgICAgICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlY3Rpb25zLmxheW91dC5lbGVtZW50KTsK
IAogICAgICAgICAvLyBUZXh0IFNlY3Rpb24KICAgICAgICAgdGhpcy5fZ2VuZXJhdGVTZWN0aW9u
KCJ0ZXh0LXN0eWxlIiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTdHlsZSIpKTsKQEAgLTgyLDcg
KzgyLDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlz
dWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fZ2VuZXJhdGVT
ZWN0aW9uKCJ0ZXh0LXNoYWRvdyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2hhZG93IikpOwog
CiAgICAgICAgIHRoaXMuX3NlY3Rpb25zLnRleHQgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNT
ZWN0aW9uKCJ0ZXh0IiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUZXh0IiksIFt0aGlzLl9ncm91
cHMudGV4dFN0eWxlLnNlY3Rpb24sIHRoaXMuX2dyb3Vwcy5mb250LnNlY3Rpb24sIHRoaXMuX2dy
b3Vwcy50ZXh0U3BhY2luZy5zZWN0aW9uLCB0aGlzLl9ncm91cHMudGV4dFNoYWRvdy5zZWN0aW9u
XSk7Ci0gICAgICAgIHRoaXMuX2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2VjdGlvbnMudGV4
dC5lbGVtZW50KTsKKyAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX3NlY3Rp
b25zLnRleHQuZWxlbWVudCk7CiAKICAgICAgICAgLy8gQmFja2dyb3VuZCBTZWN0aW9uCiAgICAg
ICAgIHRoaXMuX2dlbmVyYXRlU2VjdGlvbigiYmFja2dyb3VuZC1zdHlsZSIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiU3R5bGUiKSk7CkBAIC05MSwxMyArOTEsMTMgQEAgV2ViSW5zcGVjdG9yLlZp
c3VhbFN0eWxlRGV0YWlsc1BhbmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0
ZW5kcyBXZWIKICAgICAgICAgdGhpcy5fZ2VuZXJhdGVTZWN0aW9uKCJib3gtc2hhZG93IiwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJTaGFkb3ciKSk7CiAKICAgICAgICAgdGhpcy5fc2VjdGlvbnMu
YmFja2dyb3VuZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb24oImJhY2tncm91bmQi
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJhY2tncm91bmQiKSwgW3RoaXMuX2dyb3Vwcy5iYWNr
Z3JvdW5kU3R5bGUuc2VjdGlvbiwgdGhpcy5fZ3JvdXBzLmJvcmRlci5zZWN0aW9uLCB0aGlzLl9n
cm91cHMub3V0bGluZS5zZWN0aW9uLCB0aGlzLl9ncm91cHMuYm94U2hhZG93LnNlY3Rpb25dKTsK
LSAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0aW9ucy5iYWNrZ3Jv
dW5kLmVsZW1lbnQpOworICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fc2Vj
dGlvbnMuYmFja2dyb3VuZC5lbGVtZW50KTsKIAogICAgICAgICAvLyBBbmltYXRpb24gU2VjdGlv
bgogICAgICAgICB0aGlzLl9nZW5lcmF0ZVNlY3Rpb24oInRyYW5zaXRpb24iLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlRyYW5zaXRpb24iKSk7CiAKICAgICAgICAgdGhpcy5fc2VjdGlvbnMuYW5p
bWF0aW9uID0gbmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvbigiYW5pbWF0aW9uIiwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJBbmltYXRpb24iKSwgW3RoaXMuX2dyb3Vwcy50cmFuc2l0aW9u
LnNlY3Rpb25dKTsKLSAgICAgICAgdGhpcy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9zZWN0
aW9ucy5hbmltYXRpb24uZWxlbWVudCk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGls
ZCh0aGlzLl9zZWN0aW9ucy5hbmltYXRpb24uZWxlbWVudCk7CiAgICAgfQogCiAgICAgLy8gUHVi
bGljCkBAIC0xNTUsNyArMTU1LDcgQEAgV2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1Bh
bmVsID0gY2xhc3MgVmlzdWFsU3R5bGVEZXRhaWxzUGFuZWwgZXh0ZW5kcyBXZWIKICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICBsZXQgZGlzYWJsZWQgPSB0aGlzLl9jdXJyZW50U3R5bGVb
V2ViSW5zcGVjdG9yLlZpc3VhbFN0eWxlRGV0YWlsc1BhbmVsLlN0eWxlRGlzYWJsZWRTeW1ib2xd
OwotICAgICAgICB0aGlzLl9lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoImRpc2FibGVkIiwgISFk
aXNhYmxlZCk7CisgICAgICAgIHRoaXMuZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKCJkaXNhYmxl
ZCIsICEhZGlzYWJsZWQpOwogICAgICAgICBpZiAoZGlzYWJsZWQpCiAgICAgICAgICAgICByZXR1
cm47CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>