<?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>120657</bug_id>
          
          <creation_ts>2013-09-03 18:35:50 -0700</creation_ts>
          <short_desc>Web Inspector: Fix keyboard shortcuts for other platforms</short_desc>
          <delta_ts>2013-09-20 14:20:35 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <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>118676</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Marcelo Morais">m.morais</reporter>
          <assigned_to name="Marcelo Morais">m.morais</assigned_to>
          <cc>andre.vl</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>rtakacs</cc>
    
    <cc>timothy</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>924233</commentid>
    <comment_count>0</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-03 18:35:50 -0700</bug_when>
    <thetext>The New Web Inspector is arriving in other platforms (Windows, EFL,GTK,...) and the keyboard shortcuts need to be updated to work in these environments because today they are tuned to OS X with ⌘ (Command) key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>924234</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-03 18:36:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/14903833&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928484</commentid>
    <comment_count>2</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-12 14:04:01 -0700</bug_when>
    <thetext>It would be nice to make this automatic so we don&apos;t need to declare multiple shortcuts per platform. Something like Command key auto-maps to Control on non-Mac platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928496</commentid>
    <comment_count>3</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-09-12 14:40:08 -0700</bug_when>
    <thetext>Yea, I was thinking of WebInspector.KeyboardShortcut.Modifier.CommandOrControl which does expected per platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928538</commentid>
    <comment_count>4</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-12 15:49:59 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; Yea, I was thinking of WebInspector.KeyboardShortcut.Modifier.CommandOrControl which does expected per platform.

That&apos;s what I want to do, I put EFL specifc in the bug because it need some work on MiniBrowser(WK2) and EWebLauncher(WK2) too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>928543</commentid>
    <comment_count>5</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-12 15:58:18 -0700</bug_when>
    <thetext>Sorry, I mean that I am working on EFL browsers too, to test this first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>930951</commentid>
    <comment_count>6</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-19 07:54:10 -0700</bug_when>
    <thetext>Hello,

In Source/WebInspectorUI/UserInterface/ContentBrowser.js we have this:

...

if (!disableBackForward) {
        this._backKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Command | WebInspector.KeyboardShortcut.Modifier.Control, WebInspector.KeyboardShortcut.Key.Left, this._backButtonClicked.bind(this));
        this._forwardKeyboardShortcut = new WebInspector.KeyboardShortcut(WebInspector.KeyboardShortcut.Modifier.Command | WebInspector.KeyboardShortcut.Modifier.Control, WebInspector.KeyboardShortcut.Key.Right, this._forwardButtonClicked.bind(this));

...

How could we move this to non-Mac platforms?

I would like some suggestions. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931013</commentid>
    <comment_count>7</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-09-19 10:58:57 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; How could we move this to non-Mac platforms?
&gt; 
&gt; I would like some suggestions. :)

The earlier comment was a suggestion!

For systems that want to use Control instead of Command we can add &quot;WebInspector.KeyboardShortcut.Modifier.CommandOrControl&quot; and map that value to the appropriate value (&quot;Command&quot; or &quot;Control&quot;) for the platform that is running the frontend (InspectorFrontendHost.platform()).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931019</commentid>
    <comment_count>8</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-19 11:12:25 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; How could we move this to non-Mac platforms?
&gt; &gt; 
&gt; &gt; I would like some suggestions. :)
&gt; 
&gt; The earlier comment was a suggestion!
&gt; 
&gt; For systems that want to use Control instead of Command we can add &quot;WebInspector.KeyboardShortcut.Modifier.CommandOrControl&quot; and map that value to the appropriate value (&quot;Command&quot; or &quot;Control&quot;) for the platform that is running the frontend (InspectorFrontendHost.platform()).

Hi Joseph, I am already following your suggestion :)

I mean suggestions for these specific shortcuts:

Command + Control + left 
and
Command + Control + right


How could we map this to non-Mac platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931026</commentid>
    <comment_count>9</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-19 11:27:15 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; How could we move this to non-Mac platforms?
&gt; &gt; &gt; 
&gt; &gt; &gt; I would like some suggestions. :)
&gt; &gt; 
&gt; &gt; The earlier comment was a suggestion!
&gt; &gt; 
&gt; &gt; For systems that want to use Control instead of Command we can add &quot;WebInspector.KeyboardShortcut.Modifier.CommandOrControl&quot; and map that value to the appropriate value (&quot;Command&quot; or &quot;Control&quot;) for the platform that is running the frontend (InspectorFrontendHost.platform()).
&gt; 
&gt; Hi Joseph, I am already following your suggestion :)
&gt; 
&gt; I mean suggestions for these specific shortcuts:
&gt; 
&gt; Command + Control + left 
&gt; and
&gt; Command + Control + right
&gt; 
&gt; 
&gt; How could we map this to non-Mac platforms?

I would just do:

WebInspector.KeyboardShortcut.Modifier.CommandOrControl | WebInspector.KeyboardShortcut.Modifier.Control, WebInspector.KeyboardShortcut.Key.Left

Then ignore WebInspector.KeyboardShortcut.Modifier.Control if WebInspector.KeyboardShortcut.Modifier.CommandOrControl becomes Control.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931514</commentid>
    <comment_count>10</comment_count>
      <attachid>212204</attachid>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-20 12:19:41 -0700</bug_when>
    <thetext>Created attachment 212204
Patch

I followed Timothy&apos;s suggestions for the case above.

It works! :)

Tested the patch on Mac and Linux.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931530</commentid>
    <comment_count>11</comment_count>
      <attachid>212204</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-20 12:43:31 -0700</bug_when>
    <thetext>Comment on attachment 212204
Patch

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

&gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt; +        return (InspectorFrontendHost.platform() === &quot;mac&quot;) ? this.Command : this.Control;

No need for the ().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931536</commentid>
    <comment_count>12</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-20 12:54:05 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; (From update of attachment 212204 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=212204&amp;action=review
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt; &gt; +        return (InspectorFrontendHost.platform() === &quot;mac&quot;) ? this.Command : this.Control;
&gt; 
&gt; No need for the ().

Thanks for the reviewing, should I remove this () then? I can do it quickly :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931546</commentid>
    <comment_count>13</comment_count>
      <attachid>212204</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-20 13:17:35 -0700</bug_when>
    <thetext>Comment on attachment 212204
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt;&gt;&gt; +        return (InspectorFrontendHost.platform() === &quot;mac&quot;) ? this.Command : this.Control;
&gt;&gt; 
&gt;&gt; No need for the ().
&gt; 
&gt; Thanks for the reviewing, should I remove this () then? I can do it quickly :)

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931547</commentid>
    <comment_count>14</comment_count>
      <attachid>212204</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-20 13:17:36 -0700</bug_when>
    <thetext>Comment on attachment 212204
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt;&gt;&gt; +        return (InspectorFrontendHost.platform() === &quot;mac&quot;) ? this.Command : this.Control;
&gt;&gt; 
&gt;&gt; No need for the ().
&gt; 
&gt; Thanks for the reviewing, should I remove this () then? I can do it quickly :)

Sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931549</commentid>
    <comment_count>15</comment_count>
      <attachid>212204</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-09-20 13:19:15 -0700</bug_when>
    <thetext>Comment on attachment 212204
Patch

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt;&gt;&gt; +        return (InspectorFrontendHost.platform() === &quot;mac&quot;) ? this.Command : this.Control;
&gt;&gt; 
&gt;&gt; No need for the ().
&gt; 
&gt; Thanks for the reviewing, should I remove this () then? I can do it quickly :)

I don&apos;t think we want to run this getter every time someone uses CommandOrControl. I suggest we just set it once. The IFH.platform() is not going to change. How about:

    WebInspector.KeyboardShortcut.Modifier = {
        …
    };
    WebInspector.KeyboardShortcut.Modifier.CommandOrControl = InspectorFrontendHost.platform() === &quot;mac&quot; ? WebInspector.KeyboardShortcut.Modifier.Command : WebInspector.KeyboardShortcut.Modifier.Control;

This only does the work once, ever, and should have the same result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931550</commentid>
    <comment_count>16</comment_count>
      <attachid>212213</attachid>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-20 13:19:32 -0700</bug_when>
    <thetext>Created attachment 212213
patch

Removed () like Timothy said above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931584</commentid>
    <comment_count>17</comment_count>
      <attachid>212213</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-09-20 14:17:04 -0700</bug_when>
    <thetext>Comment on attachment 212213
patch

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

I fixed this issues and landed as http://trac.webkit.org/changeset/156198.

&gt; Source/WebInspectorUI/ChangeLog:3
&gt; +2013-09-20  Marcelo Morais  &lt;m.morais@samsung.com&gt;
&gt; +
&gt; +        2013-09-19  Marcelo Morais  &lt;m.morais@samsung.com&gt;

Should be only one header and not double indented.

&gt; Source/WebInspectorUI/UserInterface/InspectorFrontendHostStub.js:147
&gt; +            var os = (navigator.platform.match(/mac|win|linux/i) || [&quot;other&quot;])[0].toLowerCase();
&gt; +            return os;

Can be one line.

&gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt; +        return (InspectorFrontendHost.platform === &quot;mac&quot;) ? this.Command : this.Control;

