<?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>165761</bug_id>
          
          <creation_ts>2016-12-12 09:48:37 -0800</creation_ts>
          <short_desc>Web Inspector: RTL: keyboard shortcuts with directionality need to be flipped (forward/back, etc)</short_desc>
          <delta_ts>2017-03-28 18:56:25 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>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>
          <dependson>165759</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Blaze Burg">bburg</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>mattbaker</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1259082</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-12 09:48:37 -0800</bug_when>
    <thetext>See also https://bugs.webkit.org/show_bug.cgi?id=158823</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1259084</commentid>
    <comment_count>1</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2016-12-12 09:49:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/29621308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1284644</commentid>
    <comment_count>2</comment_count>
      <attachid>303744</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-07 17:13:26 -0800</bug_when>
    <thetext>Created attachment 303744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285101</commentid>
    <comment_count>3</comment_count>
      <attachid>303744</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-03-08 16:53:43 -0800</bug_when>
    <thetext>Comment on attachment 303744
Patch

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

AFAIK, switching Left and Right arrow keys is not appropriate. Switching the action performed for Cmd-{ to go forwards instead of backwards is appropriate.

&gt; Source/WebInspectorUI/ChangeLog:8
&gt; +        * UserInterface/Controllers/CodeMirrorCompletionController.js:

Please fill out the change log so I know what each diff is supposed to accomplish.

&gt; Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js:51
&gt; +            let forwardButtonTitle = isRTL ? WebInspector.UIString(&quot;Back (%s)&quot;) : WebInspector.UIString(&quot;Forward (%s)&quot;);

Please rename these to leftButton / rightButton. Otherwise you could have backButtonTitle be &quot;Forward&quot; which makes no sense.

&gt; Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js:53
&gt; +            this._backButtonNavigationItem = new WebInspector.ButtonNavigationItem(&quot;back&quot;, backButtonTitle.format(this._backKeyboardShortcut.displayName), &quot;Images/BackForwardArrows.svg#left-arrow-mask&quot;, 8, 13);

Again, I think it will be less confusing if we refer to the buttons as &quot;leftButton&quot; and &quot;rightButton&quot; and bind different actions / tooltips to them. It is less confusing than to flip the order in which they are inserted.

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:-1393
&gt; -        } else if (event.keyIdentifier === &quot;Right&quot;) {

What does this do?

&gt; Source/WebInspectorUI/UserInterface/Views/LogContentView.js:-741
&gt; -        else if (event.keyIdentifier === &quot;Right&quot;)

What does this do?

&gt; Source/WebInspectorUI/UserInterface/Views/NavigationBar.js:349
&gt; +        } else if ((!isRTL &amp;&amp; event.keyIdentifier === &quot;Right&quot;) || (isRTL &amp;&amp; event.keyIdentifier === &quot;Left&quot;)) {

What does this do?

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:65
&gt; +        let nextModifier2 = isRTL ? WebInspector.KeyboardShortcut.Modifier.Shift : 0;

Keeping logical (next/previous) naming is fine for the actual keyboard shortcut object itself.

&gt; Source/WebInspectorUI/UserInterface/Views/TreeOutline.js:499
&gt; +        } else if ((!isRTL &amp;&amp; event.keyIdentifier === &quot;Left&quot;) || (isRTL &amp;&amp; event.keyIdentifier === &quot;Right&quot;)) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1285175</commentid>
    <comment_count>4</comment_count>
      <attachid>303886</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-08 18:50:51 -0800</bug_when>
    <thetext>Created attachment 303886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288291</commentid>
    <comment_count>5</comment_count>
      <attachid>303886</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-03-15 15:39:52 -0700</bug_when>
    <thetext>Comment on attachment 303886
Patch

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

r- because the back/forward buttons still seem mixed up.

&gt; Source/WebInspectorUI/UserInterface/Views/ContentBrowser.js:51
&gt; +            let rightButtonTitle = isRTL ? WebInspector.UIString(&quot;Forward (%s)&quot;) : WebInspector.UIString(&quot;Back (%s)&quot;);

Isn&apos;t this backwards? If in LTR, the rightmost button should go forward. If in RTL, the rightmost button should go backward.

&gt; Source/WebInspectorUI/UserInterface/Views/DataGrid.js:1380
&gt; +        } else if ((!isRTL &amp;&amp; event.keyIdentifier === &quot;Left&quot;) || (isRTL &amp;&amp; event.keyIdentifier === &quot;Right&quot;)) {

Good.

&gt; Source/WebInspectorUI/UserInterface/Views/TabBrowser.js:60
&gt; +        let previousKey1 = isRTL ? WebInspector.KeyboardShortcut.Key.RightCurlyBrace : WebInspector.KeyboardShortcut.Key.LeftCurlyBrace;

This is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1288325</commentid>
    <comment_count>6</comment_count>
      <attachid>304572</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-15 15:59:40 -0700</bug_when>
    <thetext>Created attachment 304572
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1289600</commentid>
    <comment_count>7</comment_count>
      <attachid>304959</attachid>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-03-20 15:40:28 -0700</bug_when>
    <thetext>Created attachment 304959
Revised Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292249</commentid>
    <comment_count>8</comment_count>
      <attachid>304959</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2017-03-28 18:21:42 -0700</bug_when>
    <thetext>Comment on attachment 304959
Revised Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292262</commentid>
    <comment_count>9</comment_count>
      <attachid>304959</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-28 18:56:20 -0700</bug_when>
    <thetext>Comment on attachment 304959
Revised Patch

Clearing flags on attachment: 304959

Committed r214514: &lt;http://trac.webkit.org/changeset/214514&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292263</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-28 18:56:25 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303744</attachid>
            <date>2017-03-07 17:13:26 -0800</date>
            <delta_ts>2017-03-08 18:50:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165761-20170307171325.patch</filename>
            <type>text/plain</type>
            <size>20194</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGIwM2IxNGUyMTM3OTAwYWMzZmRiYmY3NjM3ZGZj
ODA3ZTIwMGJmN2MuLmYyYTdiN2JkN2MyMjQzY2VkODA4OTg2ZjcwODUyMjkzOGIxY2NjZjMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE3LTAzLTA3ICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJUTDoga2V5Ym9hcmQgc2hvcnRjdXRzIHdpdGggZGlyZWN0aW9uYWxpdHkgbmVlZCB0
byBiZSBmbGlwcGVkIChmb3J3YXJkL2JhY2ssIGV0YykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Db2Rl
TWlycm9yQ29tcGxldGlvbkNvbnRyb2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29k
ZU1pcnJvckNvbXBsZXRpb25Db250cm9sbGVyKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL0JlemllckVkaXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5CZXppZXJFZGl0b3Iu
cHJvdG90eXBlLmhhbmRsZUtleWRvd25FdmVudCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9W
aWV3cy9Db250ZW50QnJvd3Nlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50QnJv
d3Nlcik6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2tleURvd24pOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLl9rZXlEb3duKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL1ZpZXdzL05hdmlnYXRpb25CYXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
TmF2aWdhdGlvbkJhci5wcm90b3R5cGUuX2tleURvd24pOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvVGFiQnJvd3Nlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UYWJCcm93c2Vy
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5fdHJlZUtleURvd24pOgorCiAy
MDE3LTAzLTA0ICBOaWtpdGEgVmFzaWx5ZXYgIDxudmFzaWx5ZXZAYXBwbGUuY29tPgogCiAgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IFNob3cgV2ViIFNvY2tldCBjb25uZWN0aW9ucyBpbiBOZXR3b3Jr
IHRhYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29u
dHJvbGxlcnMvQ29kZU1pcnJvckNvbXBsZXRpb25Db250cm9sbGVyLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvQ29kZU1pcnJvckNvbXBsZXRpb25D
b250cm9sbGVyLmpzCmluZGV4IDMzZDdjY2JkNjVjMmI2NGM4N2VjN2Y1ZjgzYjM1YTBjZjY5YTBm
YjcuLmM1Y2E1ZDQzNWRkOTE3NjM0Mjk1YjNjOWZiYTFiOTVmZjRiZWM3YzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL0NvZGVNaXJy
b3JDb21wbGV0aW9uQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250cm9sbGVycy9Db2RlTWlycm9yQ29tcGxldGlvbkNvbnRyb2xsZXIuanMK
QEAgLTQ4LDcgKzQ4LDYgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JDb21wbGV0aW9uQ29udHJv
bGxlciA9IGNsYXNzIENvZGVNaXJyb3JDb21wbGV0aW9uQ29udHJvbGwKICAgICAgICAgdGhpcy5f
a2V5TWFwID0gewogICAgICAgICAgICAgIlVwIjogdGhpcy5faGFuZGxlVXBLZXkuYmluZCh0aGlz
KSwKICAgICAgICAgICAgICJEb3duIjogdGhpcy5faGFuZGxlRG93bktleS5iaW5kKHRoaXMpLAot
ICAgICAgICAgICAgIlJpZ2h0IjogdGhpcy5faGFuZGxlUmlnaHRPckVudGVyS2V5LmJpbmQodGhp
cyksCiAgICAgICAgICAgICAiRXNjIjogdGhpcy5faGFuZGxlRXNjYXBlS2V5LmJpbmQodGhpcyks
CiAgICAgICAgICAgICAiRW50ZXIiOiB0aGlzLl9oYW5kbGVSaWdodE9yRW50ZXJLZXkuYmluZCh0
aGlzKSwKICAgICAgICAgICAgICJUYWIiOiB0aGlzLl9oYW5kbGVUYWJLZXkuYmluZCh0aGlzKSwK
QEAgLTU4LDYgKzU3LDExIEBAIFdlYkluc3BlY3Rvci5Db2RlTWlycm9yQ29tcGxldGlvbkNvbnRy
b2xsZXIgPSBjbGFzcyBDb2RlTWlycm9yQ29tcGxldGlvbkNvbnRyb2xsCiAgICAgICAgICAgICAi
Q21kLVkiOiB0aGlzLl9oYW5kbGVIaWRlS2V5LmJpbmQodGhpcykKICAgICAgICAgfTsKIAorICAg
ICAgICBpZiAoV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYklu
c3BlY3Rvci5MYXlvdXREaXJlY3Rpb24uUlRMKQorICAgICAgICAgICAgdGhpcy5fa2V5TWFwWyJM
ZWZ0Il0gPSB0aGlzLl9oYW5kbGVSaWdodE9yRW50ZXJLZXkuYmluZCh0aGlzKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgdGhpcy5fa2V5TWFwWyJSaWdodCJdID0gdGhpcy5faGFuZGxlUmln
aHRPckVudGVyS2V5LmJpbmQodGhpcyk7CisKICAgICAgICAgdGhpcy5faGFuZGxlQ2hhbmdlTGlz
dGVuZXIgPSB0aGlzLl9oYW5kbGVDaGFuZ2UuYmluZCh0aGlzKTsKICAgICAgICAgdGhpcy5faGFu
ZGxlQ3Vyc29yQWN0aXZpdHlMaXN0ZW5lciA9IHRoaXMuX2hhbmRsZUN1cnNvckFjdGl2aXR5LmJp
bmQodGhpcyk7CiAgICAgICAgIHRoaXMuX2hhbmRsZUhpZGVBY3Rpb25MaXN0ZW5lciA9IHRoaXMu
X2hhbmRsZUhpZGVBY3Rpb24uYmluZCh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JlemllckVkaXRvci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0JlemllckVkaXRvci5qcwppbmRleCBhMDdj
MTlkNmYzMTFhY2YzYzlmZjM3YWYxZGI5YWU1MmFmM2Q0NzgwLi4zZTU0ZTcyZDdhMTI1ZWQ4ZWZm
Mzk1N2UwYjIzNmM3Nzc4NWNkOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9CZXppZXJFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQmV6aWVyRWRpdG9yLmpzCkBAIC0xOTcsNiArMTk3
LDkgQEAgV2ViSW5zcGVjdG9yLkJlemllckVkaXRvciA9IGNsYXNzIEJlemllckVkaXRvciBleHRl
bmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgdmVydGljYWwgKj0gdGhpcy5fYmV6aWVy
V2lkdGggLyAxMDA7CiAgICAgICAgIGhvcml6b250YWwgKj0gdGhpcy5fYmV6aWVySGVpZ2h0IC8g
MTAwOwogCisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24o
KSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEwpCisgICAgICAgICAgICBob3Jp
em9udGFsICo9IC0xOworCiAgICAgICAgIHRoaXMuX3NlbGVjdGVkQ29udHJvbC5wb2ludC54ID0g
TnVtYmVyLmNvbnN0cmFpbih0aGlzLl9zZWxlY3RlZENvbnRyb2wucG9pbnQueCArIGhvcml6b250
YWwsIDAsIHRoaXMuX2JlemllcldpZHRoKTsKICAgICAgICAgdGhpcy5fc2VsZWN0ZWRDb250cm9s
LnBvaW50LnkgKz0gdmVydGljYWw7CiAgICAgICAgIHRoaXMuX3VwZGF0ZUNvbnRyb2wodGhpcy5f
c2VsZWN0ZWRDb250cm9sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRCcm93c2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMKaW5kZXggZGQ1Njg3YjI1ZGVi
NzBkODU5NDk5NmU3OGIwMzlkMGU0MzI3MDVkZi4uZDdjNDU2M2JiMDhmYjQyZjY5N2I2ZTZiNjZl
NDJmYjdiMzljZjM3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMKQEAgLTM5LDIzICszOSwzMiBA
QCBXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3NlciBleHRl
bmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIHRoaXMuYWRkU3Vidmlldyh0aGlzLl9jb250
ZW50Vmlld0NvbnRhaW5lcik7CiAKICAgICAgICAgaWYgKCFkaXNhYmxlQmFja0ZvcndhcmQpIHsK
LSAgICAgICAgICAgIHRoaXMuX2JhY2tLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVy
LkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
ci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuTGVmdCwgdGhpcy5f
YmFja0J1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgdGhpcy5lbGVtZW50KTsKLSAgICAgICAgICAg
IHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRP
ckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9s
LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHQsIHRoaXMuX2ZvcndhcmRC
dXR0b25DbGlja2VkLmJpbmQodGhpcyksIHRoaXMuZWxlbWVudCk7CisgICAgICAgICAgICBsZXQg
aXNSVEwgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5z
cGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEw7CiAKLSAgICAgICAgICAgIGxldCBsZWZ0QXJyb3cg
PSAiSW1hZ2VzL0JhY2tGb3J3YXJkQXJyb3dzLnN2ZyNsZWZ0LWFycm93LW1hc2siOwotICAgICAg
ICAgICAgbGV0IHJpZ2h0QXJyb3cgPSAiSW1hZ2VzL0JhY2tGb3J3YXJkQXJyb3dzLnN2ZyNyaWdo
dC1hcnJvdy1tYXNrIjsKLSAgICAgICAgICAgIGxldCBiYWNrQnV0dG9uSW1hZ2UgPSBXZWJJbnNw
ZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERp
cmVjdGlvbi5SVEwgPyByaWdodEFycm93IDogbGVmdEFycm93OwotICAgICAgICAgICAgbGV0IGZv
cndhcmRCdXR0b25JbWFnZSA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigp
ID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTCA/IGxlZnRBcnJvdyA6IHJpZ2h0
QXJyb3c7CisgICAgICAgICAgICBsZXQgYmFja0tleSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0IDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
S2V5LkxlZnQ7CisgICAgICAgICAgICBsZXQgZm9yd2FyZEtleSA9IGlzUlRMID8gV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXkuUmlnaHQ7CiAKLSAgICAgICAgICAgIHRoaXMuX2JhY2tCdXR0b25OYXZpZ2F0aW9u
SXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0oImJhY2siLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkJhY2sgKCVzKSIpLmZvcm1hdCh0aGlzLl9iYWNrS2V5Ym9hcmRT
aG9ydGN1dC5kaXNwbGF5TmFtZSksIGJhY2tCdXR0b25JbWFnZSwgOCwgMTMpOworICAgICAgICAg
ICAgdGhpcy5fYmFja0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9y
Q29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2ws
IGJhY2tLZXksIHRoaXMuX2JhY2tCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIHRoaXMuZWxlbWVu
dCk7CisgICAgICAgICAgICB0aGlzLl9mb3J3YXJkS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXIuQ29udHJvbCwgZm9yd2FyZEtleSwgdGhpcy5fZm9yd2FyZEJ1dHRvbkNsaWNrZWQu
YmluZCh0aGlzKSwgdGhpcy5lbGVtZW50KTsKKworICAgICAgICAgICAgbGV0IGJhY2tCdXR0b25U
aXRsZSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGb3J3YXJkICglcykiKSA6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiQmFjayAoJXMpIik7CisgICAgICAgICAgICBsZXQgZm9yd2Fy
ZEJ1dHRvblRpdGxlID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJhY2sgKCVzKSIp
IDogV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGb3J3YXJkICglcykiKTsKKworICAgICAgICAgICAg
dGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5CdXR0b25O
YXZpZ2F0aW9uSXRlbSgiYmFjayIsIGJhY2tCdXR0b25UaXRsZS5mb3JtYXQodGhpcy5fYmFja0tl
eWJvYXJkU2hvcnRjdXQuZGlzcGxheU5hbWUpLCAiSW1hZ2VzL0JhY2tGb3J3YXJkQXJyb3dzLnN2
ZyNsZWZ0LWFycm93LW1hc2siLCA4LCAxMyk7CiAgICAgICAgICAgICB0aGlzLl9iYWNrQnV0dG9u
TmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fYmFja0J1dHRvbkNsaWNrZWQsIHRoaXMpOwog
ICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxz
ZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhp
cy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtKTsKIAotICAgICAgICAgICAgdGhpcy5fZm9yd2Fy
ZEJ1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9u
SXRlbSgiZm9yd2FyZCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRm9yd2FyZCAoJXMpIikuZm9y
bWF0KHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlOYW1lKSwgZm9yd2FyZEJ1
dHRvbkltYWdlLCA4LCAxMyk7CisgICAgICAgICAgICB0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdh
dGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJmb3J3YXJk
IiwgZm9yd2FyZEJ1dHRvblRpdGxlLmZvcm1hdCh0aGlzLl9mb3J3YXJkS2V5Ym9hcmRTaG9ydGN1
dC5kaXNwbGF5TmFtZSksICJJbWFnZXMvQmFja0ZvcndhcmRBcnJvd3Muc3ZnI3JpZ2h0LWFycm93
LW1hc2siLCA4LCAxMyk7CiAgICAgICAgICAgICB0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdhdGlv
bkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0u
RXZlbnQuQ2xpY2tlZCwgdGhpcy5fZm9yd2FyZEJ1dHRvbkNsaWNrZWQsIHRoaXMpOwogICAgICAg
ICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsK
LSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5f
Zm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVtKTsKKworICAgICAgICAgICAgaWYgKFdlYkluc3Bl
Y3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGly
ZWN0aW9uLlJUTCkgeworICAgICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2
aWdhdGlvbkl0ZW0odGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVtKTsKKyAgICAgICAg
ICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX2JhY2tC
dXR0b25OYXZpZ2F0aW9uSXRlbSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fYmFja0J1dHRv
bk5hdmlnYXRpb25JdGVtKTsKKyAgICAgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFk
ZE5hdmlnYXRpb25JdGVtKHRoaXMuX2ZvcndhcmRCdXR0b25OYXZpZ2F0aW9uSXRlbSk7CisgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlv
bkl0ZW0obmV3IFdlYkluc3BlY3Rvci5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0pOwogICAgICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
YXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Rh
dGFHcmlkLmpzCmluZGV4IGQ0ODJlYTY1NWEzMDA3NDAwYjRhNzY0YzVlMDAzNWRhOTdlMDc0ZjMu
LmVmMjg5YjI0MjM1MWIwY2M2MWQzZTkxNjNlMDhmMzEzZWNmMzE4MjEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBA
IC0xMzYzLDYgKzEzNjMsOCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3Jp
ZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZE5v
ZGUgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8
IHRoaXMuX2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgbGV0IGlzUlRM
ID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rv
ci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAgICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAg
ICAgICAgIHZhciBuZXh0U2VsZWN0ZWROb2RlOwogICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRp
ZmllciA9PT0gIlVwIiAmJiAhZXZlbnQuYWx0S2V5KSB7CkBAIC0xMzc1LDcgKzEzNzcsNyBAQCBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5WaWV3CiAgICAgICAgICAgICB3aGlsZSAobmV4dFNlbGVjdGVkTm9kZSAmJiAhbmV4dFNlbGVj
dGVkTm9kZS5zZWxlY3RhYmxlKQogICAgICAgICAgICAgICAgIG5leHRTZWxlY3RlZE5vZGUgPSBu
ZXh0U2VsZWN0ZWROb2RlLnRyYXZlcnNlTmV4dE5vZGUodHJ1ZSk7CiAgICAgICAgICAgICBoYW5k
bGVkID0gbmV4dFNlbGVjdGVkTm9kZSA/IHRydWUgOiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlm
IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVmdCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgo
IWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5z
ZWxlY3RlZE5vZGUuZXhwYW5kZWQpIHsKICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuYWx0S2V5
KQogICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5jb2xsYXBzZVJlY3Vyc2l2
ZWx5KCk7CkBAIC0xMzkwLDcgKzEzOTIsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFz
cyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICh0aGlzLnNlbGVjdGVkTm9kZS5wYXJlbnQpCiAgICAgICAgICAgICAgICAgICAgIHRo
aXMuc2VsZWN0ZWROb2RlLnBhcmVudC5jb2xsYXBzZSgpOwogICAgICAgICAgICAgfQotICAgICAg
ICB9IGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHsKKyAgICAgICAg
fSBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHx8
IChpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVmdCIpKSB7CiAgICAgICAgICAg
ICBpZiAoIXRoaXMuc2VsZWN0ZWROb2RlLnJldmVhbGVkKSB7CiAgICAgICAgICAgICAgICAgdGhp
cy5zZWxlY3RlZE5vZGUucmV2ZWFsKCk7CiAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9M
b2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDcyYzY1ZDc5MGQ1MjE1ZGIzZDhjNTAzNDM1ZTIw
YjE0NmE3NTc5YjYuLjg1NjI0OWQ2NjJkMjA4YmUwNmQ3ZDRmNDMwMjkzZWJkMmQ0NTQzYzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0Nv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC03MjgsNiArNzI4LDggQEAgV2ViSW5zcGVjdG9yLkxv
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
Q29udGVudFYKIAogICAgIF9rZXlEb3duKGV2ZW50KQogICAgIHsKKyAgICAgICAgbGV0IGlzUlRM
ID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rv
ci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFNob3J0
Y3V0Q29tbWFuZEEubWF0Y2hlc0V2ZW50KGV2ZW50KSkKICAgICAgICAgICAgIHRoaXMuX2NvbW1h
bmRBV2FzUHJlc3NlZChldmVudCk7CiAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkU2hv
cnRjdXRFc2MubWF0Y2hlc0V2ZW50KGV2ZW50KSkKQEAgLTczNiw5ICs3MzgsOSBAQCBXZWJJbnNw
ZWN0b3IuTG9nQ29udGVudFZpZXcgPSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdlYklu
c3BlY3Rvci5Db250ZW50VgogICAgICAgICAgICAgdGhpcy5fdXBBcnJvd1dhc1ByZXNzZWQoZXZl
bnQpOwogICAgICAgICBlbHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpCiAg
ICAgICAgICAgICB0aGlzLl9kb3duQXJyb3dXYXNQcmVzc2VkKGV2ZW50KTsKLSAgICAgICAgZWxz
ZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKQorICAgICAgICBlbHNlIGlmICgo
IWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpKQogICAgICAgICAgICAgdGhpcy5fbGVmdEFy
cm93V2FzUHJlc3NlZChldmVudCk7Ci0gICAgICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZp
ZXIgPT09ICJSaWdodCIpCisgICAgICAgIGVsc2UgaWYgKCghaXNSVEwgJiYgZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIlJpZ2h0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJMZWZ0IikpCiAgICAgICAgICAgICB0aGlzLl9yaWdodEFycm93V2FzUHJlc3NlZChldmVudCk7
CiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJFbnRlciIgJiYgZXZl
bnQubWV0YUtleSkKICAgICAgICAgICAgIHRoaXMuX2NvbW1hbmRFbnRlcldhc1ByZXNzZWQoZXZl
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvTmF2aWdhdGlvbkJhci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL05hdmlnYXRpb25CYXIuanMKaW5kZXggMzgyYzM2NzU0MjIzNDZkM2M4ODA5NDM3ZWY5
MTM2MzI1YjVkNDYxOS4uZWY2NmE4YzU4MzMwOGUxYTFmMjFiMzE0NjgyNmNkOWY1ZTdjYmRjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTmF2
aWdhdGlvbkJhci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9OYXZpZ2F0aW9uQmFyLmpzCkBAIC0zMzcsMTQgKzMzNywxNiBAQCBXZWJJbnNwZWN0b3Iu
TmF2aWdhdGlvbkJhciA9IGNsYXNzIE5hdmlnYXRpb25CYXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
VmlldwogCiAgICAgICAgIHZhciBzZWxlY3RlZE5hdmlnYXRpb25JdGVtSW5kZXggPSB0aGlzLl9u
YXZpZ2F0aW9uSXRlbXMuaW5kZXhPZih0aGlzLl9zZWxlY3RlZE5hdmlnYXRpb25JdGVtKTsKIAot
ICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSB7CisgICAgICAgIGxl
dCBpc1JUTCA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBXZWJJ
bnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTDsKKworICAgICAgICBpZiAoKCFpc1JUTCAmJiBl
dmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVmdCIpIHx8IChpc1JUTCAmJiBldmVudC5rZXlJZGVu
dGlmaWVyID09PSAiUmlnaHQiKSkgewogICAgICAgICAgICAgaWYgKHNlbGVjdGVkTmF2aWdhdGlv
bkl0ZW1JbmRleCA9PT0gLTEpCiAgICAgICAgICAgICAgICAgc2VsZWN0ZWROYXZpZ2F0aW9uSXRl
bUluZGV4ID0gdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmxlbmd0aDsKIAogICAgICAgICAgICAgZG8g
ewogICAgICAgICAgICAgICAgIHNlbGVjdGVkTmF2aWdhdGlvbkl0ZW1JbmRleCA9IE1hdGgubWF4
KDAsIHNlbGVjdGVkTmF2aWdhdGlvbkl0ZW1JbmRleCAtIDEpOwogICAgICAgICAgICAgfSB3aGls
ZSAoc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbUluZGV4ICYmICEodGhpcy5fbmF2aWdhdGlvbkl0ZW1z
W3NlbGVjdGVkTmF2aWdhdGlvbkl0ZW1JbmRleF0gaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUmFk
aW9CdXR0b25OYXZpZ2F0aW9uSXRlbSkpOwotICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIgPT09ICJSaWdodCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHx8IChpc1JUTCAmJiBldmVudC5rZXlJZGVu
dGlmaWVyID09PSAiTGVmdCIpKSB7CiAgICAgICAgICAgICBkbyB7CiAgICAgICAgICAgICAgICAg
c2VsZWN0ZWROYXZpZ2F0aW9uSXRlbUluZGV4ID0gTWF0aC5taW4oc2VsZWN0ZWROYXZpZ2F0aW9u
SXRlbUluZGV4ICsgMSwgdGhpcy5fbmF2aWdhdGlvbkl0ZW1zLmxlbmd0aCAtIDEpOwogICAgICAg
ICAgICAgfSB3aGlsZSAoc2VsZWN0ZWROYXZpZ2F0aW9uSXRlbUluZGV4IDwgdGhpcy5fbmF2aWdh
dGlvbkl0ZW1zLmxlbmd0aCAtIDEgJiYgISh0aGlzLl9uYXZpZ2F0aW9uSXRlbXNbc2VsZWN0ZWRO
YXZpZ2F0aW9uSXRlbUluZGV4XSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5SYWRpb0J1dHRvbk5h
dmlnYXRpb25JdGVtKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcwppbmRleCA3ZmU3YTJhM2I4ZTAxYTRlYTc3NmU4
YjIyNjRjNzBkMjMzNzYwNGRjLi4xMWFiMmQ4YmUyYWIwZWNlMmYwNmY5MTg4YzZmZjM3MDhlNzgz
M2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UYWJCcm93c2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RhYkJyb3dzZXIuanMKQEAgLTU0LDE0ICs1NCwyNiBAQCBXZWJJbnNwZWN0b3IuVGFi
QnJvd3NlciA9IGNsYXNzIFRhYkJyb3dzZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAg
ICAgICBsZXQgc2hvd05leHRUYWIgPSAoKSA9PiB7IHRoaXMuX3Nob3dOZXh0VGFiKCk7IH07CiAg
ICAgICAgIGxldCBzaG93UHJldmlvdXNUYWIgPSAoKSA9PiB7IHRoaXMuX3Nob3dQcmV2aW91c1Rh
YigpOyB9OwogCi0gICAgICAgIHRoaXMuX3Nob3dOZXh0VGFiS2V5Ym9hcmRTaG9ydGN1dDEgPSBu
ZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXku
UmlnaHRDdXJseUJyYWNlLCBzaG93TmV4dFRhYik7Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91
c1RhYktleWJvYXJkU2hvcnRjdXQxID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wg
fCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnRDdXJseUJyYWNlLCBzaG93UHJldmlvdXNUYWIp
OwotICAgICAgICB0aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5UYWIsIHNo
b3dOZXh0VGFiKTsKLSAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9ydGN1
dDIgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFi
LCBzaG93UHJldmlvdXNUYWIpOworICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0b3IucmVz
b2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5S
VEw7CiAKLSAgICAgICAgdGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0Y3V0MyA9IG5ldyBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXIuU2hpZnQsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdo
dCwgdGhpcy5fc2hvd05leHRUYWJDaGVja2luZ0ZvckVkaXRhYmxlRmllbGQuYmluZCh0aGlzKSk7
CisgICAgICAgIGxldCBuZXh0S2V5MSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuS2V5LkxlZnRDdXJseUJyYWNlIDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
S2V5LlJpZ2h0Q3VybHlCcmFjZTsKKyAgICAgICAgbGV0IHByZXZpb3VzS2V5MSA9IGlzUlRMID8g
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0Q3VybHlCcmFjZSA6IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0Q3VybHlCcmFjZTsKKworICAgICAgICB0
aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQxID0gbmV3IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1h
bmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlm
dCwgbmV4dEtleTEsIHNob3dOZXh0VGFiKTsKKyAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFi
S2V5Ym9hcmRTaG9ydGN1dDEgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBwcmV2aW91c0tleTEs
IHNob3dQcmV2aW91c1RhYik7CisKKyAgICAgICAgbGV0IG5leHRNb2RpZmllcjIgPSBpc1JUTCA/
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0IDogMDsKKyAgICAg
ICAgbGV0IHByZXZpb3VzTW9kaWZpZXIyID0gaXNSVEwgPyAwIDogV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQ7CisKKyAgICAgICAgdGhpcy5fc2hvd05leHRUYWJL
ZXlib2FyZFNob3J0Y3V0MiA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sIHwgbmV4dE1vZGlmaWVy
MiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlRhYiwgc2hvd05leHRUYWIpOwor
ICAgICAgICB0aGlzLl9zaG93UHJldmlvdXNUYWJLZXlib2FyZFNob3J0Y3V0MiA9IG5ldyBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5Db250cm9sIHwgcHJldmlvdXNNb2RpZmllcjIsIFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0LktleS5UYWIsIHNob3dQcmV2aW91c1RhYik7CisKKyAgICAgICAgbGV0IG5leHRL
ZXkzID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuTGVmdCA6IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodDsKKyAgICAgICAgbGV0IHByZXZp
b3VzS2V5MyA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0
IDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQ7CisKKyAgICAgICAgdGhp
cy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0Y3V0MyA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5k
T3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQs
IG5leHRLZXkzLCB0aGlzLl9zaG93TmV4dFRhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5k
KHRoaXMpKTsKICAgICAgICAgdGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0Y3V0My5pbXBs
aWNpdGx5UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91
c1RhYktleWJvYXJkU2hvcnRjdXQzID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wg
fCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQsIHRoaXMuX3Nob3dQcmV2aW91c1RhYkNoZWNr
aW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fc2hvd1ByZXZp
b3VzVGFiS2V5Ym9hcmRTaG9ydGN1dDMgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJv
bCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBwcmV2aW91
c0tleTMsIHRoaXMuX3Nob3dQcmV2aW91c1RhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5k
KHRoaXMpKTsKICAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9ydGN1dDMu
aW1wbGljaXRseVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMuX3RhYkJh
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5UYWJCYXIuRXZlbnQuVGFiQmFySXRlbVNl
bGVjdGVkLCB0aGlzLl90YWJCYXJJdGVtU2VsZWN0ZWQsIHRoaXMpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcwpp
bmRleCBlMzA5ZDQ0ZDg0NjMzYWQ5NWFjMzVhYWE4ZTZjYWZhYTliNzYxZTMyLi5kOGZjOGExYWU1
MjRkNDY0NmUyNDEyNGJlNzdkM2E0NGU0NWFkNGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UcmVlT3V0bGluZS5qcwpAQCAtNDgy
LDYgKzQ4Miw4IEBAIFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5l
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRU
cmVlRWxlbWVudCB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0
cmxLZXkpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgbGV0IGlzUlRMID0gV2ViSW5z
cGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rvci5MYXlvdXRE
aXJlY3Rpb24uUlRMOworCiAgICAgICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAgICAgICAgIHZh
ciBuZXh0U2VsZWN0ZWRFbGVtZW50OwogICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9
PT0gIlVwIiAmJiAhZXZlbnQuYWx0S2V5KSB7CkBAIC00OTQsNyArNDk2LDcgQEAgV2ViSW5zcGVj
dG9yLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
T2JqZWN0CiAgICAgICAgICAgICB3aGlsZSAobmV4dFNlbGVjdGVkRWxlbWVudCAmJiAhbmV4dFNl
bGVjdGVkRWxlbWVudC5zZWxlY3RhYmxlKQogICAgICAgICAgICAgICAgIG5leHRTZWxlY3RlZEVs
ZW1lbnQgPSBuZXh0U2VsZWN0ZWRFbGVtZW50LnRyYXZlcnNlTmV4dFRyZWVFbGVtZW50KHRydWUp
OwogICAgICAgICAgICAgaGFuZGxlZCA9IG5leHRTZWxlY3RlZEVsZW1lbnQgPyB0cnVlIDogZmFs
c2U7Ci0gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSB7
CisgICAgICAgIH0gZWxzZSBpZiAoKCFpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAi
TGVmdCIpIHx8IChpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiUmlnaHQiKSkgewog
ICAgICAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5leHBhbmRlZCkgewogICAg
ICAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMu
c2VsZWN0ZWRUcmVlRWxlbWVudC5jb2xsYXBzZVJlY3Vyc2l2ZWx5KCk7CkBAIC01MTEsNyArNTEz
LDcgQEAgV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5k
cyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNl
bGVjdGVkVHJlZUVsZW1lbnQucGFyZW50KQogICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVj
dGVkVHJlZUVsZW1lbnQucGFyZW50LmNvbGxhcHNlKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAg
IH0gZWxzZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikgeworICAgICAgICB9
IGVsc2UgaWYgKCghaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikgfHwg
KGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikpIHsKICAgICAgICAgICAg
IGlmICghdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50LnJldmVhbGVkKCkpIHsKICAgICAgICAgICAg
ICAgICB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQucmV2ZWFsKCk7CiAgICAgICAgICAgICAgICAg
aGFuZGxlZCA9IHRydWU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>303886</attachid>
            <date>2017-03-08 18:50:51 -0800</date>
            <delta_ts>2017-03-15 15:59:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165761-20170308185047.patch</filename>
            <type>text/plain</type>
            <size>17250</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDUyOTQ4OTNkYWRlYWZhOTE5MGIxMGVmZWExZTQ0
Y2I5ODA2MzEzMTEuLjdkNTViYjMyN2Y1NDE1NDU4MDI3ZDEyOTIwNzQxZjY2NWNiY2IwYjggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE3LTAzLTA3ICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IFJUTDoga2V5Ym9hcmQgc2hvcnRjdXRzIHdpdGggZGlyZWN0aW9uYWxpdHkgbmVlZCB0
byBiZSBmbGlwcGVkIChmb3J3YXJkL2JhY2ssIGV0YykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJv
d3Nlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3Nlcik6CisgICAgICAg
ICogVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLlRhYkJyb3dzZXIpOgorICAgICAgICBGbGlwIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGtleWJv
YXJkIHNob3J0Y3V0cyB3aGVuIGluIFJUTCwgZXhjZXB0IGZvciBMZWZ0L1JpZ2h0IGtleXMsIGFz
CisgICAgICAgIHRoZXkgYXJlIGludGVuZGVkIHRvIGFsd2F5cyBnbyBsZWZ0L3JpZ2h0LgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2tleURvd24pOgorICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTG9n
Q29udGVudFZpZXcucHJvdG90eXBlLl9rZXlEb3duKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5l
LnByb3RvdHlwZS5fdHJlZUtleURvd24pOgorICAgICAgICBGbGlwIHRoZSBMZWZ0IGFuZCBSaWdo
dCBrZXlib2FyZCBzaG9ydGN1dHMgdG8gZXhwYW5kL2NvbGxhcHNlIHRoZSBzZWxlY3RlZCBpdGVt
IHdoZW4gaW4gUlRMLgorCiAyMDE3LTAzLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRE9NIFRyZWUgYnJva2VuIGlmIGFu
IGVsZW1lbnQgaGFzIGEgImRlYm91bmNlIiBhdHRyaWJ1dGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRCcm93c2VyLmpzIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMK
aW5kZXggZGQ1Njg3YjI1ZGViNzBkODU5NDk5NmU3OGIwMzlkMGU0MzI3MDVkZi4uOGNlODcwNmM5
ZTI5ODZmZWFmZmQ3YzM2ZWI2OWNhZDQ3MWRjMzYxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMK
QEAgLTM5LDIzICszOSwzNCBAQCBXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIgPSBjbGFzcyBD
b250ZW50QnJvd3NlciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIHRoaXMuYWRk
U3Vidmlldyh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lcik7CiAKICAgICAgICAgaWYgKCFkaXNh
YmxlQmFja0ZvcndhcmQpIHsKLSAgICAgICAgICAgIHRoaXMuX2JhY2tLZXlib2FyZFNob3J0Y3V0
ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5LZXkuTGVmdCwgdGhpcy5fYmFja0J1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgdGhpcy5lbGVt
ZW50KTsKLSAgICAgICAgICAgIHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmln
aHQsIHRoaXMuX2ZvcndhcmRCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIHRoaXMuZWxlbWVudCk7
CisgICAgICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJl
Y3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEw7CisKKyAgICAgICAg
ICAgIGxldCBnb0JhY2sgPSAoKSA9PiB7IHRoaXMuZ29CYWNrKCk7IH07CisgICAgICAgICAgICBs
ZXQgZ29Gb3J3YXJkID0gKCkgPT4geyB0aGlzLmdvRm9yd2FyZCgpOyB9OworCisgICAgICAgICAg
ICB0aGlzLl9iYWNrS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JD
b250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCwg
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQsIGdvQmFjaywgdGhpcy5lbGVt
ZW50KTsKKyAgICAgICAgICAgIHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmln
aHQsIGdvRm9yd2FyZCwgdGhpcy5lbGVtZW50KTsKKworICAgICAgICAgICAgbGV0IGxlZnRCdXR0
b25UaXRsZSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJCYWNrICglcykiKSA6IFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiRm9yd2FyZCAoJXMpIik7CisgICAgICAgICAgICBsZXQgcmln
aHRCdXR0b25UaXRsZSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGb3J3YXJkICgl
cykiKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQmFjayAoJXMpIik7CiAKICAgICAgICAgICAg
IGxldCBsZWZ0QXJyb3cgPSAiSW1hZ2VzL0JhY2tGb3J3YXJkQXJyb3dzLnN2ZyNsZWZ0LWFycm93
LW1hc2siOwogICAgICAgICAgICAgbGV0IHJpZ2h0QXJyb3cgPSAiSW1hZ2VzL0JhY2tGb3J3YXJk
QXJyb3dzLnN2ZyNyaWdodC1hcnJvdy1tYXNrIjsKLSAgICAgICAgICAgIGxldCBiYWNrQnV0dG9u
SW1hZ2UgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5z
cGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEwgPyByaWdodEFycm93IDogbGVmdEFycm93OwotICAg
ICAgICAgICAgbGV0IGZvcndhcmRCdXR0b25JbWFnZSA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExh
eW91dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTCA/IGxl
ZnRBcnJvdyA6IHJpZ2h0QXJyb3c7CisgICAgICAgICAgICBsZXQgbGVmdEJ1dHRvbkltYWdlID0g
V2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rvci5M
YXlvdXREaXJlY3Rpb24uUlRMID8gcmlnaHRBcnJvdyA6IGxlZnRBcnJvdzsKKyAgICAgICAgICAg
IGxldCByaWdodEJ1dHRvbkltYWdlID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0
aW9uKCkgPT09IFdlYkluc3BlY3Rvci5MYXlvdXREaXJlY3Rpb24uUlRMID8gbGVmdEFycm93IDog
cmlnaHRBcnJvdzsKIAotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVt
ID0gbmV3IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiYmFjayIsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQmFjayAoJXMpIikuZm9ybWF0KHRoaXMuX2JhY2tLZXlib2FyZFNob3J0
Y3V0LmRpc3BsYXlOYW1lKSwgYmFja0J1dHRvbkltYWdlLCA4LCAxMyk7Ci0gICAgICAgICAgICB0
aGlzLl9iYWNrQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fYmFja0J1dHRvbkNs
aWNrZWQsIHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVt
LmVuYWJsZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2
aWdhdGlvbkl0ZW0odGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtKTsKKyAgICAgICAgICAg
IGxldCBsZWZ0QnV0dG9uQWN0aW9uID0gaXNSVEwgPyBnb0JhY2sgOiBnb0ZvcndhcmQ7CisgICAg
ICAgICAgICBsZXQgcmlnaHRCdXR0b25BY3Rpb24gPSBpc1JUTCA/IGdvRm9yd2FyZCA6IGdvQmFj
azsKIAotICAgICAgICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3
IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiZm9yd2FyZCIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiRm9yd2FyZCAoJXMpIikuZm9ybWF0KHRoaXMuX2ZvcndhcmRLZXlib2FyZFNo
b3J0Y3V0LmRpc3BsYXlOYW1lKSwgZm9yd2FyZEJ1dHRvbkltYWdlLCA4LCAxMyk7Ci0gICAgICAg
ICAgICB0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fZm9y
d2FyZEJ1dHRvbkNsaWNrZWQsIHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRv
bk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmln
YXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25J
dGVtKTsKKyAgICAgICAgICAgIHRoaXMuX2xlZnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBX
ZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0oImxlZnQiLCBsZWZ0QnV0dG9uVGl0bGUu
Zm9ybWF0KHRoaXMuX2JhY2tLZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlOYW1lKSwgbGVmdEJ1dHRv
bkltYWdlLCA4LCAxMyk7CisgICAgICAgICAgICB0aGlzLl9sZWZ0QnV0dG9uTmF2aWdhdGlvbkl0
ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZl
bnQuQ2xpY2tlZCwgbGVmdEJ1dHRvbkFjdGlvbik7CisgICAgICAgICAgICB0aGlzLl9sZWZ0QnV0
dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IGZhbHNlOworICAgICAgICAgICAgdGhpcy5fbmF2
aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9sZWZ0QnV0dG9uTmF2aWdhdGlvbkl0
ZW0pOworCisgICAgICAgICAgICB0aGlzLl9yaWdodE5hdmlnYXRpb25JdGVtID0gbmV3IFdlYklu
c3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgicmlnaHQiLCByaWdodEJ1dHRvblRpdGxlLmZv
cm1hdCh0aGlzLl9mb3J3YXJkS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSksIHJpZ2h0QnV0
dG9uSW1hZ2UsIDgsIDEzKTsKKyAgICAgICAgICAgIHRoaXMuX3JpZ2h0TmF2aWdhdGlvbkl0ZW0u
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQu
Q2xpY2tlZCwgcmlnaHRCdXR0b25BY3Rpb24pOworICAgICAgICAgICAgdGhpcy5fcmlnaHROYXZp
Z2F0aW9uSXRlbS5lbmFibGVkID0gZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9u
QmFyLmFkZE5hdmlnYXRpb25JdGVtKHRoaXMuX3JpZ2h0TmF2aWdhdGlvbkl0ZW0pOwogCiAgICAg
ICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVtKG5ldyBXZWJJbnNw
ZWN0b3IuRGl2aWRlck5hdmlnYXRpb25JdGVtKTsKICAgICAgICAgfQpAQCAtMjgyLDE2ICsyOTMs
NiBAQCBXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3NlciBl
eHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICAvLyBQcml2YXRlCiAKLSAgICBfYmFja0J1
dHRvbkNsaWNrZWQoZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLmdvQmFjaygpOwotICAgIH0K
LQotICAgIF9mb3J3YXJkQnV0dG9uQ2xpY2tlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMu
Z29Gb3J3YXJkKCk7Ci0gICAgfQotCiAgICAgX2ZpbmRCYW5uZXJEaWRTaG93KGV2ZW50KQogICAg
IHsKICAgICAgICAgdmFyIGN1cnJlbnRDb250ZW50VmlldyA9IHRoaXMuY3VycmVudENvbnRlbnRW
aWV3OwpAQCAtMzYzLDExICszNjQsMTEgQEAgV2ViSW5zcGVjdG9yLkNvbnRlbnRCcm93c2VyID0g
Y2xhc3MgQ29udGVudEJyb3dzZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogCiAgICAgX3Vw
ZGF0ZUJhY2tGb3J3YXJkQnV0dG9ucygpCiAgICAgewotICAgICAgICBpZiAoIXRoaXMuX2JhY2tC
dXR0b25OYXZpZ2F0aW9uSXRlbSB8fCAhdGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVt
KQorICAgICAgICBpZiAoIXRoaXMuX2xlZnRCdXR0b25OYXZpZ2F0aW9uSXRlbSB8fCAhdGhpcy5f
cmlnaHROYXZpZ2F0aW9uSXRlbSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICB0aGlz
Ll9iYWNrQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IHRoaXMuY2FuR29CYWNrKCk7Ci0g
ICAgICAgIHRoaXMuX2ZvcndhcmRCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5j
YW5Hb0ZvcndhcmQoKTsKKyAgICAgICAgdGhpcy5fbGVmdEJ1dHRvbk5hdmlnYXRpb25JdGVtLmVu
YWJsZWQgPSB0aGlzLmNhbkdvQmFjaygpOworICAgICAgICB0aGlzLl9yaWdodE5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSB0aGlzLmNhbkdvRm9yd2FyZCgpOwogICAgIH0KIAogICAgIF91cGRhdGVD
b250ZW50Vmlld05hdmlnYXRpb25JdGVtcygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCmluZGV4IGQ0ODJlYTY1NWEzMDA3
NDAwYjRhNzY0YzVlMDAzNWRhOTdlMDc0ZjMuLmVmMjg5YjI0MjM1MWIwY2M2MWQzZTkxNjNlMDhm
MzEzZWNmMzE4MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBAIC0xMzYzLDYgKzEzNjMsOCBAQCBXZWJJbnNwZWN0
b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAg
ICAgICAgIGlmICghdGhpcy5zZWxlY3RlZE5vZGUgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQu
bWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8IHRoaXMuX2VkaXRpbmcpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKKyAgICAgICAgbGV0IGlzUlRMID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0
RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rvci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAg
ICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAgICAgICAgIHZhciBuZXh0U2VsZWN0ZWROb2RlOwog
ICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlVwIiAmJiAhZXZlbnQuYWx0S2V5
KSB7CkBAIC0xMzc1LDcgKzEzNzcsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBE
YXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICB3aGlsZSAobmV4
dFNlbGVjdGVkTm9kZSAmJiAhbmV4dFNlbGVjdGVkTm9kZS5zZWxlY3RhYmxlKQogICAgICAgICAg
ICAgICAgIG5leHRTZWxlY3RlZE5vZGUgPSBuZXh0U2VsZWN0ZWROb2RlLnRyYXZlcnNlTmV4dE5v
ZGUodHJ1ZSk7CiAgICAgICAgICAgICBoYW5kbGVkID0gbmV4dFNlbGVjdGVkTm9kZSA/IHRydWUg
OiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVm
dCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIg
PT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIp
KSB7CiAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE5vZGUuZXhwYW5kZWQpIHsKICAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQuYWx0S2V5KQogICAgICAgICAgICAgICAgICAgICB0aGlzLnNl
bGVjdGVkTm9kZS5jb2xsYXBzZVJlY3Vyc2l2ZWx5KCk7CkBAIC0xMzkwLDcgKzEzOTIsNyBAQCBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5WaWV3CiAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNlbGVjdGVkTm9kZS5wYXJl
bnQpCiAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLnBhcmVudC5jb2xsYXBz
ZSgpOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZp
ZXIgPT09ICJSaWdodCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHx8IChpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVy
ID09PSAiTGVmdCIpKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWROb2RlLnJldmVh
bGVkKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUucmV2ZWFsKCk7CiAgICAg
ICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDcy
YzY1ZDc5MGQ1MjE1ZGIzZDhjNTAzNDM1ZTIwYjE0NmE3NTc5YjYuLjg1NjI0OWQ2NjJkMjA4YmUw
NmQ3ZDRmNDMwMjkzZWJkMmQ0NTQzYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC03Mjgs
NiArNzI4LDggQEAgV2ViSW5zcGVjdG9yLkxvZ0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVu
dFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuQ29udGVudFYKIAogICAgIF9rZXlEb3duKGV2ZW50
KQogICAgIHsKKyAgICAgICAgbGV0IGlzUlRMID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0
RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rvci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAg
ICAgIGlmICh0aGlzLl9rZXlib2FyZFNob3J0Y3V0Q29tbWFuZEEubWF0Y2hlc0V2ZW50KGV2ZW50
KSkKICAgICAgICAgICAgIHRoaXMuX2NvbW1hbmRBV2FzUHJlc3NlZChldmVudCk7CiAgICAgICAg
IGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkU2hvcnRjdXRFc2MubWF0Y2hlc0V2ZW50KGV2ZW50KSkK
QEAgLTczNiw5ICs3MzgsOSBAQCBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcgPSBjbGFzcyBM
b2dDb250ZW50VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250ZW50VgogICAgICAgICAgICAg
dGhpcy5fdXBBcnJvd1dhc1ByZXNzZWQoZXZlbnQpOwogICAgICAgICBlbHNlIGlmIChldmVudC5r
ZXlJZGVudGlmaWVyID09PSAiRG93biIpCiAgICAgICAgICAgICB0aGlzLl9kb3duQXJyb3dXYXNQ
cmVzc2VkKGV2ZW50KTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0g
IkxlZnQiKQorICAgICAgICBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIg
PT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIp
KQogICAgICAgICAgICAgdGhpcy5fbGVmdEFycm93V2FzUHJlc3NlZChldmVudCk7Ci0gICAgICAg
IGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpCisgICAgICAgIGVsc2Ug
aWYgKCghaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikgfHwgKGlzUlRM
ICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikpCiAgICAgICAgICAgICB0aGlzLl9y
aWdodEFycm93V2FzUHJlc3NlZChldmVudCk7CiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIgPT09ICJFbnRlciIgJiYgZXZlbnQubWV0YUtleSkKICAgICAgICAgICAgIHRoaXMu
X2NvbW1hbmRFbnRlcldhc1ByZXNzZWQoZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggN2ZlN2Ey
YTNiOGUwMWE0ZWE3NzZlOGIyMjY0YzcwZDIzMzc2MDRkYy4uMjM0Y2Y2MGY1ZGVlOTNmMWQzYTRl
ZjNkYWRmMTNkMTM5NTdhYjU4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzCkBAIC01NCwxNSArNTQsMjQgQEAg
V2ViSW5zcGVjdG9yLlRhYkJyb3dzZXIgPSBjbGFzcyBUYWJCcm93c2VyIGV4dGVuZHMgV2ViSW5z
cGVjdG9yLlZpZXcKICAgICAgICAgbGV0IHNob3dOZXh0VGFiID0gKCkgPT4geyB0aGlzLl9zaG93
TmV4dFRhYigpOyB9OwogICAgICAgICBsZXQgc2hvd1ByZXZpb3VzVGFiID0gKCkgPT4geyB0aGlz
Ll9zaG93UHJldmlvdXNUYWIoKTsgfTsKIAotICAgICAgICB0aGlzLl9zaG93TmV4dFRhYktleWJv
YXJkU2hvcnRjdXQxID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuS2V5LlJpZ2h0Q3VybHlCcmFjZSwgc2hvd05leHRUYWIpOwotICAgICAgICB0
aGlzLl9zaG93UHJldmlvdXNUYWJLZXlib2FyZFNob3J0Y3V0MSA9IG5ldyBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5D
b21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
U2hpZnQsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0Q3VybHlCcmFjZSwg
c2hvd1ByZXZpb3VzVGFiKTsKLSAgICAgICAgdGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0
Y3V0MiA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXkuVGFiLCBzaG93TmV4dFRhYik7Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1Rh
YktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuS2V5LlRhYiwgc2hvd1ByZXZpb3VzVGFiKTsKLQotICAgICAgICB0aGlzLl9zaG93
TmV4dFRhYktleWJvYXJkU2hvcnRjdXQzID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRy
b2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0LCB0aGlzLl9zaG93TmV4dFRhYkNoZWNr
aW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsKLSAgICAgICAgdGhpcy5fc2hvd05leHRU
YWJLZXlib2FyZFNob3J0Y3V0My5pbXBsaWNpdGx5UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7Ci0g
ICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQzID0gbmV3IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQsIHRo
aXMuX3Nob3dQcmV2aW91c1RhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsK
LSAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9ydGN1dDMuaW1wbGljaXRs
eVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOworICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0
b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVj
dGlvbi5SVEw7CisKKyAgICAgICAgbGV0IG5leHRLZXkxID0gaXNSVEwgPyBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5LZXkuTGVmdEN1cmx5QnJhY2UgOiBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5LZXkuUmlnaHRDdXJseUJyYWNlOworICAgICAgICBsZXQgcHJldmlvdXNLZXkx
ID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHRDdXJseUJy
YWNlIDogV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnRDdXJseUJyYWNlOwor
CisgICAgICAgIHRoaXMuX3Nob3dOZXh0VGFiS2V5Ym9hcmRTaG9ydGN1dDEgPSBuZXcgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLlNoaWZ0LCBuZXh0S2V5MSwgc2hvd05leHRUYWIpOworICAgICAgICB0aGlzLl9zaG93
UHJldmlvdXNUYWJLZXlib2FyZFNob3J0Y3V0MSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JD
b250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIHBy
ZXZpb3VzS2V5MSwgc2hvd1ByZXZpb3VzVGFiKTsKKworICAgICAgICBsZXQgbmV4dE1vZGlmaWVy
MiA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQg
OiAwOworICAgICAgICBsZXQgcHJldmlvdXNNb2RpZmllcjIgPSBpc1JUTCA/IDAgOiBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdDsKKworICAgICAgICB0aGlzLl9z
aG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBu
ZXh0TW9kaWZpZXIyLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFiLCBzaG93
TmV4dFRhYik7CisgICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQy
ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBwcmV2aW91c01vZGlmaWVyMiwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlRhYiwgc2hvd1ByZXZpb3VzVGFiKTsKKworICAgICAg
ICB0aGlzLl9sZWZ0S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JD
b250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0LCB0aGlzLl9zaG93UHJldmlvdXNU
YWJDaGVja2luZ0ZvckVkaXRhYmxlRmllbGQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2xl
ZnRLZXlib2FyZFNob3J0Y3V0LmltcGxpY2l0bHlQcmV2ZW50c0RlZmF1bHQgPSBmYWxzZTsKKyAg
ICAgICAgdGhpcy5fcmlnaHRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1h
bmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlm
dCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0LCB0aGlzLl9zaG93TmV4
dFRhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5f
cmlnaHRLZXlib2FyZFNob3J0Y3V0LmltcGxpY2l0bHlQcmV2ZW50c0RlZmF1bHQgPSBmYWxzZTsK
IAogICAgICAgICB0aGlzLl90YWJCYXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuVGFi
QmFyLkV2ZW50LlRhYkJhckl0ZW1TZWxlY3RlZCwgdGhpcy5fdGFiQmFySXRlbVNlbGVjdGVkLCB0
aGlzKTsKICAgICAgICAgdGhpcy5fdGFiQmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LlRhYkJhci5FdmVudC5UYWJCYXJJdGVtQWRkZWQsIHRoaXMuX3RhYkJhckl0ZW1BZGRlZCwgdGhp
cyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RyZWVPdXRsaW5lLmpzCmluZGV4IGUzMDlkNDRkODQ2MzNhZDk1YWMzNWFhYThlNmNhZmFh
OWI3NjFlMzIuLmQ4ZmM4YTFhZTUyNGQ0NjQ2ZTI0MTI0YmU3N2QzYTQ0ZTQ1YWQ0ZjQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRs
aW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Ry
ZWVPdXRsaW5lLmpzCkBAIC00ODIsNiArNDgyLDggQEAgV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5l
ID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAg
IGlmICghdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2ZW50
Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAg
ICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0g
V2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEw7CisKICAgICAgICAgdmFyIGhhbmRsZWQg
PSBmYWxzZTsKICAgICAgICAgdmFyIG5leHRTZWxlY3RlZEVsZW1lbnQ7CiAgICAgICAgIGlmIChl
dmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAiICYmICFldmVudC5hbHRLZXkpIHsKQEAgLTQ5NCw3
ICs0OTYsNyBAQCBXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBl
eHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgIHdoaWxlIChuZXh0U2VsZWN0
ZWRFbGVtZW50ICYmICFuZXh0U2VsZWN0ZWRFbGVtZW50LnNlbGVjdGFibGUpCiAgICAgICAgICAg
ICAgICAgbmV4dFNlbGVjdGVkRWxlbWVudCA9IG5leHRTZWxlY3RlZEVsZW1lbnQudHJhdmVyc2VO
ZXh0VHJlZUVsZW1lbnQodHJ1ZSk7CiAgICAgICAgICAgICBoYW5kbGVkID0gbmV4dFNlbGVjdGVk
RWxlbWVudCA/IHRydWUgOiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlJZGVu
dGlmaWVyID09PSAiTGVmdCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50
LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZp
ZXIgPT09ICJSaWdodCIpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRyZWVFbGVt
ZW50LmV4cGFuZGVkKSB7CiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmFsdEtleSkKICAgICAg
ICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50LmNvbGxhcHNlUmVjdXJzaXZl
bHkoKTsKQEAgLTUxMSw3ICs1MTMsNyBAQCBXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmUgPSBjbGFz
cyBUcmVlT3V0bGluZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgICAg
ICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5wYXJlbnQpCiAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5wYXJlbnQuY29sbGFwc2UoKTsKICAg
ICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAi
UmlnaHQiKSB7CisgICAgICAgIH0gZWxzZSBpZiAoKCFpc1JUTCAmJiBldmVudC5rZXlJZGVudGlm
aWVyID09PSAiUmlnaHQiKSB8fCAoaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxl
ZnQiKSkgewogICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQucmV2ZWFs
ZWQoKSkgewogICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5yZXZlYWwo
KTsKICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304572</attachid>
            <date>2017-03-15 15:59:40 -0700</date>
            <delta_ts>2017-03-20 15:40:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165761-20170315165939.patch</filename>
            <type>text/plain</type>
            <size>17096</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDg0MDhmODUzNzRjODUzNDk1NWEzM2FjZGMyOTgy
ZTYyMTRkNDFiMTQuLjQ0ZDJmM2I1MWFlOWQwMWQyZmIzZGQ4NmZhOWE2MTAwNjVkOTYwYmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI3IEBACiAyMDE3LTAzLTE1ICBEZXZp
biBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgogCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFJUTDoga2V5Ym9hcmQgc2hvcnRjdXRzIHdpdGggZGlyZWN0aW9uYWxpdHkgbmVlZCB0byBi
ZSBmbGlwcGVkIChmb3J3YXJkL2JhY2ssIGV0YykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTc2MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nl
ci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3Nlcik6CisgICAgICAgICog
VXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LlRhYkJyb3dzZXIpOgorICAgICAgICBGbGlwIHRoZSBmdW5jdGlvbmFsaXR5IG9mIGtleWJvYXJk
IHNob3J0Y3V0cyB3aGVuIGluIFJUTCwgZXhjZXB0IGZvciBMZWZ0L1JpZ2h0IGtleXMsIGFzCisg
ICAgICAgIHRoZXkgYXJlIGludGVuZGVkIHRvIGFsd2F5cyBnbyBsZWZ0L3JpZ2h0LgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9WaWV3cy9EYXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2tleURvd24pOgorICAgICAgICAqIFVzZXJJbnRlcmZh
Y2UvVmlld3MvTG9nQ29udGVudFZpZXcuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTG9nQ29u
dGVudFZpZXcucHJvdG90eXBlLl9rZXlEb3duKToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1Zp
ZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lLnBy
b3RvdHlwZS5fdHJlZUtleURvd24pOgorICAgICAgICBGbGlwIHRoZSBMZWZ0IGFuZCBSaWdodCBr
ZXlib2FyZCBzaG9ydGN1dHMgdG8gZXhwYW5kL2NvbGxhcHNlIHRoZSBzZWxlY3RlZCBpdGVtIHdo
ZW4gaW4gUlRMLgorCisyMDE3LTAzLTE1ICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vz
c28uY29tPgorCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBpY29ucyBmb3IgU1ZHIEltYWdl
IGNsdXN0ZXIgcGF0aCBjb21wb25lbnRzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNjk2ODcKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwppbmRleCBkZDU2
ODdiMjVkZWI3MGQ4NTk0OTk2ZTc4YjAzOWQwZTQzMjcwNWRmLi4xYjdkZjdjNTQwNWU4YWIxYjRk
Y2JkMTAwYWE4MTEwYmU2MTUxMTM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwpAQCAtMzksMjMg
KzM5LDMxIEBAIFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3NlciA9IGNsYXNzIENvbnRlbnRCcm93
c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRo
aXMuX2NvbnRlbnRWaWV3Q29udGFpbmVyKTsKIAogICAgICAgICBpZiAoIWRpc2FibGVCYWNrRm9y
d2FyZCkgewotICAgICAgICAgICAgdGhpcy5fYmFja0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0
LCB0aGlzLl9iYWNrQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpLCB0aGlzLmVsZW1lbnQpOwotICAg
ICAgICAgICAgdGhpcy5fZm9yd2FyZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
Q29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVy
LkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodCwgdGhpcy5f
Zm9yd2FyZEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgdGhpcy5lbGVtZW50KTsKKyAgICAgICAg
ICAgIGxldCBpc1JUTCA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09
PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTDsKKworICAgICAgICAgICAgbGV0IGdv
QmFjayA9ICgpID0+IHsgdGhpcy5nb0JhY2soKTsgfTsKKyAgICAgICAgICAgIGxldCBnb0Zvcndh
cmQgPSAoKSA9PiB7IHRoaXMuZ29Gb3J3YXJkKCk7IH07CisKKyAgICAgICAgICAgIHRoaXMuX2Jh
Y2tLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuTGVmdCwgZ29CYWNrLCB0aGlzLmVsZW1lbnQpOworICAg
ICAgICAgICAgdGhpcy5fZm9yd2FyZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
Q29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVy
LkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodCwgZ29Gb3J3
YXJkLCB0aGlzLmVsZW1lbnQpOwogCiAgICAgICAgICAgICBsZXQgbGVmdEFycm93ID0gIkltYWdl
cy9CYWNrRm9yd2FyZEFycm93cy5zdmcjbGVmdC1hcnJvdy1tYXNrIjsKICAgICAgICAgICAgIGxl
dCByaWdodEFycm93ID0gIkltYWdlcy9CYWNrRm9yd2FyZEFycm93cy5zdmcjcmlnaHQtYXJyb3ct
bWFzayI7Ci0gICAgICAgICAgICBsZXQgYmFja0J1dHRvbkltYWdlID0gV2ViSW5zcGVjdG9yLnJl
c29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rvci5MYXlvdXREaXJlY3Rpb24u
UlRMID8gcmlnaHRBcnJvdyA6IGxlZnRBcnJvdzsKLSAgICAgICAgICAgIGxldCBmb3J3YXJkQnV0
dG9uSW1hZ2UgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2Vi
SW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEwgPyBsZWZ0QXJyb3cgOiByaWdodEFycm93Owor
ICAgICAgICAgICAgbGV0IGxlZnRCdXR0b25JbWFnZSA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExh
eW91dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTCA/IHJp
Z2h0QXJyb3cgOiBsZWZ0QXJyb3c7CisgICAgICAgICAgICBsZXQgcmlnaHRCdXR0b25JbWFnZSA9
IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3Iu
TGF5b3V0RGlyZWN0aW9uLlJUTCA/IGxlZnRBcnJvdyA6IHJpZ2h0QXJyb3c7CisKKyAgICAgICAg
ICAgIGxldCBsZWZ0QnV0dG9uQWN0aW9uID0gaXNSVEwgPyBnb0JhY2sgOiBnb0ZvcndhcmQ7Cisg
ICAgICAgICAgICBsZXQgcmlnaHRCdXR0b25BY3Rpb24gPSBpc1JUTCA/IGdvRm9yd2FyZCA6IGdv
QmFjazsKIAotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3
IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiYmFjayIsIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQmFjayAoJXMpIikuZm9ybWF0KHRoaXMuX2JhY2tLZXlib2FyZFNob3J0Y3V0LmRp
c3BsYXlOYW1lKSwgYmFja0J1dHRvbkltYWdlLCA4LCAxMyk7Ci0gICAgICAgICAgICB0aGlzLl9i
YWNrQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fYmFja0J1dHRvbkNsaWNrZWQs
IHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJs
ZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlv
bkl0ZW0odGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtKTsKKyAgICAgICAgICAgIHRoaXMu
X2xlZnRCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdh
dGlvbkl0ZW0oImxlZnQiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJhY2sgKCVzKSIpLmZvcm1h
dCh0aGlzLl9iYWNrS2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSksIGxlZnRCdXR0b25JbWFn
ZSwgOCwgMTMpOworICAgICAgICAgICAgdGhpcy5fbGVmdEJ1dHRvbk5hdmlnYXRpb25JdGVtLmFk
ZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNs
aWNrZWQsIGxlZnRCdXR0b25BY3Rpb24pOworICAgICAgICAgICAgdGhpcy5fbGVmdEJ1dHRvbk5h
dmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIHRoaXMuX25hdmlnYXRp
b25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fbGVmdEJ1dHRvbk5hdmlnYXRpb25JdGVtKTsK
IAotICAgICAgICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdl
Ykluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiZm9yd2FyZCIsIFdlYkluc3BlY3Rvci5V
SVN0cmluZygiRm9yd2FyZCAoJXMpIikuZm9ybWF0KHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0
Y3V0LmRpc3BsYXlOYW1lKSwgZm9yd2FyZEJ1dHRvbkltYWdlLCA4LCAxMyk7Ci0gICAgICAgICAg
ICB0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJ
bnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fZm9yd2Fy
ZEJ1dHRvbkNsaWNrZWQsIHRoaXMpOwotICAgICAgICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRvbk5h
dmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRp
b25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVt
KTsKKyAgICAgICAgICAgIHRoaXMuX3JpZ2h0TmF2aWdhdGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVj
dG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJyaWdodCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
Rm9yd2FyZCAoJXMpIikuZm9ybWF0KHRoaXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0LmRpc3Bs
YXlOYW1lKSwgcmlnaHRCdXR0b25JbWFnZSwgOCwgMTMpOworICAgICAgICAgICAgdGhpcy5fcmln
aHROYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZp
Z2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCByaWdodEJ1dHRvbkFjdGlvbik7CisgICAgICAgICAg
ICB0aGlzLl9yaWdodE5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBmYWxzZTsKKyAgICAgICAgICAg
IHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0odGhpcy5fcmlnaHROYXZpZ2F0
aW9uSXRlbSk7CiAKICAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlv
bkl0ZW0obmV3IFdlYkluc3BlY3Rvci5EaXZpZGVyTmF2aWdhdGlvbkl0ZW0pOwogICAgICAgICB9
CkBAIC0yODIsMTYgKzI5MCw2IEBAIFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3NlciA9IGNsYXNz
IENvbnRlbnRCcm93c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKIAogICAgIC8vIFByaXZh
dGUKIAotICAgIF9iYWNrQnV0dG9uQ2xpY2tlZChldmVudCkKLSAgICB7Ci0gICAgICAgIHRoaXMu
Z29CYWNrKCk7Ci0gICAgfQotCi0gICAgX2ZvcndhcmRCdXR0b25DbGlja2VkKGV2ZW50KQotICAg
IHsKLSAgICAgICAgdGhpcy5nb0ZvcndhcmQoKTsKLSAgICB9Ci0KICAgICBfZmluZEJhbm5lckRp
ZFNob3coZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgY3VycmVudENvbnRlbnRWaWV3ID0gdGhp
cy5jdXJyZW50Q29udGVudFZpZXc7CkBAIC0zNjMsMTEgKzM2MSwxMSBAQCBXZWJJbnNwZWN0b3Iu
Q29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3NlciBleHRlbmRzIFdlYkluc3BlY3Rv
ci5WaWV3CiAKICAgICBfdXBkYXRlQmFja0ZvcndhcmRCdXR0b25zKCkKICAgICB7Ci0gICAgICAg
IGlmICghdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtIHx8ICF0aGlzLl9mb3J3YXJkQnV0
dG9uTmF2aWdhdGlvbkl0ZW0pCisgICAgICAgIGlmICghdGhpcy5fbGVmdEJ1dHRvbk5hdmlnYXRp
b25JdGVtIHx8ICF0aGlzLl9yaWdodE5hdmlnYXRpb25JdGVtKQogICAgICAgICAgICAgcmV0dXJu
OwogCi0gICAgICAgIHRoaXMuX2JhY2tCdXR0b25OYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhp
cy5jYW5Hb0JhY2soKTsKLSAgICAgICAgdGhpcy5fZm9yd2FyZEJ1dHRvbk5hdmlnYXRpb25JdGVt
LmVuYWJsZWQgPSB0aGlzLmNhbkdvRm9yd2FyZCgpOworICAgICAgICB0aGlzLl9sZWZ0QnV0dG9u
TmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IHRoaXMuY2FuR29CYWNrKCk7CisgICAgICAgIHRoaXMu
X3JpZ2h0TmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IHRoaXMuY2FuR29Gb3J3YXJkKCk7CiAgICAg
fQogCiAgICAgX3VwZGF0ZUNvbnRlbnRWaWV3TmF2aWdhdGlvbkl0ZW1zKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKaW5k
ZXggNGU4MDNiNDZkYThhZmNhZWYwZjQ3NGFhNDY2MDljZTNlZTVjMjJlMy4uNGZjODFhZDM3ODUz
MjIxNWYzYWIyYzQ3OTI2ZGMxODhhOWRkZmZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGF0YUdyaWQuanMKQEAgLTEzNjgsNiArMTM2
OCw4IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLlZpZXcKICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkTm9kZSB8fCBldmVudC5z
aGlmdEtleSB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgdGhpcy5fZWRpdGlu
ZykKICAgICAgICAgICAgIHJldHVybjsKIAorICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0
b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVj
dGlvbi5SVEw7CisKICAgICAgICAgdmFyIGhhbmRsZWQgPSBmYWxzZTsKICAgICAgICAgdmFyIG5l
eHRTZWxlY3RlZE5vZGU7CiAgICAgICAgIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAi
ICYmICFldmVudC5hbHRLZXkpIHsKQEAgLTEzODAsNyArMTM4Miw3IEBAIFdlYkluc3BlY3Rvci5E
YXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAg
ICAgICAgIHdoaWxlIChuZXh0U2VsZWN0ZWROb2RlICYmICFuZXh0U2VsZWN0ZWROb2RlLnNlbGVj
dGFibGUpCiAgICAgICAgICAgICAgICAgbmV4dFNlbGVjdGVkTm9kZSA9IG5leHRTZWxlY3RlZE5v
ZGUudHJhdmVyc2VOZXh0Tm9kZSh0cnVlKTsKICAgICAgICAgICAgIGhhbmRsZWQgPSBuZXh0U2Vs
ZWN0ZWROb2RlID8gdHJ1ZSA6IGZhbHNlOwotICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIgPT09ICJMZWZ0IikgeworICAgICAgICB9IGVsc2UgaWYgKCghaXNSVEwgJiYgZXZl
bnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSB8fCAoaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRp
ZmllciA9PT0gIlJpZ2h0IikpIHsKICAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZS5l
eHBhbmRlZCkgewogICAgICAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkpCiAgICAgICAgICAg
ICAgICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLmNvbGxhcHNlUmVjdXJzaXZlbHkoKTsKQEAgLTEz
OTUsNyArMTM5Nyw3IEBAIFdlYkluc3BlY3Rvci5EYXRhR3JpZCA9IGNsYXNzIERhdGFHcmlkIGV4
dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMu
c2VsZWN0ZWROb2RlLnBhcmVudCkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE5v
ZGUucGFyZW50LmNvbGxhcHNlKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAo
ZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikgeworICAgICAgICB9IGVsc2UgaWYgKCgh
aXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikgfHwgKGlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikpIHsKICAgICAgICAgICAgIGlmICghdGhpcy5z
ZWxlY3RlZE5vZGUucmV2ZWFsZWQpIHsKICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9k
ZS5yZXZlYWwoKTsKICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0NvbnRlbnRWaWV3
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVu
dFZpZXcuanMKaW5kZXggNzJjNjVkNzkwZDUyMTVkYjNkOGM1MDM0MzVlMjBiMTQ2YTc1NzliNi4u
ODU2MjQ5ZDY2MmQyMDhiZTA2ZDdkNGY0MzAyOTNlYmQyZDQ1NDNjMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanMK
KysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVu
dFZpZXcuanMKQEAgLTcyOCw2ICs3MjgsOCBAQCBXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcg
PSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdlYkluc3BlY3Rvci5Db250ZW50VgogCiAg
ICAgX2tleURvd24oZXZlbnQpCiAgICAgeworICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0
b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVj
dGlvbi5SVEw7CisKICAgICAgICAgaWYgKHRoaXMuX2tleWJvYXJkU2hvcnRjdXRDb21tYW5kQS5t
YXRjaGVzRXZlbnQoZXZlbnQpKQogICAgICAgICAgICAgdGhpcy5fY29tbWFuZEFXYXNQcmVzc2Vk
KGV2ZW50KTsKICAgICAgICAgZWxzZSBpZiAodGhpcy5fa2V5Ym9hcmRTaG9ydGN1dEVzYy5tYXRj
aGVzRXZlbnQoZXZlbnQpKQpAQCAtNzM2LDkgKzczOCw5IEBAIFdlYkluc3BlY3Rvci5Mb2dDb250
ZW50VmlldyA9IGNsYXNzIExvZ0NvbnRlbnRWaWV3IGV4dGVuZHMgV2ViSW5zcGVjdG9yLkNvbnRl
bnRWCiAgICAgICAgICAgICB0aGlzLl91cEFycm93V2FzUHJlc3NlZChldmVudCk7CiAgICAgICAg
IGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJEb3duIikKICAgICAgICAgICAgIHRo
aXMuX2Rvd25BcnJvd1dhc1ByZXNzZWQoZXZlbnQpOwotICAgICAgICBlbHNlIGlmIChldmVudC5r
ZXlJZGVudGlmaWVyID09PSAiTGVmdCIpCisgICAgICAgIGVsc2UgaWYgKCghaXNSVEwgJiYgZXZl
bnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSB8fCAoaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRp
ZmllciA9PT0gIlJpZ2h0IikpCiAgICAgICAgICAgICB0aGlzLl9sZWZ0QXJyb3dXYXNQcmVzc2Vk
KGV2ZW50KTsKLSAgICAgICAgZWxzZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0
IikKKyAgICAgICAgZWxzZSBpZiAoKCFpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAi
UmlnaHQiKSB8fCAoaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSkKICAg
ICAgICAgICAgIHRoaXMuX3JpZ2h0QXJyb3dXYXNQcmVzc2VkKGV2ZW50KTsKICAgICAgICAgZWxz
ZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkVudGVyIiAmJiBldmVudC5tZXRhS2V5KQog
ICAgICAgICAgICAgdGhpcy5fY29tbWFuZEVudGVyV2FzUHJlc3NlZChldmVudCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2Vy
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nl
ci5qcwppbmRleCA3ZmU3YTJhM2I4ZTAxYTRlYTc3NmU4YjIyNjRjNzBkMjMzNzYwNGRjLi4yMzRj
ZjYwZjVkZWU5M2YxZDNhNGVmM2RhZGYxM2QxMzk1N2FiNThjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJCcm93c2VyLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanMKQEAg
LTU0LDE1ICs1NCwyNCBAQCBXZWJJbnNwZWN0b3IuVGFiQnJvd3NlciA9IGNsYXNzIFRhYkJyb3dz
ZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuVmlldwogICAgICAgICBsZXQgc2hvd05leHRUYWIgPSAo
KSA9PiB7IHRoaXMuX3Nob3dOZXh0VGFiKCk7IH07CiAgICAgICAgIGxldCBzaG93UHJldmlvdXNU
YWIgPSAoKSA9PiB7IHRoaXMuX3Nob3dQcmV2aW91c1RhYigpOyB9OwogCi0gICAgICAgIHRoaXMu
X3Nob3dOZXh0VGFiS2V5Ym9hcmRTaG9ydGN1dDEgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9y
Q29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHRDdXJseUJyYWNlLCBzaG93TmV4
dFRhYik7Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQxID0g
bmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5
LkxlZnRDdXJseUJyYWNlLCBzaG93UHJldmlvdXNUYWIpOwotICAgICAgICB0aGlzLl9zaG93TmV4
dFRhYktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wsIFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5UYWIsIHNob3dOZXh0VGFiKTsKLSAgICAgICAgdGhp
cy5fc2hvd1ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9ydGN1dDIgPSBuZXcgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29u
dHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFiLCBzaG93UHJldmlvdXNUYWIpOwotCi0g
ICAgICAgIHRoaXMuX3Nob3dOZXh0VGFiS2V5Ym9hcmRTaG9ydGN1dDMgPSBuZXcgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZp
ZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVyLlNoaWZ0LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHQsIHRoaXMu
X3Nob3dOZXh0VGFiQ2hlY2tpbmdGb3JFZGl0YWJsZUZpZWxkLmJpbmQodGhpcykpOwotICAgICAg
ICB0aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQzLmltcGxpY2l0bHlQcmV2ZW50c0Rl
ZmF1bHQgPSBmYWxzZTsKLSAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9y
dGN1dDMgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5LZXkuTGVmdCwgdGhpcy5fc2hvd1ByZXZpb3VzVGFiQ2hlY2tpbmdGb3JFZGl0YWJsZUZp
ZWxkLmJpbmQodGhpcykpOwotICAgICAgICB0aGlzLl9zaG93UHJldmlvdXNUYWJLZXlib2FyZFNo
b3J0Y3V0My5pbXBsaWNpdGx5UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7CisgICAgICAgIGxldCBp
c1JUTCA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBXZWJJbnNw
ZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTDsKKworICAgICAgICBsZXQgbmV4dEtleTEgPSBpc1JU
TCA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0Q3VybHlCcmFjZSA6IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodEN1cmx5QnJhY2U7CisgICAgICAg
IGxldCBwcmV2aW91c0tleTEgPSBpc1JUTCA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
LktleS5SaWdodEN1cmx5QnJhY2UgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXku
TGVmdEN1cmx5QnJhY2U7CisKKyAgICAgICAgdGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0
Y3V0MSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIG5leHRLZXkxLCBzaG93TmV4dFRhYik7Cisg
ICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQxID0gbmV3IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5TaGlmdCwgcHJldmlvdXNLZXkxLCBzaG93UHJldmlvdXNUYWIpOworCisgICAgICAg
IGxldCBuZXh0TW9kaWZpZXIyID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5TaGlmdCA6IDA7CisgICAgICAgIGxldCBwcmV2aW91c01vZGlmaWVyMiA9IGlz
UlRMID8gMCA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0Owor
CisgICAgICAgIHRoaXMuX3Nob3dOZXh0VGFiS2V5Ym9hcmRTaG9ydGN1dDIgPSBuZXcgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXIuQ29udHJvbCB8IG5leHRNb2RpZmllcjIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0LktleS5UYWIsIHNob3dOZXh0VGFiKTsKKyAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3VzVGFi
S2V5Ym9hcmRTaG9ydGN1dDIgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCB8IHByZXZpb3VzTW9k
aWZpZXIyLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFiLCBzaG93UHJldmlv
dXNUYWIpOworCisgICAgICAgIHRoaXMuX2xlZnRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQsIHRo
aXMuX3Nob3dQcmV2aW91c1RhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsK
KyAgICAgICAgdGhpcy5fbGVmdEtleWJvYXJkU2hvcnRjdXQuaW1wbGljaXRseVByZXZlbnRzRGVm
YXVsdCA9IGZhbHNlOworICAgICAgICB0aGlzLl9yaWdodEtleWJvYXJkU2hvcnRjdXQgPSBuZXcg
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmln
aHQsIHRoaXMuX3Nob3dOZXh0VGFiQ2hlY2tpbmdGb3JFZGl0YWJsZUZpZWxkLmJpbmQodGhpcykp
OworICAgICAgICB0aGlzLl9yaWdodEtleWJvYXJkU2hvcnRjdXQuaW1wbGljaXRseVByZXZlbnRz
RGVmYXVsdCA9IGZhbHNlOwogCiAgICAgICAgIHRoaXMuX3RhYkJhci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5UYWJCYXIuRXZlbnQuVGFiQmFySXRlbVNlbGVjdGVkLCB0aGlzLl90YWJC
YXJJdGVtU2VsZWN0ZWQsIHRoaXMpOwogICAgICAgICB0aGlzLl90YWJCYXIuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuVGFiQmFyLkV2ZW50LlRhYkJhckl0ZW1BZGRlZCwgdGhpcy5fdGFi
QmFySXRlbUFkZGVkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKaW5kZXggZTMwOWQ0NGQ4NDYzM2Fk
OTVhYzM1YWFhOGU2Y2FmYWE5Yjc2MWUzMi4uZDhmYzhhMWFlNTI0ZDQ2NDZlMjQxMjRiZTc3ZDNh
NDRlNDVhZDRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvVHJlZU91dGxpbmUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvVmlld3MvVHJlZU91dGxpbmUuanMKQEAgLTQ4Miw2ICs0ODIsOCBAQCBXZWJJbnNw
ZWN0b3IuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdlYkluc3BlY3Rv
ci5PYmplY3QKICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQgfHwgZXZlbnQu
c2hpZnRLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5KQogICAgICAgICAgICAg
cmV0dXJuOwogCisgICAgICAgIGxldCBpc1JUTCA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91
dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTDsKKwogICAg
ICAgICB2YXIgaGFuZGxlZCA9IGZhbHNlOwogICAgICAgICB2YXIgbmV4dFNlbGVjdGVkRWxlbWVu
dDsKICAgICAgICAgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJVcCIgJiYgIWV2ZW50LmFs
dEtleSkgewpAQCAtNDk0LDcgKzQ5Niw3IEBAIFdlYkluc3BlY3Rvci5UcmVlT3V0bGluZSA9IGNs
YXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICAgICAg
d2hpbGUgKG5leHRTZWxlY3RlZEVsZW1lbnQgJiYgIW5leHRTZWxlY3RlZEVsZW1lbnQuc2VsZWN0
YWJsZSkKICAgICAgICAgICAgICAgICBuZXh0U2VsZWN0ZWRFbGVtZW50ID0gbmV4dFNlbGVjdGVk
RWxlbWVudC50cmF2ZXJzZU5leHRUcmVlRWxlbWVudCh0cnVlKTsKICAgICAgICAgICAgIGhhbmRs
ZWQgPSBuZXh0U2VsZWN0ZWRFbGVtZW50ID8gdHJ1ZSA6IGZhbHNlOwotICAgICAgICB9IGVsc2Ug
aWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgeworICAgICAgICB9IGVsc2UgaWYg
KCghaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKSB8fCAoaXNSVEwgJiYg
ZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlJpZ2h0IikpIHsKICAgICAgICAgICAgIGlmICh0aGlz
LnNlbGVjdGVkVHJlZUVsZW1lbnQuZXhwYW5kZWQpIHsKICAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuYWx0S2V5KQogICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQu
Y29sbGFwc2VSZWN1cnNpdmVseSgpOwpAQCAtNTExLDcgKzUxMyw3IEBAIFdlYkluc3BlY3Rvci5U
cmVlT3V0bGluZSA9IGNsYXNzIFRyZWVPdXRsaW5lIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVj
dAogICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50LnBh
cmVudCkKICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50LnBhcmVu
dC5jb2xsYXBzZSgpOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgaWYgKGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYm
IGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHx8IChpc1JUTCAmJiBldmVudC5rZXlJ
ZGVudGlmaWVyID09PSAiTGVmdCIpKSB7CiAgICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRU
cmVlRWxlbWVudC5yZXZlYWxlZCgpKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRy
ZWVFbGVtZW50LnJldmVhbCgpOwogICAgICAgICAgICAgICAgIGhhbmRsZWQgPSB0cnVlOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304959</attachid>
            <date>2017-03-20 15:40:28 -0700</date>
            <delta_ts>2017-03-28 18:56:20 -0700</delta_ts>
            <desc>Revised Patch</desc>
            <filename>bug-165761-20170320154027.patch</filename>
            <type>text/plain</type>
            <size>17310</size>
            <attacher name="Blaze Burg">bburg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0MTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
N2Q4MWUyM2M1Yjk5ZDhmZjY1YzMwZTFlYzMwZGQzZTcxNzMxZjJiLi5hY2MwOTM1ODRiNDQzOGVk
MDUxZWRhZWUwN2M3NjJjMzc4NzU5ZDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOCBAQAorMjAxNy0wMy0yMCAgQnJpYW4gQnVyZyAgPGJidXJnQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBSVEw6IGtleWJvYXJkIHNob3J0Y3V0cyB3aXRoIGRpcmVj
dGlvbmFsaXR5IG5lZWQgdG8gYmUgZmxpcHBlZCAoZm9yd2FyZC9iYWNrLCBldGMpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjU3NjEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPcmlnaW5hbCBwYXRjaCBi
eSBEZXZpbiBSb3Vzc28uCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL0NvbnRlbnRC
cm93c2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnRlbnRCcm93c2VyKToKKyAgICAg
ICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RhYkJyb3dzZXIuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGFiQnJvd3Nlcik6CisgICAgICAgIEZsaXAgdGhlIGZ1bmN0aW9uYWxpdHkgb2Yga2V5
Ym9hcmQgc2hvcnRjdXRzIHdoZW4gaW4gUlRMIHNvIHRoYXQgdGhlIGFjdGlvbiBvZgorICAgICAg
ICBwcmVzc2luZyB0aGUgbGVmdCBvciByaWdodCBhcnJvd3MvY3VybHkgYnJhY2VzIG1hdGNoZXMg
d2hhdCBoYXBwZW5zIHdoZW4gdGhlCisgICAgICAgIGNvcnJlc3BvbmRpbmcgbGVmdCBvciByaWdo
dCBidXR0b25zIGFyZSBjbGlja2VkLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9E
YXRhR3JpZC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhR3JpZC5wcm90b3R5cGUuX2tl
eURvd24pOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvTG9nQ29udGVudFZpZXcuanM6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZpZXcucHJvdG90eXBlLl9rZXlEb3du
KToKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVPdXRsaW5lLmpzOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlRyZWVPdXRsaW5lLnByb3RvdHlwZS5fdHJlZUtleURvd24pOgorICAg
ICAgICBGbGlwIHRoZSBMZWZ0IGFuZCBSaWdodCBrZXlib2FyZCBzaG9ydGN1dHMgdG8gZXhwYW5k
L2NvbGxhcHNlIHRoZSBzZWxlY3RlZCBpdGVtIHdoZW4gaW4gUlRMLgorCiAyMDE3LTAzLTE5ICBN
YXR0IEJha2VyICA8bWF0dGJha2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBSRUdSRVNTSU9OIChyMjEyOTEwKTogQWN0aXZlIGNhbGwgZnJhbWUgc3RhdHVzIGljb24gaGFz
IGluY29ycmVjdCBsZWZ0IG1hcmdpbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvQ29udGVudEJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwppbmRleCBkZDU2ODdi
MjVkZWI3MGQ4NTk0OTk2ZTc4YjAzOWQwZTQzMjcwNWRmLi44NTZlODgwMDk0NmM1MDkyMjVkYzNm
YzdkZTkwOThmYTM5NjYwZWY1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Db250ZW50QnJvd3Nlci5qcwpAQCAtMzksMjMgKzM5
LDMwIEBAIFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3NlciA9IGNsYXNzIENvbnRlbnRCcm93c2Vy
IGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgdGhpcy5hZGRTdWJ2aWV3KHRoaXMu
X2NvbnRlbnRWaWV3Q29udGFpbmVyKTsKIAogICAgICAgICBpZiAoIWRpc2FibGVCYWNrRm9yd2Fy
ZCkgewotICAgICAgICAgICAgdGhpcy5fYmFja0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9k
aWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0LCB0
aGlzLl9iYWNrQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpLCB0aGlzLmVsZW1lbnQpOwotICAgICAg
ICAgICAgdGhpcy5fZm9yd2FyZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29t
bWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNv
bnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodCwgdGhpcy5fZm9y
d2FyZEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgdGhpcy5lbGVtZW50KTsKKyAgICAgICAgICAg
IGxldCBpc1JUTCA9IFdlYkluc3BlY3Rvci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBX
ZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0aW9uLlJUTDsKKworICAgICAgICAgICAgbGV0IGdvQmFj
ayA9ICgpID0+IHsgdGhpcy5nb0JhY2soKTsgfTsKKyAgICAgICAgICAgIGxldCBnb0ZvcndhcmQg
PSAoKSA9PiB7IHRoaXMuZ29Gb3J3YXJkKCk7IH07CisKKyAgICAgICAgICAgIGxldCBiYWNrU2hv
cnRjdXRLZXkgPSBpc1JUTCA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdo
dCA6IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0OworICAgICAgICAgICAg
bGV0IGZvcndhcmRTaG9ydGN1dEtleSA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuS2V5LkxlZnQgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHQ7
CisgICAgICAgICAgICB0aGlzLl9iYWNrS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
ci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZp
ZXIuQ29udHJvbCwgYmFja1Nob3J0Y3V0S2V5LCBnb0JhY2ssIHRoaXMuZWxlbWVudCk7CisgICAg
ICAgICAgICB0aGlzLl9mb3J3YXJkS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5D
b21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
Q29udHJvbCwgZm9yd2FyZFNob3J0Y3V0S2V5LCBnb0ZvcndhcmQsIHRoaXMuZWxlbWVudCk7CiAK
ICAgICAgICAgICAgIGxldCBsZWZ0QXJyb3cgPSAiSW1hZ2VzL0JhY2tGb3J3YXJkQXJyb3dzLnN2
ZyNsZWZ0LWFycm93LW1hc2siOwogICAgICAgICAgICAgbGV0IHJpZ2h0QXJyb3cgPSAiSW1hZ2Vz
L0JhY2tGb3J3YXJkQXJyb3dzLnN2ZyNyaWdodC1hcnJvdy1tYXNrIjsKLSAgICAgICAgICAgIGxl
dCBiYWNrQnV0dG9uSW1hZ2UgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24o
KSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEwgPyByaWdodEFycm93IDogbGVm
dEFycm93OwotICAgICAgICAgICAgbGV0IGZvcndhcmRCdXR0b25JbWFnZSA9IFdlYkluc3BlY3Rv
ci5yZXNvbHZlZExheW91dERpcmVjdGlvbigpID09PSBXZWJJbnNwZWN0b3IuTGF5b3V0RGlyZWN0
aW9uLlJUTCA/IGxlZnRBcnJvdyA6IHJpZ2h0QXJyb3c7CisgICAgICAgICAgICBsZXQgYmFja0J1
dHRvbkltYWdlID0gaXNSVEwgPyByaWdodEFycm93IDogbGVmdEFycm93OworICAgICAgICAgICAg
bGV0IGZvcndhcmRCdXR0b25JbWFnZSA9IGlzUlRMID8gbGVmdEFycm93IDogcmlnaHRBcnJvdzsK
IAotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtID0gbmV3IFdlYklu
c3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiYmFjayIsIFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiQmFjayAoJXMpIikuZm9ybWF0KHRoaXMuX2JhY2tLZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlO
YW1lKSwgYmFja0J1dHRvbkltYWdlLCA4LCAxMyk7Ci0gICAgICAgICAgICB0aGlzLl9iYWNrQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2
aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgdGhpcy5fYmFja0J1dHRvbkNsaWNrZWQsIHRoaXMp
OwotICAgICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSBm
YWxzZTsKLSAgICAgICAgICAgIHRoaXMuX25hdmlnYXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0o
dGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtKTsKKyAgICAgICAgICAgIHRoaXMuX2JhY2tO
YXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0oImJh
Y2siLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJhY2sgKCVzKSIpLmZvcm1hdCh0aGlzLl9iYWNr
S2V5Ym9hcmRTaG9ydGN1dC5kaXNwbGF5TmFtZSksIGJhY2tCdXR0b25JbWFnZSwgOCwgMTMpOwor
ICAgICAgICAgICAgdGhpcy5fYmFja05hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIGdvQmFjayk7Cisg
ICAgICAgICAgICB0aGlzLl9iYWNrTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IGZhbHNlOworICAg
ICAgICAgICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9iYWNr
TmF2aWdhdGlvbkl0ZW0pOwogCi0gICAgICAgICAgICB0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdh
dGlvbkl0ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJmb3J3YXJk
IiwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJGb3J3YXJkICglcykiKS5mb3JtYXQodGhpcy5fZm9y
d2FyZEtleWJvYXJkU2hvcnRjdXQuZGlzcGxheU5hbWUpLCBmb3J3YXJkQnV0dG9uSW1hZ2UsIDgs
IDEzKTsKLSAgICAgICAgICAgIHRoaXMuX2ZvcndhcmRCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlj
a2VkLCB0aGlzLl9mb3J3YXJkQnV0dG9uQ2xpY2tlZCwgdGhpcyk7Ci0gICAgICAgICAgICB0aGlz
Ll9mb3J3YXJkQnV0dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IGZhbHNlOwotICAgICAgICAg
ICAgdGhpcy5fbmF2aWdhdGlvbkJhci5hZGROYXZpZ2F0aW9uSXRlbSh0aGlzLl9mb3J3YXJkQnV0
dG9uTmF2aWdhdGlvbkl0ZW0pOworICAgICAgICAgICAgdGhpcy5fZm9yd2FyZE5hdmlnYXRpb25J
dGVtID0gbmV3IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiZm9yd2FyZCIsIFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiRm9yd2FyZCAoJXMpIikuZm9ybWF0KHRoaXMuX2ZvcndhcmRL
ZXlib2FyZFNob3J0Y3V0LmRpc3BsYXlOYW1lKSwgZm9yd2FyZEJ1dHRvbkltYWdlLCA4LCAxMyk7
CisgICAgICAgICAgICB0aGlzLl9mb3J3YXJkTmF2aWdhdGlvbkl0ZW0uYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuQnV0dG9uTmF2aWdhdGlvbkl0ZW0uRXZlbnQuQ2xpY2tlZCwgZ29Gb3J3
YXJkKTsKKyAgICAgICAgICAgIHRoaXMuX2ZvcndhcmROYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0g
ZmFsc2U7CisgICAgICAgICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyLmFkZE5hdmlnYXRpb25JdGVt
KHRoaXMuX2ZvcndhcmROYXZpZ2F0aW9uSXRlbSk7CiAKICAgICAgICAgICAgIHRoaXMuX25hdmln
YXRpb25CYXIuYWRkTmF2aWdhdGlvbkl0ZW0obmV3IFdlYkluc3BlY3Rvci5EaXZpZGVyTmF2aWdh
dGlvbkl0ZW0pOwogICAgICAgICB9CkBAIC0yODIsMTYgKzI4OSw2IEBAIFdlYkluc3BlY3Rvci5D
b250ZW50QnJvd3NlciA9IGNsYXNzIENvbnRlbnRCcm93c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9y
LlZpZXcKIAogICAgIC8vIFByaXZhdGUKIAotICAgIF9iYWNrQnV0dG9uQ2xpY2tlZChldmVudCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuZ29CYWNrKCk7Ci0gICAgfQotCi0gICAgX2ZvcndhcmRCdXR0
b25DbGlja2VkKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5nb0ZvcndhcmQoKTsKLSAgICB9
Ci0KICAgICBfZmluZEJhbm5lckRpZFNob3coZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgY3Vy
cmVudENvbnRlbnRWaWV3ID0gdGhpcy5jdXJyZW50Q29udGVudFZpZXc7CkBAIC0zNjMsMTEgKzM2
MCwxMSBAQCBXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIgPSBjbGFzcyBDb250ZW50QnJvd3Nl
ciBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAKICAgICBfdXBkYXRlQmFja0ZvcndhcmRCdXR0
b25zKCkKICAgICB7Ci0gICAgICAgIGlmICghdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVt
IHx8ICF0aGlzLl9mb3J3YXJkQnV0dG9uTmF2aWdhdGlvbkl0ZW0pCisgICAgICAgIGlmICghdGhp
cy5fYmFja05hdmlnYXRpb25JdGVtIHx8ICF0aGlzLl9mb3J3YXJkTmF2aWdhdGlvbkl0ZW0pCiAg
ICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25J
dGVtLmVuYWJsZWQgPSB0aGlzLmNhbkdvQmFjaygpOwotICAgICAgICB0aGlzLl9mb3J3YXJkQnV0
dG9uTmF2aWdhdGlvbkl0ZW0uZW5hYmxlZCA9IHRoaXMuY2FuR29Gb3J3YXJkKCk7CisgICAgICAg
IHRoaXMuX2JhY2tOYXZpZ2F0aW9uSXRlbS5lbmFibGVkID0gdGhpcy5jYW5Hb0JhY2soKTsKKyAg
ICAgICAgdGhpcy5fZm9yd2FyZE5hdmlnYXRpb25JdGVtLmVuYWJsZWQgPSB0aGlzLmNhbkdvRm9y
d2FyZCgpOwogICAgIH0KIAogICAgIF91cGRhdGVDb250ZW50Vmlld05hdmlnYXRpb25JdGVtcygp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9E
YXRhR3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0Rh
dGFHcmlkLmpzCmluZGV4IDRlODAzYjQ2ZGE4YWZjYWVmMGY0NzRhYTQ2NjA5Y2UzZWU1YzIyZTMu
LjRmYzgxYWQzNzg1MzIyMTVmM2FiMmM0NzkyNmRjMTg4YTlkZGZmY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RhdGFHcmlkLmpzCkBA
IC0xMzY4LDYgKzEzNjgsOCBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3Jp
ZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZE5v
ZGUgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQubWV0YUtleSB8fCBldmVudC5jdHJsS2V5IHx8
IHRoaXMuX2VkaXRpbmcpCiAgICAgICAgICAgICByZXR1cm47CiAKKyAgICAgICAgbGV0IGlzUlRM
ID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rv
ci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAgICAgIHZhciBoYW5kbGVkID0gZmFsc2U7CiAg
ICAgICAgIHZhciBuZXh0U2VsZWN0ZWROb2RlOwogICAgICAgICBpZiAoZXZlbnQua2V5SWRlbnRp
ZmllciA9PT0gIlVwIiAmJiAhZXZlbnQuYWx0S2V5KSB7CkBAIC0xMzgwLDcgKzEzODIsNyBAQCBX
ZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFzcyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rv
ci5WaWV3CiAgICAgICAgICAgICB3aGlsZSAobmV4dFNlbGVjdGVkTm9kZSAmJiAhbmV4dFNlbGVj
dGVkTm9kZS5zZWxlY3RhYmxlKQogICAgICAgICAgICAgICAgIG5leHRTZWxlY3RlZE5vZGUgPSBu
ZXh0U2VsZWN0ZWROb2RlLnRyYXZlcnNlTmV4dE5vZGUodHJ1ZSk7CiAgICAgICAgICAgICBoYW5k
bGVkID0gbmV4dFNlbGVjdGVkTm9kZSA/IHRydWUgOiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlm
IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVmdCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgo
IWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5z
ZWxlY3RlZE5vZGUuZXhwYW5kZWQpIHsKICAgICAgICAgICAgICAgICBpZiAoZXZlbnQuYWx0S2V5
KQogICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTm9kZS5jb2xsYXBzZVJlY3Vyc2l2
ZWx5KCk7CkBAIC0xMzk1LDcgKzEzOTcsNyBAQCBXZWJJbnNwZWN0b3IuRGF0YUdyaWQgPSBjbGFz
cyBEYXRhR3JpZCBleHRlbmRzIFdlYkluc3BlY3Rvci5WaWV3CiAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmICh0aGlzLnNlbGVjdGVkTm9kZS5wYXJlbnQpCiAgICAgICAgICAgICAgICAgICAgIHRo
aXMuc2VsZWN0ZWROb2RlLnBhcmVudC5jb2xsYXBzZSgpOwogICAgICAgICAgICAgfQotICAgICAg
ICB9IGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHsKKyAgICAgICAg
fSBlbHNlIGlmICgoIWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpIHx8
IChpc1JUTCAmJiBldmVudC5rZXlJZGVudGlmaWVyID09PSAiTGVmdCIpKSB7CiAgICAgICAgICAg
ICBpZiAoIXRoaXMuc2VsZWN0ZWROb2RlLnJldmVhbGVkKSB7CiAgICAgICAgICAgICAgICAgdGhp
cy5zZWxlY3RlZE5vZGUucmV2ZWFsKCk7CiAgICAgICAgICAgICAgICAgaGFuZGxlZCA9IHRydWU7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9M
b2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDNkZDAxZGI4MTNmOTZhYjZkMjMyYWQ4ODFkMWMw
MzI1NTM3YWU5Y2IuLjFjN2U1ZWZlYTg4ZThjNGU0OWE4YjU4MzZiYjgxNjMxZDdiNzEwYzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0xvZ0Nv
bnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC03MzcsNiArNzM3LDggQEAgV2ViSW5zcGVjdG9yLkxv
Z0NvbnRlbnRWaWV3ID0gY2xhc3MgTG9nQ29udGVudFZpZXcgZXh0ZW5kcyBXZWJJbnNwZWN0b3Iu
Q29udGVudFYKIAogICAgIF9rZXlEb3duKGV2ZW50KQogICAgIHsKKyAgICAgICAgbGV0IGlzUlRM
ID0gV2ViSW5zcGVjdG9yLnJlc29sdmVkTGF5b3V0RGlyZWN0aW9uKCkgPT09IFdlYkluc3BlY3Rv
ci5MYXlvdXREaXJlY3Rpb24uUlRMOworCiAgICAgICAgIGlmICh0aGlzLl9rZXlib2FyZFNob3J0
Y3V0Q29tbWFuZEEubWF0Y2hlc0V2ZW50KGV2ZW50KSkKICAgICAgICAgICAgIHRoaXMuX2NvbW1h
bmRBV2FzUHJlc3NlZChldmVudCk7CiAgICAgICAgIGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkU2hv
cnRjdXRFc2MubWF0Y2hlc0V2ZW50KGV2ZW50KSkKQEAgLTc0NSw5ICs3NDcsOSBAQCBXZWJJbnNw
ZWN0b3IuTG9nQ29udGVudFZpZXcgPSBjbGFzcyBMb2dDb250ZW50VmlldyBleHRlbmRzIFdlYklu
c3BlY3Rvci5Db250ZW50VgogICAgICAgICAgICAgdGhpcy5fdXBBcnJvd1dhc1ByZXNzZWQoZXZl
bnQpOwogICAgICAgICBlbHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09PSAiRG93biIpCiAg
ICAgICAgICAgICB0aGlzLl9kb3duQXJyb3dXYXNQcmVzc2VkKGV2ZW50KTsKLSAgICAgICAgZWxz
ZSBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIkxlZnQiKQorICAgICAgICBlbHNlIGlmICgo
IWlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJSaWdodCIpKQogICAgICAgICAgICAgdGhpcy5fbGVmdEFy
cm93V2FzUHJlc3NlZChldmVudCk7Ci0gICAgICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZp
ZXIgPT09ICJSaWdodCIpCisgICAgICAgIGVsc2UgaWYgKCghaXNSVEwgJiYgZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIlJpZ2h0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50aWZpZXIgPT09
ICJMZWZ0IikpCiAgICAgICAgICAgICB0aGlzLl9yaWdodEFycm93V2FzUHJlc3NlZChldmVudCk7
CiAgICAgICAgIGVsc2UgaWYgKGV2ZW50LmtleUlkZW50aWZpZXIgPT09ICJFbnRlciIgJiYgZXZl
bnQubWV0YUtleSkKICAgICAgICAgICAgIHRoaXMuX2NvbW1hbmRFbnRlcldhc1ByZXNzZWQoZXZl
bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvVGFiQnJvd3Nlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RhYkJyb3dzZXIuanMKaW5kZXggN2ZlN2EyYTNiOGUwMWE0ZWE3NzZlOGIyMjY0YzcwZDIz
Mzc2MDRkYy4uYWIxOWQ2NGQ5N2UxNTNhM2I1YzA3YzFmYzU5YTNjNjVjMmNkZDU5MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvVGFiQnJvd3Nl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UYWJC
cm93c2VyLmpzCkBAIC01NCwxNSArNTQsMjYgQEAgV2ViSW5zcGVjdG9yLlRhYkJyb3dzZXIgPSBj
bGFzcyBUYWJCcm93c2VyIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlZpZXcKICAgICAgICAgbGV0IHNo
b3dOZXh0VGFiID0gKCkgPT4geyB0aGlzLl9zaG93TmV4dFRhYigpOyB9OwogICAgICAgICBsZXQg
c2hvd1ByZXZpb3VzVGFiID0gKCkgPT4geyB0aGlzLl9zaG93UHJldmlvdXNUYWIoKTsgfTsKIAot
ICAgICAgICB0aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQxID0gbmV3IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2Rp
Zmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0Q3VybHlC
cmFjZSwgc2hvd05leHRUYWIpOwotICAgICAgICB0aGlzLl9zaG93UHJldmlvdXNUYWJLZXlib2Fy
ZFNob3J0Y3V0MSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0LktleS5MZWZ0Q3VybHlCcmFjZSwgc2hvd1ByZXZpb3VzVGFiKTsKLSAgICAgICAg
dGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0Y3V0MiA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250
cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFiLCBzaG93TmV4dFRhYik7
Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
ci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlRhYiwgc2hvd1ByZXZp
b3VzVGFiKTsKLQotICAgICAgICB0aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQzID0g
bmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5
LlJpZ2h0LCB0aGlzLl9zaG93TmV4dFRhYkNoZWNraW5nRm9yRWRpdGFibGVGaWVsZC5iaW5kKHRo
aXMpKTsKLSAgICAgICAgdGhpcy5fc2hvd05leHRUYWJLZXlib2FyZFNob3J0Y3V0My5pbXBsaWNp
dGx5UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7Ci0gICAgICAgIHRoaXMuX3Nob3dQcmV2aW91c1Rh
YktleWJvYXJkU2hvcnRjdXQzID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQsIHRoaXMuX3Nob3dQcmV2aW91c1RhYkNoZWNraW5n
Rm9yRWRpdGFibGVGaWVsZC5iaW5kKHRoaXMpKTsKLSAgICAgICAgdGhpcy5fc2hvd1ByZXZpb3Vz
VGFiS2V5Ym9hcmRTaG9ydGN1dDMuaW1wbGljaXRseVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOwor
ICAgICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24o
KSA9PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEw7CisKKyAgICAgICAgbGV0IG5l
eHRLZXkxID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuTGVmdEN1
cmx5QnJhY2UgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHRDdXJseUJy
YWNlOworICAgICAgICBsZXQgcHJldmlvdXNLZXkxID0gaXNSVEwgPyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHRDdXJseUJyYWNlIDogV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuS2V5LkxlZnRDdXJseUJyYWNlOworCisgICAgICAgIHRoaXMuX3Nob3dOZXh0VGFi
S2V5Ym9hcmRTaG9ydGN1dDEgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCBuZXh0S2V5MSwgc2hv
d05leHRUYWIpOworICAgICAgICB0aGlzLl9zaG93UHJldmlvdXNUYWJLZXlib2FyZFNob3J0Y3V0
MSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIHByZXZpb3VzS2V5MSwgc2hvd1ByZXZpb3VzVGFi
KTsKKworICAgICAgICBsZXQgbmV4dE1vZGlmaWVyMiA9IGlzUlRMID8gV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQgOiAwOworICAgICAgICBsZXQgcHJldmlvdXNN
b2RpZmllcjIgPSBpc1JUTCA/IDAgOiBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2Rp
Zmllci5TaGlmdDsKKworICAgICAgICB0aGlzLl9zaG93TmV4dFRhYktleWJvYXJkU2hvcnRjdXQy
ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBuZXh0TW9kaWZpZXIyLCBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5LZXkuVGFiLCBzaG93TmV4dFRhYik7CisgICAgICAgIHRoaXMuX3No
b3dQcmV2aW91c1RhYktleWJvYXJkU2hvcnRjdXQyID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wg
fCBwcmV2aW91c01vZGlmaWVyMiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlRh
Yiwgc2hvd1ByZXZpb3VzVGFiKTsKKworICAgICAgICBsZXQgcHJldmlvdXNUYWJLZXkgPSBpc1JU
TCA/IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodCA6IFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0OworICAgICAgICBsZXQgbmV4dFRhYktleSA9IGlz
UlRMID8gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkxlZnQgOiBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHQ7CisgICAgICAgIHRoaXMuX3ByZXZpb3VzVGFi
S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsIHByZXZpb3VzVGFiS2V5
LCB0aGlzLl9zaG93UHJldmlvdXNUYWJDaGVja2luZ0ZvckVkaXRhYmxlRmllbGQuYmluZCh0aGlz
KSk7CisgICAgICAgIHRoaXMuX3ByZXZpb3VzVGFiS2V5Ym9hcmRTaG9ydGN1dC5pbXBsaWNpdGx5
UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7CisgICAgICAgIHRoaXMuX25leHRUYWJLZXlib2FyZFNo
b3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgbmV4dFRhYktleSwgdGhpcy5fc2hvd05l
eHRUYWJDaGVja2luZ0ZvckVkaXRhYmxlRmllbGQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMu
X25leHRUYWJLZXlib2FyZFNob3J0Y3V0LmltcGxpY2l0bHlQcmV2ZW50c0RlZmF1bHQgPSBmYWxz
ZTsKIAogICAgICAgICB0aGlzLl90YWJCYXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3Iu
VGFiQmFyLkV2ZW50LlRhYkJhckl0ZW1TZWxlY3RlZCwgdGhpcy5fdGFiQmFySXRlbVNlbGVjdGVk
LCB0aGlzKTsKICAgICAgICAgdGhpcy5fdGFiQmFyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlRhYkJhci5FdmVudC5UYWJCYXJJdGVtQWRkZWQsIHRoaXMuX3RhYkJhckl0ZW1BZGRlZCwg
dGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9UcmVlT3V0bGluZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL1RyZWVPdXRsaW5lLmpzCmluZGV4IGUzMDlkNDRkODQ2MzNhZDk1YWMzNWFhYThlNmNh
ZmFhOWI3NjFlMzIuLmQ4ZmM4YTFhZTUyNGQ0NjQ2ZTI0MTI0YmU3N2QzYTQ0ZTQ1YWQ0ZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RyZWVP
dXRsaW5lLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdz
L1RyZWVPdXRsaW5lLmpzCkBAIC00ODIsNiArNDgyLDggQEAgV2ViSW5zcGVjdG9yLlRyZWVPdXRs
aW5lID0gY2xhc3MgVHJlZU91dGxpbmUgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAg
ICAgIGlmICghdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50IHx8IGV2ZW50LnNoaWZ0S2V5IHx8IGV2
ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSkKICAgICAgICAgICAgIHJldHVybjsKIAorICAg
ICAgICBsZXQgaXNSVEwgPSBXZWJJbnNwZWN0b3IucmVzb2x2ZWRMYXlvdXREaXJlY3Rpb24oKSA9
PT0gV2ViSW5zcGVjdG9yLkxheW91dERpcmVjdGlvbi5SVEw7CisKICAgICAgICAgdmFyIGhhbmRs
ZWQgPSBmYWxzZTsKICAgICAgICAgdmFyIG5leHRTZWxlY3RlZEVsZW1lbnQ7CiAgICAgICAgIGlm
IChldmVudC5rZXlJZGVudGlmaWVyID09PSAiVXAiICYmICFldmVudC5hbHRLZXkpIHsKQEAgLTQ5
NCw3ICs0OTYsNyBAQCBXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmUgPSBjbGFzcyBUcmVlT3V0bGlu
ZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAgIHdoaWxlIChuZXh0U2Vs
ZWN0ZWRFbGVtZW50ICYmICFuZXh0U2VsZWN0ZWRFbGVtZW50LnNlbGVjdGFibGUpCiAgICAgICAg
ICAgICAgICAgbmV4dFNlbGVjdGVkRWxlbWVudCA9IG5leHRTZWxlY3RlZEVsZW1lbnQudHJhdmVy
c2VOZXh0VHJlZUVsZW1lbnQodHJ1ZSk7CiAgICAgICAgICAgICBoYW5kbGVkID0gbmV4dFNlbGVj
dGVkRWxlbWVudCA/IHRydWUgOiBmYWxzZTsKLSAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlJ
ZGVudGlmaWVyID09PSAiTGVmdCIpIHsKKyAgICAgICAgfSBlbHNlIGlmICgoIWlzUlRMICYmIGV2
ZW50LmtleUlkZW50aWZpZXIgPT09ICJMZWZ0IikgfHwgKGlzUlRMICYmIGV2ZW50LmtleUlkZW50
aWZpZXIgPT09ICJSaWdodCIpKSB7CiAgICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFRyZWVF
bGVtZW50LmV4cGFuZGVkKSB7CiAgICAgICAgICAgICAgICAgaWYgKGV2ZW50LmFsdEtleSkKICAg
ICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRyZWVFbGVtZW50LmNvbGxhcHNlUmVjdXJz
aXZlbHkoKTsKQEAgLTUxMSw3ICs1MTMsNyBAQCBXZWJJbnNwZWN0b3IuVHJlZU91dGxpbmUgPSBj
bGFzcyBUcmVlT3V0bGluZSBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplY3QKICAgICAgICAgICAg
ICAgICB9IGVsc2UgaWYgKHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5wYXJlbnQpCiAgICAgICAg
ICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5wYXJlbnQuY29sbGFwc2UoKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChldmVudC5rZXlJZGVudGlmaWVyID09
PSAiUmlnaHQiKSB7CisgICAgICAgIH0gZWxzZSBpZiAoKCFpc1JUTCAmJiBldmVudC5rZXlJZGVu
dGlmaWVyID09PSAiUmlnaHQiKSB8fCAoaXNSVEwgJiYgZXZlbnQua2V5SWRlbnRpZmllciA9PT0g
IkxlZnQiKSkgewogICAgICAgICAgICAgaWYgKCF0aGlzLnNlbGVjdGVkVHJlZUVsZW1lbnQucmV2
ZWFsZWQoKSkgewogICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUcmVlRWxlbWVudC5yZXZl
YWwoKTsKICAgICAgICAgICAgICAgICBoYW5kbGVkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>