platform is a function not a getter. So this is comparing the function as a string to &quot;mac&quot; which will always be false. This should be platform(). Also the () is still there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>931586</commentid>
    <comment_count>18</comment_count>
    <who name="Marcelo Morais">m.morais</who>
    <bug_when>2013-09-20 14:20:35 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; (From update of attachment 212213 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=212213&amp;action=review
&gt; 
&gt; I fixed this issues and landed as http://trac.webkit.org/changeset/156198.
&gt; 
&gt; &gt; Source/WebInspectorUI/ChangeLog:3
&gt; &gt; +2013-09-20  Marcelo Morais  &lt;m.morais@samsung.com&gt;
&gt; &gt; +
&gt; &gt; +        2013-09-19  Marcelo Morais  &lt;m.morais@samsung.com&gt;
&gt; 
&gt; Should be only one header and not double indented.
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/InspectorFrontendHostStub.js:147
&gt; &gt; +            var os = (navigator.platform.match(/mac|win|linux/i) || [&quot;other&quot;])[0].toLowerCase();
&gt; &gt; +            return os;
&gt; 
&gt; Can be one line.
&gt; 
&gt; &gt; Source/WebInspectorUI/UserInterface/KeyboardShortcut.js:96
&gt; &gt; +        return (InspectorFrontendHost.platform === &quot;mac&quot;) ? this.Command : this.Control;
&gt; 
&gt; platform is a function not a getter. So this is comparing the function as a string to &quot;mac&quot; which will always be false. This should be platform(). Also the () is still there.

Thanks Timothy! :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212204</attachid>
            <date>2013-09-20 12:19:41 -0700</date>
            <delta_ts>2013-09-20 13:19:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Web-Inspector-Fix-keyboard-shortcuts-for-other-platf.patch</filename>
            <type>text/plain</type>
            <size>22994</size>
            <attacher name="Marcelo Morais">m.morais</attacher>
            
              <data encoding="base64">RnJvbSAwZjliNDdkNDg2NTNiODRmN2FhMDk3YTU0NWU0YWQ5YWUxZDc0MzIxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjZWxvIE1vcmFpcyA8bS5tb3JhaXNAc2Ftc3VuZy5jb20+
CkRhdGU6IFRodSwgMTkgU2VwIDIwMTMgMTY6MzQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIXSAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCBrZXlib2FyZCBzaG9ydGN1dHMgZm9yIG90aGVyCiBw
bGF0Zm9ybXMgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIwNjU3CgogICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKICAgICAgICBIYW5k
bGluZyBrZXlib2FyZCBzaG9ydGN1dHMgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBsYXRmb3Jt
LgoKICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczoK
ICAgICAgICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlw
ZS5sb2FkUmVzb3VyY2VTeW5jaHJvbm91c2x5KToKICAgICAgICAoLldlYkluc3BlY3Rvci5JbnNw
ZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZS5wbGF0Zm9ybSk6IEFkZGVkLiBSZXR1cm4g
dGhlCiAgICAgICAgY3VycmVudCBwbGF0Zm9ybS4KICAgICAgICAqIFVzZXJJbnRlcmZhY2UvS2V5
Ym9hcmRTaG9ydGN1dC5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXIuZ2V0IENvbW1hbmRPckNvbnRyb2wpOiBBZGRlZC4gQ3JlYXRlZCBrZXlib2FyZAog
ICAgICAgIG1vZGlmaWVyIHRvIHJldHVybiBDb250cm9sIG9yIENvbW1hbmQga2V5IGFjY29yZGlu
ZyB0byBjdXJyZW50IHBsYXRmb3JtLgogICAgICAgICogVXNlckludGVyZmFjZS9Db250ZW50QnJv
d3Nlci5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLkNvbnRlbnRCcm93c2VyKTogUmV0dXJuaW5n
IENvbnRyb2wgb3IgQ29tbWFuZCBrZXkgZm9yIGtleWJvYXJkCiAgICAgICAgc2hvcnRjdXRzIGFj
Y29yZGluZyB0byBjdXJyZW50IHBsYXRmb3JtLgogICAgICAgICogVXNlckludGVyZmFjZS9EZWJ1
Z2dlclNpZGViYXJQYW5lbC5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLkRlYnVnZ2VyU2lkZWJh
clBhbmVsKTogRGl0dG8uCiAgICAgICAgKiBVc2VySW50ZXJmYWNlL0ZpbmRCYW5uZXIuanM6CiAg
ICAgICAgKFdlYkluc3BlY3Rvci5GaW5kQmFubmVyKTogRGl0dG8uCiAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qczoKICAgICAgICAoV2ViSW5zcGVj
dG9yLkphdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlcik6IERpdHRvLgogICAgICAgICogVXNlcklu
dGVyZmFjZS9Mb2dDb250ZW50Vmlldy5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLkxvZ0NvbnRl
bnRWaWV3KTogRGl0dG8uCiAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uanM6CiAgICAgICAg
KFdlYkluc3BlY3Rvci5jb250ZW50TG9hZGVkKTogRGl0dG8uCiAgICAgICAgKiBVc2VySW50ZXJm
YWNlL1Jlc291cmNlU2lkZWJhclBhbmVsLmpzOgogICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VTaWRlYmFyUGFuZWwpOiBEaXR0by4KLS0tCiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysKIC4uLi9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRlbnRCcm93c2VyLmpzIHwgMTAgKysrLS0t
LQogLi4uL1VzZXJJbnRlcmZhY2UvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMgICAgICAgICAgfCAx
MCArKystLS0tCiBTb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9GaW5kQmFubmVy
LmpzICB8ICA2ICsrLS0KIC4uLi9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250ZW5kSG9zdFN0
dWIuanMgICAgIHwgIDYgKysrKwogLi4uL1VzZXJJbnRlcmZhY2UvSmF2YVNjcmlwdExvZ1ZpZXdD
b250cm9sbGVyLmpzICAgfCAxNCArKysrLS0tLS0KIC4uLi9Vc2VySW50ZXJmYWNlL0tleWJvYXJk
U2hvcnRjdXQuanMgICAgICAgICAgICAgIHwgIDcgKysrKy0KIC4uLi9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0xvZ0NvbnRlbnRWaWV3LmpzIHwgIDIgKy0KIFNvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uanMgICAgICAgIHwgMTAgKysrLS0tLQogLi4uL1VzZXJJ
bnRlcmZhY2UvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMgICAgICAgICAgfCAgMiArLQogMTAgZmls
ZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKaW5kZXggMGM0ZWM1ZS4uZDQ2MmEyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTMtMDktMjAgIE1hcmNlbG8gTW9yYWlzICA8bS5tb3Jh
aXNAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgMjAxMy0wOS0xOSAgTWFyY2VsbyBNb3JhaXMgIDxt
Lm1vcmFpc0BzYW1zdW5nLmNvbT4KKworICAgICAgICAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZp
eCBrZXlib2FyZCBzaG9ydGN1dHMgZm9yIG90aGVyIHBsYXRmb3JtcworICAgICAgICAgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjA2NTcKKworICAgICAg
ICAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICAgICAgICAg
SGFuZGxpbmcga2V5Ym9hcmQgc2hvcnRjdXRzIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwbGF0
Zm9ybS4KKworICAgICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JGcm9udGVu
ZEhvc3RTdHViLmpzOgorICAgICAgICAgICAgICAgICguV2ViSW5zcGVjdG9yLkluc3BlY3RvckZy
b250ZW5kSG9zdFN0dWIucHJvdG90eXBlLmxvYWRSZXNvdXJjZVN5bmNocm9ub3VzbHkpOgorICAg
ICAgICAgICAgICAgICguV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJv
dG90eXBlLnBsYXRmb3JtKTogQWRkZWQuIFJldHVybiB0aGUKKyAgICAgICAgICAgICAgICBjdXJy
ZW50IHBsYXRmb3JtLgorICAgICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9LZXlib2FyZFNo
b3J0Y3V0LmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5nZXQgQ29tbWFuZE9yQ29udHJvbCk6IEFkZGVkLiBDcmVhdGVkIGtleWJvYXJk
CisgICAgICAgICAgICAgICAgbW9kaWZpZXIgdG8gcmV0dXJuIENvbnRyb2wgb3IgQ29tbWFuZCBr
ZXkgYWNjb3JkaW5nIHRvIGN1cnJlbnQgcGxhdGZvcm0uCisgICAgICAgICAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0NvbnRlbnRCcm93c2VyLmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29udGVudEJyb3dzZXIpOiBSZXR1cm5pbmcgQ29udHJvbCBvciBDb21tYW5kIGtleSBmb3Ig
a2V5Ym9hcmQKKyAgICAgICAgICAgICAgICBzaG9ydGN1dHMgYWNjb3JkaW5nIHRvIGN1cnJlbnQg
cGxhdGZvcm0uCisgICAgICAgICAgICAgICAgKiBVc2VySW50ZXJmYWNlL0RlYnVnZ2VyU2lkZWJh
clBhbmVsLmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuRGVidWdnZXJTaWRlYmFy
UGFuZWwpOiBEaXR0by4KKyAgICAgICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRmluZEJhbm5l
ci5qczoKKyAgICAgICAgICAgICAgICAoV2ViSW5zcGVjdG9yLkZpbmRCYW5uZXIpOiBEaXR0by4K
KyAgICAgICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9s
bGVyLmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdExvZ1ZpZXdD
b250cm9sbGVyKTogRGl0dG8uCisgICAgICAgICAgICAgICAgKiBVc2VySW50ZXJmYWNlL0xvZ0Nv
bnRlbnRWaWV3LmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuTG9nQ29udGVudFZp
ZXcpOiBEaXR0by4KKyAgICAgICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTWFpbi5qczoKKyAg
ICAgICAgICAgICAgICAoV2ViSW5zcGVjdG9yLmNvbnRlbnRMb2FkZWQpOiBEaXR0by4KKyAgICAg
ICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanM6CisgICAg
ICAgICAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCk6IERpdHRvLgor
CiAyMDEzLTA5LTIwICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtXaW5kb3dzXSBVbnJldmlld2VkIGdhcmRlbmluZy4gVGVhY2ggV2ViSW5zcGVjdG9yVUku
dmN4cHJvaiBmb2xkZXIgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0NvbnRlbnRCcm93c2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvQ29udGVudEJyb3dzZXIuanMKaW5kZXggN2YwMjZjNi4uMzdmNTBhZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udGVudEJyb3dzZXIu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udGVudEJyb3dz
ZXIuanMKQEAgLTM4LDE2ICszOCwxNiBAQCBXZWJJbnNwZWN0b3IuQ29udGVudEJyb3dzZXIgPSBm
dW5jdGlvbihlbGVtZW50LCBkZWxlZ2F0ZSwgZGlzYWJsZUJhY2tGb3J3YXJkKQogICAgIHRoaXMu
X2VsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fY29udGVudFZpZXdDb250YWluZXIuZWxlbWVudCk7
CiAKICAgICB0aGlzLl9maW5kQmFubmVyID0gbmV3IFdlYkluc3BlY3Rvci5GaW5kQmFubmVyKHRo
aXMpOwotICAgIHRoaXMuX2ZpbmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNv
bW1hbmQsICJGIiwgdGhpcy5fc2hvd0ZpbmRCYW5uZXIuYmluZCh0aGlzKSk7CisgICAgdGhpcy5f
ZmluZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQo
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwg
IkYiLCB0aGlzLl9zaG93RmluZEJhbm5lci5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl9maW5kQmFu
bmVyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZpbmRCYW5uZXIuRXZlbnQuRGlkU2hv
dywgdGhpcy5fZmluZEJhbm5lckRpZFNob3csIHRoaXMpOwogICAgIHRoaXMuX2ZpbmRCYW5uZXIu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmluZEJhbm5lci5FdmVudC5EaWRIaWRlLCB0
aGlzLl9maW5kQmFubmVyRGlkSGlkZSwgdGhpcyk7CiAKLSAgICB0aGlzLl9zYXZlS2V5Ym9hcmRT
aG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiUyIsIHRoaXMuX3NhdmUuYmluZCh0
aGlzKSk7Ci0gICAgdGhpcy5fc2F2ZUFzS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
ci5TaGlmdCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQs
ICJTIiwgdGhpcy5fc2F2ZUFzLmJpbmQodGhpcykpOworICAgIHRoaXMuX3NhdmVLZXlib2FyZFNo
b3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsICJTIiwgdGhpcy5fc2F2
ZS5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zYXZlQXNLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLlNoaWZ0IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
Q29tbWFuZE9yQ29udHJvbCwgIlMiLCB0aGlzLl9zYXZlQXMuYmluZCh0aGlzKSk7CiAKICAgICBp
ZiAoIWRpc2FibGVCYWNrRm9yd2FyZCkgewotICAgICAgICB0aGlzLl9iYWNrS2V5Ym9hcmRTaG9y
dGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuTW9kaWZpZXIuQ29udHJvbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5
LkxlZnQsIHRoaXMuX2JhY2tCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwotICAgICAgICB0aGlz
Ll9mb3J3YXJkS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kIHwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0LCB0aGlzLl9mb3J3YXJkQnV0dG9uQ2xpY2tlZC5i
aW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fYmFja0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbnRyb2wsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5MZWZ0
LCB0aGlzLl9iYWNrQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fZm9y
d2FyZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQo
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCB8
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wsIFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5SaWdodCwgdGhpcy5fZm9yd2FyZEJ1dHRvbkNsaWNr
ZWQuYmluZCh0aGlzKSk7CiAKICAgICAgICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVt
ID0gbmV3IFdlYkluc3BlY3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbSgiYmFjayIsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQmFjayAoJXMpIikuZm9ybWF0KHRoaXMuX2JhY2tLZXlib2FyZFNob3J0
Y3V0LmRpc3BsYXlOYW1lKSwgIkltYWdlcy9CYWNrQXJyb3cuc3ZnIiwgOSwgOSk7CiAgICAgICAg
IHRoaXMuX2JhY2tCdXR0b25OYXZpZ2F0aW9uSXRlbS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5CdXR0b25OYXZpZ2F0aW9uSXRlbS5FdmVudC5DbGlja2VkLCB0aGlzLl9iYWNrQnV0dG9u
Q2xpY2tlZCwgdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9EZWJ1Z2dlclNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCmluZGV4IDg4YjhkMzQuLjU0ZDE2
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0RlYnVn
Z2VyU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzCkBAIC0zOSwxNSArMzksMTUgQEAgV2ViSW5zcGVj
dG9yLkRlYnVnZ2VyU2lkZWJhclBhbmVsID0gZnVuY3Rpb24oKQogICAgIFdlYkluc3BlY3Rvci5k
ZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRGVidWdnZXJNYW5h
Z2VyLkV2ZW50LlJlc3VtZWQsIHRoaXMuX2RlYnVnZ2VyRGlkUmVzdW1lLCB0aGlzKTsKICAgICBX
ZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9y
LkRlYnVnZ2VyTWFuYWdlci5FdmVudC5BY3RpdmVDYWxsRnJhbWVEaWRDaGFuZ2UsIHRoaXMuX2Rl
YnVnZ2VyQWN0aXZlQ2FsbEZyYW1lRGlkQ2hhbmdlLCB0aGlzKTsKIAotICAgIHRoaXMuX3BhdXNl
T3JSZXN1bWVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiWSIsIHRoaXMuX2Rl
YnVnZ2VyUGF1c2VSZXN1bWVCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX3Bh
dXNlT3JSZXN1bWVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wgfCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCAi
WSIsIHRoaXMuX2RlYnVnZ2VyUGF1c2VSZXN1bWVCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwog
ICAgIHRoaXMuX3N0ZXBPdmVyS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dChudWxsLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuRjYs
IHRoaXMuX2RlYnVnZ2VyU3RlcE92ZXJCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwogICAgIHRo
aXMuX3N0ZXBJbnRvS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dChudWxsLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuRjcsIHRoaXMu
X2RlYnVnZ2VyU3RlcEludG9CdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwogICAgIHRoaXMuX3N0
ZXBPdXRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KG51bGwsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5GOCwgdGhpcy5fZGVidWdn
ZXJTdGVwT3V0QnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKIAotICAgIHRoaXMuX3BhdXNlT3JS
ZXN1bWVBbHRlcm5hdGVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQs
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5TbGFzaCwgdGhpcy5fZGVidWdnZXJQ
YXVzZVJlc3VtZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc3RlcE92ZXJB
bHRlcm5hdGVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsIFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5TaW5nbGVRdW90ZSwgdGhpcy5fZGVidWdnZXJT
dGVwT3ZlckJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc3RlcEludG9BbHRl
cm5hdGVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsIFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5TZW1pY29sb24sIHRoaXMuX2RlYnVnZ2VyU3RlcElu
dG9CdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3N0ZXBPdXRBbHRlcm5hdGVL
ZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0IHwgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuS2V5LlNlbWljb2xvbiwgdGhpcy5fZGVidWdnZXJTdGVwT3V0QnV0dG9uQ2xpY2tlZC5i
aW5kKHRoaXMpKTsKKyAgICB0aGlzLl9wYXVzZU9yUmVzdW1lQWx0ZXJuYXRlS2V5Ym9hcmRTaG9y
dGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5LZXkuU2xhc2gsIHRoaXMuX2RlYnVnZ2VyUGF1c2VSZXN1bWVCdXR0b25D
bGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX3N0ZXBPdmVyQWx0ZXJuYXRlS2V5Ym9hcmRT
aG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5LZXkuU2luZ2xlUXVvdGUsIHRoaXMuX2RlYnVnZ2VyU3RlcE92ZXJC
dXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX3N0ZXBJbnRvQWx0ZXJuYXRlS2V5
Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuU2VtaWNvbG9uLCB0aGlzLl9kZWJ1Z2dlclN0ZXBJ
bnRvQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zdGVwT3V0QWx0ZXJuYXRl
S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCB8IFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsIFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0LktleS5TZW1pY29sb24sIHRoaXMuX2RlYnVnZ2VyU3RlcE91dEJ1dHRv
bkNsaWNrZWQuYmluZCh0aGlzKSk7CiAKICAgICB0aGlzLl9uYXZpZ2F0aW9uQmFyID0gbmV3IFdl
Ykluc3BlY3Rvci5OYXZpZ2F0aW9uQmFyOwogICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0
aGlzLl9uYXZpZ2F0aW9uQmFyLmVsZW1lbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvRmluZEJhbm5lci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0ZpbmRCYW5uZXIuanMKaW5kZXggYWU2N2M5MC4uZDY3NmFiYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRmluZEJhbm5lci5q
cworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9GaW5kQmFubmVyLmpz
CkBAIC03OCwxMCArNzgsMTAgQEAgV2ViSW5zcGVjdG9yLkZpbmRCYW5uZXIgPSBmdW5jdGlvbihk
ZWxlZ2F0ZSwgZWxlbWVudCkgewogICAgIHRoaXMuX3ByZXZpb3VzU2VhcmNoVmFsdWUgPSAiIjsK
IAogICAgIHRoaXMuX2hpZGVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0KG51bGwsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5Fc2Nh
cGUsIHRoaXMuaGlkZS5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50KTsKLSAgICB0aGlzLl9wb3B1
bGF0ZUZpbmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJFIiwg
dGhpcy5fcG9wdWxhdGVTZWFyY2hRdWVyeUZyb21TZWxlY3Rpb24uYmluZCh0aGlzKSk7CisgICAg
dGhpcy5fcG9wdWxhdGVGaW5kS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21t
YW5kT3JDb250cm9sLCAiRSIsIHRoaXMuX3BvcHVsYXRlU2VhcmNoUXVlcnlGcm9tU2VsZWN0aW9u
LmJpbmQodGhpcykpOwogICAgIHRoaXMuX3BvcHVsYXRlRmluZEtleWJvYXJkU2hvcnRjdXQuaW1w
bGljaXRseVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOwotICAgIHRoaXMuX2ZpbmROZXh0S2V5Ym9h
cmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiRyIsIHRoaXMuX25leHRSZXN1
bHRCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwotICAgIHRoaXMuX2ZpbmRQcmV2aW91c0tleWJv
YXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiRyIsIHRoaXMuX3ByZXZpb3VzUmVzdWx0QnV0
dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9maW5kTmV4dEtleWJvYXJkU2hvcnRj
dXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIkciLCB0aGlzLl9uZXh0UmVz
dWx0QnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9maW5kUHJldmlvdXNLZXli
b2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0IHwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIkciLCB0aGlzLl9wcmV2aW91
c1Jlc3VsdEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7CiAKICAgICB0aGlzLl9nZW5lcmF0ZUJ1
dHRvbnNHbHlwaHNJZk5lZWRlZCgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpz
CmluZGV4IDQ5Yzg1ZTUuLmMzMGE0YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5q
cwpAQCAtMTQxLDYgKzE0MSwxMiBAQCBpZiAoIXdpbmRvdy5JbnNwZWN0b3JGcm9udGVuZEhvc3Qp
IHsKICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB9LAogCisgICAgICAgIHBsYXRm
b3JtOiBmdW5jdGlvbigpCisgICAgICAgIHsKKyAgICAgICAgICAgIHZhciBvcyA9IChuYXZpZ2F0
b3IucGxhdGZvcm0ubWF0Y2goL21hY3x3aW58bGludXgvaSkgfHwgWyJvdGhlciJdKVswXS50b0xv
d2VyQ2FzZSgpOworICAgICAgICAgICAgcmV0dXJuIG9zOworICAgICAgICB9LAorCiAgICAgICAg
IC8vIFByaXZhdGUKIAogICAgICAgICBfc2VuZFBlbmRpbmdNZXNzYWdlc1RvQmFja2VuZElmTmVl
ZGVkOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMKaW5kZXgg
NjRlNDQ2ZS4uOWRjZDZmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcwpA
QCAtNDcsMTcgKzQ3LDE3IEBAIFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xs
ZXIgPSBmdW5jdGlvbihlbGVtZW50LCBzY3JvbGxFbGVtZW50LCB0ZXh0CiAKICAgICB0aGlzLl90
b3BDb25zb2xlR3JvdXBzID0gW107CiAKLSAgICB0aGlzLm1lc3NhZ2VzQ2xlYXJLZXlib2FyZFNo
b3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJLIiwgdGhpcy5faGFuZGxlQ2xlYXJT
aG9ydGN1dC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLm1lc3NhZ2VzQ2xlYXJLZXlib2FyZFNob3J0
Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsICJLIiwgdGhpcy5faGFuZGxl
Q2xlYXJTaG9ydGN1dC5iaW5kKHRoaXMpKTsKICAgICB0aGlzLm1lc3NhZ2VzQWx0ZXJuYXRlQ2xl
YXJLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbnRyb2wsICJMIiwgdGhpcy5f
aGFuZGxlQ2xlYXJTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50KTsKIAotICAgIHRo
aXMuX21lc3NhZ2VzRmluZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFu
ZCwgIkYiLCB0aGlzLl9oYW5kbGVGaW5kU2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fZWxlbWVu
dCk7Ci0gICAgdGhpcy5fbWVzc2FnZXNGaW5kTmV4dEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXIuQ29tbWFuZCwgIkciLCB0aGlzLl9oYW5kbGVGaW5kTmV4dFNob3J0Y3V0LmJpbmQo
dGhpcyksIHRoaXMuX2VsZW1lbnQpOwotICAgIHRoaXMuX21lc3NhZ2VzRmluZFByZXZpb3VzS2V5
Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kIHwgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJHIiwgdGhpcy5faGFuZGxlRmluZFByZXZp
b3VzU2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fZWxlbWVudCk7CisgICAgdGhpcy5fbWVzc2Fn
ZXNGaW5kS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
LCAiRiIsIHRoaXMuX2hhbmRsZUZpbmRTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50
KTsKKyAgICB0aGlzLl9tZXNzYWdlc0ZpbmROZXh0S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5N
b2RpZmllci5Db21tYW5kT3JDb250cm9sLCAiRyIsIHRoaXMuX2hhbmRsZUZpbmROZXh0U2hvcnRj
dXQuYmluZCh0aGlzKSwgdGhpcy5fZWxlbWVudCk7CisgICAgdGhpcy5fbWVzc2FnZXNGaW5kUHJl
dmlvdXNLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wg
fCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIkciLCB0aGlz
Ll9oYW5kbGVGaW5kUHJldmlvdXNTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50KTsK
IAogICAgIHRoaXMuX3Byb21wdEFsdGVybmF0ZUNsZWFyS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db250cm9sLCAiTCIsIHRoaXMuX2hhbmRsZUNsZWFyU2hvcnRjdXQuYmluZCh0
aGlzKSwgdGhpcy5fcHJvbXB0LmVsZW1lbnQpOwotICAgIHRoaXMuX3Byb21wdEZpbmRLZXlib2Fy
ZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJGIiwgdGhpcy5faGFuZGxlRmlu
ZFNob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX3Byb21wdC5lbGVtZW50KTsKLSAgICB0aGlzLl9w
cm9tcHRGaW5kTmV4dEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwg
IkciLCB0aGlzLl9oYW5kbGVGaW5kTmV4dFNob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX3Byb21w
dC5lbGVtZW50KTsKLSAgICB0aGlzLl9wcm9tcHRGaW5kUHJldmlvdXNLZXlib2FyZFNob3J0Y3V0
ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5TaGlmdCwgIkciLCB0aGlzLl9oYW5kbGVGaW5kUHJldmlvdXNTaG9ydGN1dC5i
aW5kKHRoaXMpLCB0aGlzLl9wcm9tcHQuZWxlbWVudCk7CisgICAgdGhpcy5fcHJvbXB0RmluZEtl
eWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIkYiLCB0
aGlzLl9oYW5kbGVGaW5kU2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fcHJvbXB0LmVsZW1lbnQp
OworICAgIHRoaXMuX3Byb21wdEZpbmROZXh0S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2Rp
Zmllci5Db21tYW5kT3JDb250cm9sLCAiRyIsIHRoaXMuX2hhbmRsZUZpbmROZXh0U2hvcnRjdXQu
YmluZCh0aGlzKSwgdGhpcy5fcHJvbXB0LmVsZW1lbnQpOworICAgIHRoaXMuX3Byb21wdEZpbmRQ
cmV2aW91c0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJv
bCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCAiRyIsIHRo
aXMuX2hhbmRsZUZpbmRQcmV2aW91c1Nob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX3Byb21wdC5l
bGVtZW50KTsKIAogICAgIHRoaXMuc3RhcnROZXdTZXNzaW9uKCk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvS2V5Ym9hcmRTaG9ydGN1dC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0tleWJvYXJkU2hvcnRjdXQuanMK
aW5kZXggYjgyYTE0YS4uYmY0MTViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvS2V5Ym9hcmRTaG9ydGN1dC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9LZXlib2FyZFNob3J0Y3V0LmpzCkBAIC04OSw3ICs4OSwxMiBA
QCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllciA9IHsKICAgICBTaGlmdDog
MSwKICAgICBDb250cm9sOiAyLAogICAgIE9wdGlvbjogNCwKLSAgICBDb21tYW5kOiA4CisgICAg
Q29tbWFuZDogOCwKKworICAgIGdldCBDb21tYW5kT3JDb250cm9sKCkKKyAgICB7CisgICAgICAg
IHJldHVybiAoSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnBsYXRmb3JtKCkgPT09ICJtYWMiKSA/IHRo
aXMuQ29tbWFuZCA6IHRoaXMuQ29udHJvbDsKKyAgICB9CiB9OwogCiBXZWJJbnNwZWN0b3IuS2V5
ID0gZnVuY3Rpb24oa2V5Q29kZSwgZGlzcGxheU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDVkYWVjZjgu
LjYwYzg1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0xvZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC00NSw3ICs0NSw3IEBAIFdlYkluc3BlY3Rvci5Mb2dD
b250ZW50VmlldyA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogCiAgICAgdGhpcy5wcm9t
cHQgPSBXZWJJbnNwZWN0b3IucXVpY2tDb25zb2xlLnByb21wdDsKIAotICAgIHRoaXMuX2tleWJv
YXJkU2hvcnRjdXRDb21tYW5kQSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiQSIpOworICAg
IHRoaXMuX2tleWJvYXJkU2hvcnRjdXRDb21tYW5kQSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5k
T3JDb250cm9sLCAiQSIpOwogICAgIHRoaXMuX2tleWJvYXJkU2hvcnRjdXRFc2MgPSBuZXcgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuS2V5LkVzY2FwZSk7CiAKICAgICB0aGlzLl9sb2dWaWV3Q29udHJvbGxlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyKHRoaXMubWVzc2FnZXNFbGVt
ZW50LCB0aGlzLmVsZW1lbnQsIHRoaXMucHJvbXB0LCB0aGlzLCAiY29uc29sZS1wcm9tcHQtaGlz
dG9yeSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uanMKaW5k
ZXggMDNlMDQ1Yi4uNmEwYmJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9NYWluLmpzCkBAIC0xNzgsMTMgKzE3OCwxMyBAQCBXZWJJbnNwZWN0b3IuY29udGVudExv
YWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmRldGFpbHNTaWRlYmFyLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlNpZGViYXIuRXZlbnQuV2lkdGhEaWRDaGFuZ2UsIHRoaXMuX3NpZGVi
YXJXaWR0aERpZENoYW5nZSwgdGhpcyk7CiAgICAgdGhpcy5kZXRhaWxzU2lkZWJhci5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5TaWRlYmFyLkV2ZW50LlNpZGViYXJQYW5lbFNlbGVjdGVk
LCB0aGlzLl9kZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWQsIHRoaXMpOwogCi0gICAgdGhpcy5f
cmVsb2FkUGFnZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgIlIi
LCB0aGlzLl9yZWxvYWRQYWdlLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlbG9hZFBhZ2VJZ25v
cmluZ0NhY2hlS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kIHwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJSIiwgdGhpcy5fcmVs
b2FkUGFnZUlnbm9yaW5nQ2FjaGUuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fcmVsb2FkUGFnZUtl
eWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIlIiLCB0
aGlzLl9yZWxvYWRQYWdlLmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlbG9hZFBhZ2VJZ25vcmlu
Z0NhY2hlS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJSIiwgdGhp
cy5fcmVsb2FkUGFnZUlnbm9yaW5nQ2FjaGUuYmluZCh0aGlzKSk7CiAKLSAgICB0aGlzLl9pbnNw
ZWN0TW9kZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCB8IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCAiQyIsIHRoaXMuX3RvZ2ds
ZUluc3BlY3RNb2RlLmJpbmQodGhpcykpOworICAgIHRoaXMuX2luc3BlY3RNb2RlS2V5Ym9hcmRT
aG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJDIiwgdGhpcy5fdG9nZ2xlSW5zcGVj
dE1vZGUuYmluZCh0aGlzKSk7CiAKLSAgICB0aGlzLl91bmRvS2V5Ym9hcmRTaG9ydGN1dCA9IG5l
dyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5Nb2RpZmllci5Db21tYW5kLCAiWiIsIHRoaXMuX3VuZG9LZXlib2FyZFNob3J0Y3V0LmJp
bmQodGhpcykpOwotICAgIHRoaXMuX3JlZG9LZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVyLkNvbW1hbmQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlm
dCwgIloiLCB0aGlzLl9yZWRvS2V5Ym9hcmRTaG9ydGN1dC5iaW5kKHRoaXMpKTsKKyAgICB0aGlz
Ll91bmRvS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
LCAiWiIsIHRoaXMuX3VuZG9LZXlib2FyZFNob3J0Y3V0LmJpbmQodGhpcykpOworICAgIHRoaXMu
X3JlZG9LZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wg
fCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIloiLCB0aGlz
Ll9yZWRvS2V5Ym9hcmRTaG9ydGN1dC5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl91bmRvS2V5Ym9h
cmRTaG9ydGN1dC5pbXBsaWNpdGx5UHJldmVudHNEZWZhdWx0ID0gdGhpcy5fcmVkb0tleWJvYXJk
U2hvcnRjdXQuaW1wbGljaXRseVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOwogCiAgICAgdGhpcy51
bmRvY2tCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuVG9nZ2xlQ29udHJv
bFRvb2xiYXJJdGVtKCJ1bmRvY2siLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRldGFjaCBpbnRv
IHNlcGFyYXRlIHdpbmRvdyIpLCAiIiwgIkltYWdlcy9VbmRvY2suc3ZnIiwgIiIsIDE2LCAxNCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9SZXNvdXJj
ZVNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jl
c291cmNlU2lkZWJhclBhbmVsLmpzCmluZGV4IGZmMDdjMDYuLjNmNTg3MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jlc291cmNlU2lkZWJhclBhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jlc291cmNlU2lk
ZWJhclBhbmVsLmpzCkBAIC00OCw3ICs0OCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGVi
YXJQYW5lbCA9IGZ1bmN0aW9uKCkgewogICAgIHRoaXMuX3NlYXJjaFF1ZXJ5U2V0dGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuU2V0dGluZygic2VhcmNoLXNpZGViYXItcXVlcnkiLCAiIik7CiAgICAg
dGhpcy5faW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fc2VhcmNoUXVlcnlTZXR0aW5nLnZhbHVl
OwogCi0gICAgdGhpcy5fc2VhcmNoS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5D
b21tYW5kIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJG
IiwgdGhpcy5fZm9jdXNTZWFyY2hGaWVsZC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zZWFyY2hL
ZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIkYiLCB0aGlzLl9mb2N1
c1NlYXJjaEZpZWxkLmJpbmQodGhpcykpOwogCiAgICAgdGhpcy5fbG9jYWxTdG9yYWdlUm9vdFRy
ZWVFbGVtZW50ID0gbnVsbDsKICAgICB0aGlzLl9zZXNzaW9uU3RvcmFnZVJvb3RUcmVlRWxlbWVu
dCA9IG51bGw7Ci0tIAoxLjguMS4yCgo=
</data>
<flag name="review"
          id="234379"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>212213</attachid>
            <date>2013-09-20 13:19:32 -0700</date>
            <delta_ts>2013-09-20 14:17:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-Web-Inspector-Fix-keyboard-shortcuts-for-other-platf.patch</filename>
            <type>text/plain</type>
            <size>22994</size>
            <attacher name="Marcelo Morais">m.morais</attacher>
            
              <data encoding="base64">RnJvbSBhM2E1YWU3YjE0MmZlYTQwZmIxZTFlZGI1YTNmYjNjNTY3NGMwZjViIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXJjZWxvIE1vcmFpcyA8bS5tb3JhaXNAc2Ftc3VuZy5jb20+
CkRhdGU6IFRodSwgMTkgU2VwIDIwMTMgMTY6MzQ6NDEgLTA0MDAKU3ViamVjdDogW1BBVENIXSAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpeCBrZXlib2FyZCBzaG9ydGN1dHMgZm9yIG90aGVyCiBw
bGF0Zm9ybXMgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTIwNjU3CgogICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KCiAgICAgICAgSGFu
ZGxpbmcga2V5Ym9hcmQgc2hvcnRjdXRzIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBwbGF0Zm9y
bS4KCiAgICAgICAgKiBVc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanM6
CiAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5
cGUubG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6CiAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5z
cGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5cGUucGxhdGZvcm0pOiBBZGRlZC4gUmV0dXJu
IHRoZQogICAgICAgIGN1cnJlbnQgcGxhdGZvcm0uCiAgICAgICAgKiBVc2VySW50ZXJmYWNlL0tl
eWJvYXJkU2hvcnRjdXQuanM6CiAgICAgICAgKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLmdldCBDb21tYW5kT3JDb250cm9sKTogQWRkZWQuIENyZWF0ZWQga2V5Ym9hcmQK
ICAgICAgICBtb2RpZmllciB0byByZXR1cm4gQ29udHJvbCBvciBDb21tYW5kIGtleSBhY2NvcmRp
bmcgdG8gY3VycmVudCBwbGF0Zm9ybS4KICAgICAgICAqIFVzZXJJbnRlcmZhY2UvQ29udGVudEJy
b3dzZXIuanM6CiAgICAgICAgKFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3Nlcik6IFJldHVybmlu
ZyBDb250cm9sIG9yIENvbW1hbmQga2V5IGZvciBrZXlib2FyZAogICAgICAgIHNob3J0Y3V0cyBh
Y2NvcmRpbmcgdG8gY3VycmVudCBwbGF0Zm9ybS4KICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGVi
dWdnZXJTaWRlYmFyUGFuZWwuanM6CiAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGVi
YXJQYW5lbCk6IERpdHRvLgogICAgICAgICogVXNlckludGVyZmFjZS9GaW5kQmFubmVyLmpzOgog
ICAgICAgIChXZWJJbnNwZWN0b3IuRmluZEJhbm5lcik6IERpdHRvLgogICAgICAgICogVXNlcklu
dGVyZmFjZS9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanM6CiAgICAgICAgKFdlYkluc3Bl
Y3Rvci5KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIpOiBEaXR0by4KICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTG9nQ29udGVudFZpZXcuanM6CiAgICAgICAgKFdlYkluc3BlY3Rvci5Mb2dDb250
ZW50Vmlldyk6IERpdHRvLgogICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmpzOgogICAgICAg
IChXZWJJbnNwZWN0b3IuY29udGVudExvYWRlZCk6IERpdHRvLgogICAgICAgICogVXNlckludGVy
ZmFjZS9SZXNvdXJjZVNpZGViYXJQYW5lbC5qczoKICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291
cmNlU2lkZWJhclBhbmVsKTogRGl0dG8uCi0tLQogU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyAgICAgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrCiAuLi4v
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50QnJvd3Nlci5qcyB8IDEwICsrKy0t
LS0KIC4uLi9Vc2VySW50ZXJmYWNlL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzICAgICAgICAgIHwg
MTAgKysrLS0tLQogU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRmluZEJhbm5l
ci5qcyAgfCAgNiArKy0tCiAuLi4vVXNlckludGVyZmFjZS9JbnNwZWN0b3JGcm9udGVuZEhvc3RT
dHViLmpzICAgICB8ICA2ICsrKysKIC4uLi9Vc2VySW50ZXJmYWNlL0phdmFTY3JpcHRMb2dWaWV3
Q29udHJvbGxlci5qcyAgIHwgMTQgKysrKy0tLS0tCiAuLi4vVXNlckludGVyZmFjZS9LZXlib2Fy
ZFNob3J0Y3V0LmpzICAgICAgICAgICAgICB8ICA3ICsrKystCiAuLi4vV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Mb2dDb250ZW50Vmlldy5qcyB8ICAyICstCiBTb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9NYWluLmpzICAgICAgICB8IDEwICsrKy0tLS0KIC4uLi9Vc2Vy
SW50ZXJmYWNlL1Jlc291cmNlU2lkZWJhclBhbmVsLmpzICAgICAgICAgIHwgIDIgKy0KIDEwIGZp
bGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDI4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCmluZGV4IDBjNGVjNWUuLmU1YjNjMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTA5LTIwICBNYXJjZWxvIE1vcmFpcyAgPG0ubW9y
YWlzQHNhbXN1bmcuY29tPgorCisgICAgICAgIDIwMTMtMDktMTkgIE1hcmNlbG8gTW9yYWlzICA8
bS5tb3JhaXNAc2Ftc3VuZy5jb20+CisKKyAgICAgICAgICAgICAgICBXZWIgSW5zcGVjdG9yOiBG
aXgga2V5Ym9hcmQgc2hvcnRjdXRzIGZvciBvdGhlciBwbGF0Zm9ybXMKKyAgICAgICAgICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIwNjU3CisKKyAgICAg
ICAgICAgICAgICBSZXZpZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgICAgICAg
ICBIYW5kbGluZyBrZXlib2FyZCBzaG9ydGN1dHMgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IHBs
YXRmb3JtLgorCisgICAgICAgICAgICAgICAgKiBVc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250
ZW5kSG9zdFN0dWIuanM6CisgICAgICAgICAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9y
RnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5cGUubG9hZFJlc291cmNlU3luY2hyb25vdXNseSk6Cisg
ICAgICAgICAgICAgICAgKC5XZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5w
cm90b3R5cGUucGxhdGZvcm0pOiBBZGRlZC4gUmV0dXJuIHRoZQorICAgICAgICAgICAgICAgIGN1
cnJlbnQgcGxhdGZvcm0uCisgICAgICAgICAgICAgICAgKiBVc2VySW50ZXJmYWNlL0tleWJvYXJk
U2hvcnRjdXQuanM6CisgICAgICAgICAgICAgICAgKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVyLmdldCBDb21tYW5kT3JDb250cm9sKTogQWRkZWQuIENyZWF0ZWQga2V5Ym9h
cmQKKyAgICAgICAgICAgICAgICBtb2RpZmllciB0byByZXR1cm4gQ29udHJvbCBvciBDb21tYW5k
IGtleSBhY2NvcmRpbmcgdG8gY3VycmVudCBwbGF0Zm9ybS4KKyAgICAgICAgICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udGVudEJyb3dzZXIuanM6CisgICAgICAgICAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db250ZW50QnJvd3Nlcik6IFJldHVybmluZyBDb250cm9sIG9yIENvbW1hbmQga2V5IGZv
ciBrZXlib2FyZAorICAgICAgICAgICAgICAgIHNob3J0Y3V0cyBhY2NvcmRpbmcgdG8gY3VycmVu
dCBwbGF0Zm9ybS4KKyAgICAgICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvRGVidWdnZXJTaWRl
YmFyUGFuZWwuanM6CisgICAgICAgICAgICAgICAgKFdlYkluc3BlY3Rvci5EZWJ1Z2dlclNpZGVi
YXJQYW5lbCk6IERpdHRvLgorICAgICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9GaW5kQmFu
bmVyLmpzOgorICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuRmluZEJhbm5lcik6IERpdHRv
LgorICAgICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9KYXZhU2NyaXB0TG9nVmlld0NvbnRy
b2xsZXIuanM6CisgICAgICAgICAgICAgICAgKFdlYkluc3BlY3Rvci5KYXZhU2NyaXB0TG9nVmll
d0NvbnRyb2xsZXIpOiBEaXR0by4KKyAgICAgICAgICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTG9n
Q29udGVudFZpZXcuanM6CisgICAgICAgICAgICAgICAgKFdlYkluc3BlY3Rvci5Mb2dDb250ZW50
Vmlldyk6IERpdHRvLgorICAgICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9NYWluLmpzOgor
ICAgICAgICAgICAgICAgIChXZWJJbnNwZWN0b3IuY29udGVudExvYWRlZCk6IERpdHRvLgorICAg
ICAgICAgICAgICAgICogVXNlckludGVyZmFjZS9SZXNvdXJjZVNpZGViYXJQYW5lbC5qczoKKyAg
ICAgICAgICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlU2lkZWJhclBhbmVsKTogRGl0dG8u
CisKIDIwMTMtMDktMjAgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW1dpbmRvd3NdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBUZWFjaCBXZWJJbnNwZWN0b3JV
SS52Y3hwcm9qIGZvbGRlciB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQ29udGVudEJyb3dzZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Db250ZW50QnJvd3Nlci5qcwppbmRleCA3ZjAyNmM2Li4zN2Y1MGFmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50QnJvd3Nl
ci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250ZW50QnJv
d3Nlci5qcwpAQCAtMzgsMTYgKzM4LDE2IEBAIFdlYkluc3BlY3Rvci5Db250ZW50QnJvd3NlciA9
IGZ1bmN0aW9uKGVsZW1lbnQsIGRlbGVnYXRlLCBkaXNhYmxlQmFja0ZvcndhcmQpCiAgICAgdGhp
cy5fZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9jb250ZW50Vmlld0NvbnRhaW5lci5lbGVtZW50
KTsKIAogICAgIHRoaXMuX2ZpbmRCYW5uZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkZpbmRCYW5uZXIo
dGhpcyk7Ci0gICAgdGhpcy5fZmluZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIu
Q29tbWFuZCwgIkYiLCB0aGlzLl9zaG93RmluZEJhbm5lci5iaW5kKHRoaXMpKTsKKyAgICB0aGlz
Ll9maW5kS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
LCAiRiIsIHRoaXMuX3Nob3dGaW5kQmFubmVyLmJpbmQodGhpcykpOwogICAgIHRoaXMuX2ZpbmRC
YW5uZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmluZEJhbm5lci5FdmVudC5EaWRT
aG93LCB0aGlzLl9maW5kQmFubmVyRGlkU2hvdywgdGhpcyk7CiAgICAgdGhpcy5fZmluZEJhbm5l
ci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaW5kQmFubmVyLkV2ZW50LkRpZEhpZGUs
IHRoaXMuX2ZpbmRCYW5uZXJEaWRIaWRlLCB0aGlzKTsKIAotICAgIHRoaXMuX3NhdmVLZXlib2Fy
ZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJTIiwgdGhpcy5fc2F2ZS5iaW5k
KHRoaXMpKTsKLSAgICB0aGlzLl9zYXZlQXNLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVyLlNoaWZ0IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFu
ZCwgIlMiLCB0aGlzLl9zYXZlQXMuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fc2F2ZUtleWJvYXJk
U2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIlMiLCB0aGlzLl9z
YXZlLmJpbmQodGhpcykpOworICAgIHRoaXMuX3NhdmVBc0tleWJvYXJkU2hvcnRjdXQgPSBuZXcg
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXIuU2hpZnQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmll
ci5Db21tYW5kT3JDb250cm9sLCAiUyIsIHRoaXMuX3NhdmVBcy5iaW5kKHRoaXMpKTsKIAogICAg
IGlmICghZGlzYWJsZUJhY2tGb3J3YXJkKSB7Ci0gICAgICAgIHRoaXMuX2JhY2tLZXlib2FyZFNo
b3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5L
ZXkuTGVmdCwgdGhpcy5fYmFja0J1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgICAgIHRo
aXMuX2ZvcndhcmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNo
b3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQgfCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db250cm9sLCBXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5LZXkuUmlnaHQsIHRoaXMuX2ZvcndhcmRCdXR0b25DbGlja2Vk
LmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9iYWNrS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQuTW9kaWZpZXIuQ29udHJvbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5Lkxl
ZnQsIHRoaXMuX2JhY2tCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgICAgICB0aGlzLl9m
b3J3YXJkS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCwgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlJpZ2h0LCB0aGlzLl9mb3J3YXJkQnV0dG9uQ2xp
Y2tlZC5iaW5kKHRoaXMpKTsKIAogICAgICAgICB0aGlzLl9iYWNrQnV0dG9uTmF2aWdhdGlvbkl0
ZW0gPSBuZXcgV2ViSW5zcGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtKCJiYWNrIiwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJCYWNrICglcykiKS5mb3JtYXQodGhpcy5fYmFja0tleWJvYXJkU2hv
cnRjdXQuZGlzcGxheU5hbWUpLCAiSW1hZ2VzL0JhY2tBcnJvdy5zdmciLCA5LCA5KTsKICAgICAg
ICAgdGhpcy5fYmFja0J1dHRvbk5hdmlnYXRpb25JdGVtLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkJ1dHRvbk5hdmlnYXRpb25JdGVtLkV2ZW50LkNsaWNrZWQsIHRoaXMuX2JhY2tCdXR0
b25DbGlja2VkLCB0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0RlYnVnZ2VyU2lkZWJhclBhbmVsLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKaW5kZXggODhiOGQzNC4uNTRk
MTYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvRGVi
dWdnZXJTaWRlYmFyUGFuZWwuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvRGVidWdnZXJTaWRlYmFyUGFuZWwuanMKQEAgLTM5LDE1ICszOSwxNSBAQCBXZWJJbnNw
ZWN0b3IuRGVidWdnZXJTaWRlYmFyUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgV2ViSW5zcGVjdG9y
LmRlYnVnZ2VyTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5EZWJ1Z2dlck1h
bmFnZXIuRXZlbnQuUmVzdW1lZCwgdGhpcy5fZGVidWdnZXJEaWRSZXN1bWUsIHRoaXMpOwogICAg
IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuRGVidWdnZXJNYW5hZ2VyLkV2ZW50LkFjdGl2ZUNhbGxGcmFtZURpZENoYW5nZSwgdGhpcy5f
ZGVidWdnZXJBY3RpdmVDYWxsRnJhbWVEaWRDaGFuZ2UsIHRoaXMpOwogCi0gICAgdGhpcy5fcGF1
c2VPclJlc3VtZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCB8IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJZIiwgdGhpcy5f
ZGVidWdnZXJQYXVzZVJlc3VtZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7CisgICAgdGhpcy5f
cGF1c2VPclJlc3VtZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCB8
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2ws
ICJZIiwgdGhpcy5fZGVidWdnZXJQYXVzZVJlc3VtZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7
CiAgICAgdGhpcy5fc3RlcE92ZXJLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0KG51bGwsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5G
NiwgdGhpcy5fZGVidWdnZXJTdGVwT3ZlckJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7CiAgICAg
dGhpcy5fc3RlcEludG9LZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0KG51bGwsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5GNywgdGhp
cy5fZGVidWdnZXJTdGVwSW50b0J1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7CiAgICAgdGhpcy5f
c3RlcE91dEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkY4LCB0aGlzLl9kZWJ1
Z2dlclN0ZXBPdXRCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOwogCi0gICAgdGhpcy5fcGF1c2VP
clJlc3VtZUFsdGVybmF0ZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFu
ZCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlNsYXNoLCB0aGlzLl9kZWJ1Z2dl
clBhdXNlUmVzdW1lQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9zdGVwT3Zl
ckFsdGVybmF0ZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlNpbmdsZVF1b3RlLCB0aGlzLl9kZWJ1Z2dl
clN0ZXBPdmVyQnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKLSAgICB0aGlzLl9zdGVwSW50b0Fs
dGVybmF0ZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LlNlbWljb2xvbiwgdGhpcy5fZGVidWdnZXJTdGVw
SW50b0J1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fc3RlcE91dEFsdGVybmF0
ZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQgfCBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5LZXkuU2VtaWNvbG9uLCB0aGlzLl9kZWJ1Z2dlclN0ZXBPdXRCdXR0b25DbGlja2Vk
LmJpbmQodGhpcykpOworICAgIHRoaXMuX3BhdXNlT3JSZXN1bWVBbHRlcm5hdGVLZXlib2FyZFNo
b3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsIFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0LktleS5TbGFzaCwgdGhpcy5fZGVidWdnZXJQYXVzZVJlc3VtZUJ1dHRv
bkNsaWNrZWQuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fc3RlcE92ZXJBbHRlcm5hdGVLZXlib2Fy
ZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsIFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0LktleS5TaW5nbGVRdW90ZSwgdGhpcy5fZGVidWdnZXJTdGVwT3Zl
ckJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fc3RlcEludG9BbHRlcm5hdGVL
ZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsIFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0LktleS5TZW1pY29sb24sIHRoaXMuX2RlYnVnZ2VyU3Rl
cEludG9CdXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX3N0ZXBPdXRBbHRlcm5h
dGVLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0IHwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuS2V5LlNlbWljb2xvbiwgdGhpcy5fZGVidWdnZXJTdGVwT3V0QnV0
dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKIAogICAgIHRoaXMuX25hdmlnYXRpb25CYXIgPSBuZXcg
V2ViSW5zcGVjdG9yLk5hdmlnYXRpb25CYXI7CiAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxk
KHRoaXMuX25hdmlnYXRpb25CYXIuZWxlbWVudCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9GaW5kQmFubmVyLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvRmluZEJhbm5lci5qcwppbmRleCBhZTY3YzkwLi5kNjc2YWJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9GaW5kQmFubmVy
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0ZpbmRCYW5uZXIu
anMKQEAgLTc4LDEwICs3OCwxMCBAQCBXZWJJbnNwZWN0b3IuRmluZEJhbm5lciA9IGZ1bmN0aW9u
KGRlbGVnYXRlLCBlbGVtZW50KSB7CiAgICAgdGhpcy5fcHJldmlvdXNTZWFyY2hWYWx1ZSA9ICIi
OwogCiAgICAgdGhpcy5faGlkZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuS2V5LkVz
Y2FwZSwgdGhpcy5oaWRlLmJpbmQodGhpcyksIHRoaXMuX2VsZW1lbnQpOwotICAgIHRoaXMuX3Bv
cHVsYXRlRmluZEtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgIkUi
LCB0aGlzLl9wb3B1bGF0ZVNlYXJjaFF1ZXJ5RnJvbVNlbGVjdGlvbi5iaW5kKHRoaXMpKTsKKyAg
ICB0aGlzLl9wb3B1bGF0ZUZpbmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNv
bW1hbmRPckNvbnRyb2wsICJFIiwgdGhpcy5fcG9wdWxhdGVTZWFyY2hRdWVyeUZyb21TZWxlY3Rp
b24uYmluZCh0aGlzKSk7CiAgICAgdGhpcy5fcG9wdWxhdGVGaW5kS2V5Ym9hcmRTaG9ydGN1dC5p
bXBsaWNpdGx5UHJldmVudHNEZWZhdWx0ID0gZmFsc2U7Ci0gICAgdGhpcy5fZmluZE5leHRLZXli
b2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJHIiwgdGhpcy5fbmV4dFJl
c3VsdEJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSk7Ci0gICAgdGhpcy5fZmluZFByZXZpb3VzS2V5
Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCB8IFdlYkluc3BlY3Rvci5LZXli
b2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQsICJHIiwgdGhpcy5fcHJldmlvdXNSZXN1bHRC
dXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX2ZpbmROZXh0S2V5Ym9hcmRTaG9y
dGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCAiRyIsIHRoaXMuX25leHRS
ZXN1bHRCdXR0b25DbGlja2VkLmJpbmQodGhpcykpOworICAgIHRoaXMuX2ZpbmRQcmV2aW91c0tl
eWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQgfCBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCAiRyIsIHRoaXMuX3ByZXZp
b3VzUmVzdWx0QnV0dG9uQ2xpY2tlZC5iaW5kKHRoaXMpKTsKIAogICAgIHRoaXMuX2dlbmVyYXRl
QnV0dG9uc0dseXBoc0lmTmVlZGVkKCk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIu
anMKaW5kZXggNDljODVlNS4uYzMwYTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcworKysgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHVi
LmpzCkBAIC0xNDEsNiArMTQxLDEyIEBAIGlmICghd2luZG93Lkluc3BlY3RvckZyb250ZW5kSG9z
dCkgewogICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgIH0sCiAKKyAgICAgICAgcGxh
dGZvcm06IGZ1bmN0aW9uKCkKKyAgICAgICAgeworICAgICAgICAgICAgdmFyIG9zID0gKG5hdmln
YXRvci5wbGF0Zm9ybS5tYXRjaCgvbWFjfHdpbnxsaW51eC9pKSB8fCBbIm90aGVyIl0pWzBdLnRv
TG93ZXJDYXNlKCk7CisgICAgICAgICAgICByZXR1cm4gb3M7CisgICAgICAgIH0sCisKICAgICAg
ICAgLy8gUHJpdmF0ZQogCiAgICAgICAgIF9zZW5kUGVuZGluZ01lc3NhZ2VzVG9CYWNrZW5kSWZO
ZWVkZWQ6IGZ1bmN0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0phdmFTY3JpcHRMb2dWaWV3Q29udHJvbGxlci5qcwppbmRl
eCA2NGU0NDZlLi45ZGNkNmYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9KYXZhU2NyaXB0TG9nVmlld0NvbnRyb2xsZXIuanMKKysrIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyLmpz
CkBAIC00NywxNyArNDcsMTcgQEAgV2ViSW5zcGVjdG9yLkphdmFTY3JpcHRMb2dWaWV3Q29udHJv
bGxlciA9IGZ1bmN0aW9uKGVsZW1lbnQsIHNjcm9sbEVsZW1lbnQsIHRleHQKIAogICAgIHRoaXMu
X3RvcENvbnNvbGVHcm91cHMgPSBbXTsKIAotICAgIHRoaXMubWVzc2FnZXNDbGVhcktleWJvYXJk
U2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgIksiLCB0aGlzLl9oYW5kbGVDbGVh
clNob3J0Y3V0LmJpbmQodGhpcykpOworICAgIHRoaXMubWVzc2FnZXNDbGVhcktleWJvYXJkU2hv
cnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIksiLCB0aGlzLl9oYW5k
bGVDbGVhclNob3J0Y3V0LmJpbmQodGhpcykpOwogICAgIHRoaXMubWVzc2FnZXNBbHRlcm5hdGVD
bGVhcktleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQo
V2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29udHJvbCwgIkwiLCB0aGlz
Ll9oYW5kbGVDbGVhclNob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX2VsZW1lbnQpOwogCi0gICAg
dGhpcy5fbWVzc2FnZXNGaW5kS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21t
YW5kLCAiRiIsIHRoaXMuX2hhbmRsZUZpbmRTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVt
ZW50KTsKLSAgICB0aGlzLl9tZXNzYWdlc0ZpbmROZXh0S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5Nb2RpZmllci5Db21tYW5kLCAiRyIsIHRoaXMuX2hhbmRsZUZpbmROZXh0U2hvcnRjdXQuYmlu
ZCh0aGlzKSwgdGhpcy5fZWxlbWVudCk7Ci0gICAgdGhpcy5fbWVzc2FnZXNGaW5kUHJldmlvdXNL
ZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmQgfCBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIkciLCB0aGlzLl9oYW5kbGVGaW5kUHJl
dmlvdXNTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50KTsKKyAgICB0aGlzLl9tZXNz
YWdlc0ZpbmRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRy
b2wsICJGIiwgdGhpcy5faGFuZGxlRmluZFNob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX2VsZW1l
bnQpOworICAgIHRoaXMuX21lc3NhZ2VzRmluZE5leHRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsICJHIiwgdGhpcy5faGFuZGxlRmluZE5leHRTaG9y
dGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9lbGVtZW50KTsKKyAgICB0aGlzLl9tZXNzYWdlc0ZpbmRQ
cmV2aW91c0tleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJv
bCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCAiRyIsIHRo
aXMuX2hhbmRsZUZpbmRQcmV2aW91c1Nob3J0Y3V0LmJpbmQodGhpcyksIHRoaXMuX2VsZW1lbnQp
OwogCiAgICAgdGhpcy5fcHJvbXB0QWx0ZXJuYXRlQ2xlYXJLZXlib2FyZFNob3J0Y3V0ID0gbmV3
IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVyLkNvbnRyb2wsICJMIiwgdGhpcy5faGFuZGxlQ2xlYXJTaG9ydGN1dC5iaW5k
KHRoaXMpLCB0aGlzLl9wcm9tcHQuZWxlbWVudCk7Ci0gICAgdGhpcy5fcHJvbXB0RmluZEtleWJv
YXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgIkYiLCB0aGlzLl9oYW5kbGVG
aW5kU2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fcHJvbXB0LmVsZW1lbnQpOwotICAgIHRoaXMu
X3Byb21wdEZpbmROZXh0S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5k
LCAiRyIsIHRoaXMuX2hhbmRsZUZpbmROZXh0U2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fcHJv
bXB0LmVsZW1lbnQpOwotICAgIHRoaXMuX3Byb21wdEZpbmRQcmV2aW91c0tleWJvYXJkU2hvcnRj
dXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0
Y3V0Lk1vZGlmaWVyLlNoaWZ0LCAiRyIsIHRoaXMuX2hhbmRsZUZpbmRQcmV2aW91c1Nob3J0Y3V0
LmJpbmQodGhpcyksIHRoaXMuX3Byb21wdC5lbGVtZW50KTsKKyAgICB0aGlzLl9wcm9tcHRGaW5k
S2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sLCAiRiIs
IHRoaXMuX2hhbmRsZUZpbmRTaG9ydGN1dC5iaW5kKHRoaXMpLCB0aGlzLl9wcm9tcHQuZWxlbWVu
dCk7CisgICAgdGhpcy5fcHJvbXB0RmluZE5leHRLZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wsICJHIiwgdGhpcy5faGFuZGxlRmluZE5leHRTaG9ydGN1
dC5iaW5kKHRoaXMpLCB0aGlzLl9wcm9tcHQuZWxlbWVudCk7CisgICAgdGhpcy5fcHJvbXB0Rmlu
ZFByZXZpb3VzS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250
cm9sIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJHIiwg
dGhpcy5faGFuZGxlRmluZFByZXZpb3VzU2hvcnRjdXQuYmluZCh0aGlzKSwgdGhpcy5fcHJvbXB0
LmVsZW1lbnQpOwogCiAgICAgdGhpcy5zdGFydE5ld1Nlc3Npb24oKTsKIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9LZXlib2FyZFNob3J0Y3V0Lmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvS2V5Ym9hcmRTaG9ydGN1dC5q
cwppbmRleCBiODJhMTRhLi5mY2Y5YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9LZXlib2FyZFNob3J0Y3V0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0tleWJvYXJkU2hvcnRjdXQuanMKQEAgLTg5LDcgKzg5LDEy
IEBAIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyID0gewogICAgIFNoaWZ0
OiAxLAogICAgIENvbnRyb2w6IDIsCiAgICAgT3B0aW9uOiA0LAotICAgIENvbW1hbmQ6IDgKKyAg
ICBDb21tYW5kOiA4LAorCisgICAgZ2V0IENvbW1hbmRPckNvbnRyb2woKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIChJbnNwZWN0b3JGcm9udGVuZEhvc3QucGxhdGZvcm0gPT09ICJtYWMiKSA/IHRo
aXMuQ29tbWFuZCA6IHRoaXMuQ29udHJvbDsKKyAgICB9CiB9OwogCiBXZWJJbnNwZWN0b3IuS2V5
ID0gZnVuY3Rpb24oa2V5Q29kZSwgZGlzcGxheU5hbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Mb2dDb250ZW50Vmlldy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xvZ0NvbnRlbnRWaWV3LmpzCmluZGV4IDVkYWVjZjgu
LjYwYzg1ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L0xvZ0NvbnRlbnRWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0xvZ0NvbnRlbnRWaWV3LmpzCkBAIC00NSw3ICs0NSw3IEBAIFdlYkluc3BlY3Rvci5Mb2dD
b250ZW50VmlldyA9IGZ1bmN0aW9uKHJlcHJlc2VudGVkT2JqZWN0KQogCiAgICAgdGhpcy5wcm9t
cHQgPSBXZWJJbnNwZWN0b3IucXVpY2tDb25zb2xlLnByb21wdDsKIAotICAgIHRoaXMuX2tleWJv
YXJkU2hvcnRjdXRDb21tYW5kQSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kLCAiQSIpOworICAg
IHRoaXMuX2tleWJvYXJkU2hvcnRjdXRDb21tYW5kQSA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5k
T3JDb250cm9sLCAiQSIpOwogICAgIHRoaXMuX2tleWJvYXJkU2hvcnRjdXRFc2MgPSBuZXcgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQobnVsbCwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQuS2V5LkVzY2FwZSk7CiAKICAgICB0aGlzLl9sb2dWaWV3Q29udHJvbGxlciA9IG5ldyBX
ZWJJbnNwZWN0b3IuSmF2YVNjcmlwdExvZ1ZpZXdDb250cm9sbGVyKHRoaXMubWVzc2FnZXNFbGVt
ZW50LCB0aGlzLmVsZW1lbnQsIHRoaXMucHJvbXB0LCB0aGlzLCAiY29uc29sZS1wcm9tcHQtaGlz
dG9yeSIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uanMKaW5k
ZXggMDNlMDQ1Yi4uNmEwYmJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9NYWluLmpzCkBAIC0xNzgsMTMgKzE3OCwxMyBAQCBXZWJJbnNwZWN0b3IuY29udGVudExv
YWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLmRldGFpbHNTaWRlYmFyLmFkZEV2ZW50TGlzdGVu
ZXIoV2ViSW5zcGVjdG9yLlNpZGViYXIuRXZlbnQuV2lkdGhEaWRDaGFuZ2UsIHRoaXMuX3NpZGVi
YXJXaWR0aERpZENoYW5nZSwgdGhpcyk7CiAgICAgdGhpcy5kZXRhaWxzU2lkZWJhci5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5TaWRlYmFyLkV2ZW50LlNpZGViYXJQYW5lbFNlbGVjdGVk
LCB0aGlzLl9kZXRhaWxzU2lkZWJhclBhbmVsU2VsZWN0ZWQsIHRoaXMpOwogCi0gICAgdGhpcy5f
cmVsb2FkUGFnZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hv
cnRjdXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCwgIlIi
LCB0aGlzLl9yZWxvYWRQYWdlLmJpbmQodGhpcykpOwotICAgIHRoaXMuX3JlbG9hZFBhZ2VJZ25v
cmluZ0NhY2hlS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kIHwgV2Vi
SW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJSIiwgdGhpcy5fcmVs
b2FkUGFnZUlnbm9yaW5nQ2FjaGUuYmluZCh0aGlzKSk7CisgICAgdGhpcy5fcmVsb2FkUGFnZUtl
eWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQoV2ViSW5z
cGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZE9yQ29udHJvbCwgIlIiLCB0
aGlzLl9yZWxvYWRQYWdlLmJpbmQodGhpcykpOworICAgIHRoaXMuX3JlbG9hZFBhZ2VJZ25vcmlu
Z0NhY2hlS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
IHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJSIiwgdGhp
cy5fcmVsb2FkUGFnZUlnbm9yaW5nQ2FjaGUuYmluZCh0aGlzKSk7CiAKLSAgICB0aGlzLl9pbnNw
ZWN0TW9kZUtleWJvYXJkU2hvcnRjdXQgPSBuZXcgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRj
dXQoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuQ29tbWFuZCB8IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLlNoaWZ0LCAiQyIsIHRoaXMuX3RvZ2ds
ZUluc3BlY3RNb2RlLmJpbmQodGhpcykpOworICAgIHRoaXMuX2luc3BlY3RNb2RlS2V5Ym9hcmRT
aG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9sIHwgV2ViSW5zcGVjdG9y
LktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJDIiwgdGhpcy5fdG9nZ2xlSW5zcGVj
dE1vZGUuYmluZCh0aGlzKSk7CiAKLSAgICB0aGlzLl91bmRvS2V5Ym9hcmRTaG9ydGN1dCA9IG5l
dyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5Nb2RpZmllci5Db21tYW5kLCAiWiIsIHRoaXMuX3VuZG9LZXlib2FyZFNob3J0Y3V0LmJp
bmQodGhpcykpOwotICAgIHRoaXMuX3JlZG9LZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVyLkNvbW1hbmQgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlm
dCwgIloiLCB0aGlzLl9yZWRvS2V5Ym9hcmRTaG9ydGN1dC5iaW5kKHRoaXMpKTsKKyAgICB0aGlz
Ll91bmRvS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5Db21tYW5kT3JDb250cm9s
LCAiWiIsIHRoaXMuX3VuZG9LZXlib2FyZFNob3J0Y3V0LmJpbmQodGhpcykpOworICAgIHRoaXMu
X3JlZG9LZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wg
fCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIloiLCB0aGlz
Ll9yZWRvS2V5Ym9hcmRTaG9ydGN1dC5iaW5kKHRoaXMpKTsKICAgICB0aGlzLl91bmRvS2V5Ym9h
cmRTaG9ydGN1dC5pbXBsaWNpdGx5UHJldmVudHNEZWZhdWx0ID0gdGhpcy5fcmVkb0tleWJvYXJk
U2hvcnRjdXQuaW1wbGljaXRseVByZXZlbnRzRGVmYXVsdCA9IGZhbHNlOwogCiAgICAgdGhpcy51
bmRvY2tCdXR0b25OYXZpZ2F0aW9uSXRlbSA9IG5ldyBXZWJJbnNwZWN0b3IuVG9nZ2xlQ29udHJv
bFRvb2xiYXJJdGVtKCJ1bmRvY2siLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkRldGFjaCBpbnRv
IHNlcGFyYXRlIHdpbmRvdyIpLCAiIiwgIkltYWdlcy9VbmRvY2suc3ZnIiwgIiIsIDE2LCAxNCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9SZXNvdXJj
ZVNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jl
c291cmNlU2lkZWJhclBhbmVsLmpzCmluZGV4IGZmMDdjMDYuLjNmNTg3MDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jlc291cmNlU2lkZWJhclBhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Jlc291cmNlU2lk
ZWJhclBhbmVsLmpzCkBAIC00OCw3ICs0OCw3IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGVi
YXJQYW5lbCA9IGZ1bmN0aW9uKCkgewogICAgIHRoaXMuX3NlYXJjaFF1ZXJ5U2V0dGluZyA9IG5l
dyBXZWJJbnNwZWN0b3IuU2V0dGluZygic2VhcmNoLXNpZGViYXItcXVlcnkiLCAiIik7CiAgICAg
dGhpcy5faW5wdXRFbGVtZW50LnZhbHVlID0gdGhpcy5fc2VhcmNoUXVlcnlTZXR0aW5nLnZhbHVl
OwogCi0gICAgdGhpcy5fc2VhcmNoS2V5Ym9hcmRTaG9ydGN1dCA9IG5ldyBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dChXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5D
b21tYW5kIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXIuU2hpZnQsICJG
IiwgdGhpcy5fZm9jdXNTZWFyY2hGaWVsZC5iaW5kKHRoaXMpKTsKKyAgICB0aGlzLl9zZWFyY2hL
ZXlib2FyZFNob3J0Y3V0ID0gbmV3IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0KFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVyLkNvbW1hbmRPckNvbnRyb2wgfCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllci5TaGlmdCwgIkYiLCB0aGlzLl9mb2N1
c1NlYXJjaEZpZWxkLmJpbmQodGhpcykpOwogCiAgICAgdGhpcy5fbG9jYWxTdG9yYWdlUm9vdFRy
ZWVFbGVtZW50ID0gbnVsbDsKICAgICB0aGlzLl9zZXNzaW9uU3RvcmFnZVJvb3RUcmVlRWxlbWVu
dCA9IG51bGw7Ci0tIAoxLjguMS4yCgo=
</data>
<flag name="commit-queue"
          id="234393"
          type_id="3"
          status="-"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>