<?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>119012</bug_id>
          
          <creation_ts>2013-07-23 07:17:36 -0700</creation_ts>
          <short_desc>Web Inspector: pressing the Cmd key over a CSS property should underline it immediately (jump to definition mode)</short_desc>
          <delta_ts>2013-10-04 16:00:32 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>911028</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-07-23 07:17:36 -0700</bug_when>
    <thetext>When the user mouses over a CSS property in the styles panel and pressed the command key, it should underline directly so that it&apos;s clear that jump-to-definition is available. Right now, you need to move the mouse before the Cmd key press is registered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>911030</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-07-23 07:18:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/14521089&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935780</commentid>
    <comment_count>2</comment_count>
      <attachid>213249</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-03 08:27:26 -0700</bug_when>
    <thetext>Created attachment 213249
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935869</commentid>
    <comment_count>3</comment_count>
      <attachid>213249</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-10-03 11:11:27 -0700</bug_when>
    <thetext>Comment on attachment 213249
Patch

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

I think you can remove a bunch of code here now right? If CodeMirrorTokenTracking controller is always tracking when appropriate then:

    1. Make CodeMirrorTokenTrackingController.prototype.{start,stop}Tracking private, or roll them into _mouseEntered and _mouseLeft
    2. Remove CodeMirrorTokenTrackingController.prototype.tracking and code that uses it
      - Remove SourceCodeTextEditor.prototype._shouldTrackTokenHovering, _startTrackingTokenHoveringIfNeeded, _stopTrackingTokenHoveringIfNeeded, _debuggerDidPause
      - Remove registration and callers of _debuggerDidPause

The only thing I am unsure of is the bottom two lines of this patch (if we disable jump to symbol tracking by unpressing Cmd, the removal highlighted range). I suspect you can just remove the if tracking branch.

I&apos;d like to see a follow up patch removing the dead code!

&gt; Source/WebInspectorUI/ChangeLog:22
&gt; +        tracking since otherwise pressing the Cmd key over a read-only editor could highlight the previously selected
&gt; +        candidate of another editor.

Is that really true? Each editor gets a separate tokenTrackingController instance, how could a range be highlighted in a separate editor?

&gt; Source/WebInspectorUI/UserInterface/Main.js:110
&gt; +    window.addEventListener(&quot;mousemove&quot;, this._mousemoved.bind(this), true);

Style: &quot;_mousemoved&quot; =&gt; &quot;_mouseMoved&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935944</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-03 13:05:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 213249 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213249&amp;action=review
&gt; 
&gt; I think you can remove a bunch of code here now right? If CodeMirrorTokenTracking controller is always tracking when appropriate then:
&gt; 
&gt;     1. Make CodeMirrorTokenTrackingController.prototype.{start,stop}Tracking private, or roll them into _mouseEntered and _mouseLeft
&gt;     2. Remove CodeMirrorTokenTrackingController.prototype.tracking and code that uses it
&gt;       - Remove SourceCodeTextEditor.prototype._shouldTrackTokenHovering, _startTrackingTokenHoveringIfNeeded, _stopTrackingTokenHoveringIfNeeded, _debuggerDidPause
&gt;       - Remove registration and callers of _debuggerDidPause
&gt; 
&gt; The only thing I am unsure of is the bottom two lines of this patch (if we disable jump to symbol tracking by unpressing Cmd, the removal highlighted range). I suspect you can just remove the if tracking branch.
&gt; 
&gt; I&apos;d like to see a follow up patch removing the dead code!

Most of the code I added ends up being specific to the NonSymbolTokens mode, I should see if I could shave off some code for the other mode too.

&gt; &gt; Source/WebInspectorUI/ChangeLog:22
&gt; &gt; +        tracking since otherwise pressing the Cmd key over a read-only editor could highlight the previously selected
&gt; &gt; +        candidate of another editor.
&gt; 
&gt; Is that really true? Each editor gets a separate tokenTrackingController instance, how could a range be highlighted in a separate editor?

Because the monitoring of key modifier changes is shared through all text editor instances. There&apos;s probably another way to deal with this though.

&gt; &gt; Source/WebInspectorUI/UserInterface/Main.js:110
&gt; &gt; +    window.addEventListener(&quot;mousemove&quot;, this._mousemoved.bind(this), true);
&gt; 
&gt; Style: &quot;_mousemoved&quot; =&gt; &quot;_mouseMoved&quot;

Thanks for spotting that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935958</commentid>
    <comment_count>5</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-10-03 13:44:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 213249 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213249&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebInspectorUI/ChangeLog:22
&gt; &gt; &gt; +        tracking since otherwise pressing the Cmd key over a read-only editor could highlight the previously selected
&gt; &gt; &gt; +        candidate of another editor.
&gt; &gt; 
&gt; &gt; Is that really true? Each editor gets a separate tokenTrackingController instance, how could a range be highlighted in a separate editor?
&gt; 
&gt; Because the monitoring of key modifier changes is shared through all text editor instances. There&apos;s probably another way to deal with this though.

But shouldn&apos;t your mouse only be over one editor, so only that editor will have a candidate / update.

Maybe this is indicative of a bug? Maybe on mouseLeft we need to clear something? It already clears the tracking state, so many something should respect the tracking state?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936167</commentid>
    <comment_count>6</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-04 05:48:27 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (From update of attachment 213249 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213249&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebInspectorUI/ChangeLog:22
&gt; &gt; &gt; &gt; +        tracking since otherwise pressing the Cmd key over a read-only editor could highlight the previously selected
&gt; &gt; &gt; &gt; +        candidate of another editor.
&gt; &gt; &gt; 
&gt; &gt; &gt; Is that really true? Each editor gets a separate tokenTrackingController instance, how could a range be highlighted in a separate editor?
&gt; &gt; 
&gt; &gt; Because the monitoring of key modifier changes is shared through all text editor instances. There&apos;s probably another way to deal with this though.
&gt; 
&gt; But shouldn&apos;t your mouse only be over one editor, so only that editor will have a candidate / update.
&gt; 
&gt; Maybe this is indicative of a bug? Maybe on mouseLeft we need to clear something? It already clears the tracking state, so many something should respect the tracking state?

Correct! I&apos;ll fix this in an updated patch coming up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936176</commentid>
    <comment_count>7</comment_count>
      <attachid>213357</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-04 06:22:05 -0700</bug_when>
    <thetext>Created attachment 213357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936337</commentid>
    <comment_count>8</comment_count>
      <attachid>213357</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-10-04 13:21:39 -0700</bug_when>
    <thetext>Comment on attachment 213357
Patch

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

r=me, thanks for cleaning up the dead code!

&gt; Source/WebInspectorUI/ChangeLog:46
&gt; +        &quot;mouseleave&quot; event hanling when we&apos;re in the &quot;enabled&quot; state. Additionally, the public

Typo: &quot;hanling&quot; =&gt; &quot;handling&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936361</commentid>
    <comment_count>9</comment_count>
      <attachid>213398</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-04 14:00:43 -0700</bug_when>
    <thetext>Created attachment 213398
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936362</commentid>
    <comment_count>10</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2013-10-04 14:01:07 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 213357 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=213357&amp;action=review
&gt; 
&gt; r=me, thanks for cleaning up the dead code!

My pleasure, thanks for the thoughtful and thorough review!

&gt; &gt; Source/WebInspectorUI/ChangeLog:46
&gt; &gt; +        &quot;mouseleave&quot; event hanling when we&apos;re in the &quot;enabled&quot; state. Additionally, the public
&gt; 
&gt; Typo: &quot;hanling&quot; =&gt; &quot;handling&quot;

Will be fixed in commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936410</commentid>
    <comment_count>11</comment_count>
      <attachid>213398</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 16:00:29 -0700</bug_when>
    <thetext>Comment on attachment 213398
Patch for landing

Clearing flags on attachment: 213398

Committed r156923: &lt;http://trac.webkit.org/changeset/156923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>936411</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-04 16:00:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213249</attachid>
            <date>2013-10-03 08:27:26 -0700</date>
            <delta_ts>2013-10-04 06:22:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119012-20131003172729.patch</filename>
            <type>text/plain</type>
            <size>16544</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
OTExYjQ2NWZkZjc5MzUyYjBlM2QyYzdkNzRkMTg4MzNmYzQ4NzI3Li40ZGU4ZGZhZTNhMmMwZDE4
NDdlOTBhYTk0MDYwNTA3N2VkMjhlZDEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4NyBAQAorMjAxMy0xMC0wMyAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByZXNzaW5nIHRoZSBDbWQga2V5IG92ZXIgYSBD
U1MgcHJvcGVydHkgc2hvdWxkIHVuZGVybGluZSBpdCBpbW1lZGlhdGVseSAoanVtcCB0byBkZWZp
bml0aW9uIG1vZGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwMTIKKworICAgICAgICBJbnN0ZWFkIG9mIHRyYWNraW5nIGhvdmVyZWQgdG9rZW5z
IG9ubHkgd2hlbiB0aGUgQ21kIGtleSBpcyBwcmVzc2VkLCB3ZSBub3cgdHJhY2sgaG92ZXJlZCB0
b2tlbnMgYXMgc29vbiBhcyB0aGUKKyAgICAgICAgZWRpdG9yIGlzIGJlaW5nIGhvdmVyZWQgb3Zl
ci4gVGhpcyBhbGxvd3MgdXMgdG8gcmVhY3QgdG8gYSBDbWQga2V5cHJlc3MgZXZlbnQgYXMgZXhw
ZWN0ZWQgYW5kIHVuZGVybGluZSB0aGUgQ1NTCisgICAgICAgIHByb3BlcnR5IG9yIEpTIHNvdXJj
ZSBjb2RlIGluIGEgc291cmNlIG1hcC4gVGhpcyBhbHNvIGZpeGVzIGh0dHA6Ly93ZWJraXQub3Jn
L2IvMTE5MDExLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5wcm90b3R5
cGUuX3Jlc2V0Q29udGVudCk6CisgICAgICAgIEVuYWJsZSB0aGUgdG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIgYmFzZWQgb24gd2hldGhlciB0aGUgZWRpdG9yIGlzIHJlYWQtb25seS4gVGhpcyBlbnN1
cmVzIHRoYXQgd2UgY2FuJ3QKKyAgICAgICAgaGF2ZSBoaWdobGlnaHRpbmcgb2YgQ1NTIHByb3Bl
cnRpZXMgaW4gdXNlciBzdHlsZXNoZWV0IHJ1bGVzLgorCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IucHJvdG90eXBlLl91cGRhdGVKdW1wVG9TeW1i
b2xUcmFja2luZ01vZGUpOgorICAgICAgICBIaWdobGlnaHQgdGhlIGxhc3Qga25vd24gaG92ZXJl
ZCBjYW5kaWRhdGUncyByYW5nZSBhcyBzb29uIGFzIHRoZSBDbWQga2V5IGlzIHByZXNzZWQuIFdl
IG5vIGxvbmdlciBzdGFydAorICAgICAgICBhbmQgc3RvcCB0cmFja2luZyBoZXJlIHNpbmNlIHRo
ZSB0b2tlblRyYWNraW5nQ29udHJvbGxlciB3aWxsIGhhbmRsZSB0aGlzIGF1dG9tYXRpY2FsbHkg
bm93IHdoZW4gdGhlIG1vZGUKKyAgICAgICAgaXMgc2V0IHRvIE5vblN5bWJvbFRva2Vucy4gTm90
ZSB0aGF0IHRoaXMgbWV0aG9kIG5vdyBvbmx5IHJ1bnMgd2hlbiB0aGUgdG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIgaXMgYWxyZWFkeQorICAgICAgICB0cmFja2luZyBzaW5jZSBvdGhlcndpc2UgcHJl
c3NpbmcgdGhlIENtZCBrZXkgb3ZlciBhIHJlYWQtb25seSBlZGl0b3IgY291bGQgaGlnaGxpZ2h0
IHRoZSBwcmV2aW91c2x5IHNlbGVjdGVkCisgICAgICAgIGNhbmRpZGF0ZSBvZiBhbm90aGVyIGVk
aXRvci4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRp
dG9yLnByb3RvdHlwZS50b2tlblRyYWNraW5nQ29udHJvbGxlck5ld0hpZ2hsaWdodENhbmRpZGF0
ZSk6CisgICAgICAgIEhpZ2hsaWdodCB0aGUgY2FuZGlkYXRlIHJhbmdlIG9ubHkgd2hlbiBfanVt
cFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCBpcyBvbi4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5n
ZXQgZW5hYmxlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tp
bmdDb250cm9sbGVyLnByb3RvdHlwZS5zZXQgZW5hYmxlZCk6CisgICAgICAgIE5ldyBlbmFibGVk
IHN0YXRlIGZvciB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIgd2hpY2ggaW5kaWNhdGVzIHdo
ZXRoZXIgaXQgbWF5IGJlY29tZSAiYWN0aXZlIgorICAgICAgICBhdCBhbGwgdW5kZXIgdGhlIHJp
Z2h0IGNpcmN1bXN0YW5jZXMuIFRoaXMgc2hvdWxkIGJlIGZhbHNlIGZvciByZWFkLW9ubHkgZWRp
dG9ycy4gU2luY2UgdGhlCisgICAgICAgIHRva2VuVHJhY2tpbmdDb250cm9sbGVyIGNhbiBiZWNv
bWUgImFjdGl2ZSIgaWYgdGhlIG1vZGUgaXMgYWxzbyBzZXQgdG8gTm9uU3ltYm9sVG9rZW5zLCB3
ZQorICAgICAgICB1cGRhdGUgdGhlIGFjdGl2ZSBzdGF0ZSBoZXJlLgorCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5zZXQg
bW9kZSk6CisgICAgICAgIFNpbmNlIHRoZSB0b2tlblRyYWNraW5nQ29udHJvbGxlciBjYW4gYmVj
b21lICJhY3RpdmUiIGlmIHRoZSBtb2RlIGlzIHNldCB0byBOb25TeW1ib2xUb2tlbnMsIGFuZAor
ICAgICAgICB0aGUgImVuYWJsZWQiIHN0YXRlIGlzIHNldCB0byB0cnVlLCB3ZSB1cGRhdGUgdGhl
IGFjdGl2ZSBzdGF0ZSBoZXJlLgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRv
a2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5oaWdobGlnaHRMYXN0SG92ZXJlZFJhbmdl
KToKKyAgICAgICAgTmV3IHB1YmxpYyBtZXRob2QgYWxsb3dpbmcgdG8gaGlnaGxpZ2h0IHRoZSBs
YXN0IGtub3cgY2FuZGlkYXRlIHJhbmdlLCBpZiBhbnkuIFRoaXMgaXMgdXNlZCBmcm9tCisgICAg
ICAgIGVkaXRvciBjb2RlIHdoZW4gdGhlIENtZCBrZXkgaXMgcHJlc3NlZCBhbmQgd2Ugd2FudCB0
byBmb3JjZSB0aGUgbGFzdCBrbm93IGNhbmRpZGF0ZSB0byBiZQorICAgICAgICBoaWdobGlnaHRl
ZC4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJv
bGxlci5wcm90b3R5cGUuaGFuZGxlRXZlbnQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVN
aXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUuX21vdXNlRW50ZXJlZCk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnBy
b3RvdHlwZS5fbW91c2VMZWZ0KToKKyAgICAgICAgTmV3IGhhbmRsZXJzIGZvciB0aGUgIm1vdXNl
ZW50ZXIiIGFuZCAibW91c2VsZWF2ZSIgZXZlbnRzIHdoaWNoIGNvbnRyb2wgdGhlIHRyYWNraW5n
IHN0YXRlIHdoZW4KKyAgICAgICAgdGhlIHRva2VuVHJhY2tpbmdDb250cm9sbGVyIGlzIGFjdGl2
ZS4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJv
bGxlci5wcm90b3R5cGUuX21vdXNlTW92ZWRPdmVyRWRpdG9yKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLl91cGRhdGVI
b3ZlcmVkVG9rZW5JbmZvKToKKyAgICAgICAgUmVmYWN0b3IgX21vdXNlTW92ZWRPdmVyRWRpdG9y
KCkgaW50byB0d28gbWV0aG9kcyB3aXRoIHRoZSBuZXcgX3VwZGF0ZUhvdmVyZWRUb2tlbkluZm8o
KQorICAgICAgICBhbGxvd2luZyB0byBjdXN0b21pemUgdGhlIG1vdXNlIGNvb3JkaW5hdGVzIHRv
IGJlIHVzZWQgc2luY2Ugd2UgbWF5IGNhbGwKKyAgICAgICAgX3VwZGF0ZUhvdmVyZWRUb2tlbklu
Zm8oKSBvdXRzaWRlIG9mIHRoZSBjb250ZXh0IG9mIGEgbW91c2UgZXZlbnQgKGllLiBhIGtleXBy
ZXNzIGV2ZW50KS4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNr
aW5nQ29udHJvbGxlci5wcm90b3R5cGUuX3dpbmRvd0xvc3RGb2N1cyk6CisgICAgICAgIFJlbW92
ZSB0aGUgaGlnaGxpZ2h0ZWQgcmFuZ2UgaWYgdGhlIHdpbmRvdyBsb3NlcyBmb2N1cyBzaW5jZSB0
aGlzIHJhbmdlIHdvdWxkIGJlIHN0YWxlLgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1p
cnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5fdXBkYXRlQWN0aXZlU3RhdGUp
OgorICAgICAgICBTZXQgdGhlIGFjdGl2ZSBzdGF0ZSBkZXBlbmRpbmcgb24gdGhlIGVuYWJsZWQg
c3RhdGUgYW5kIG1vZGUuIElmIHdlIGRldGVybWluZSB3ZSBzaG91bGQgYmUgYWN0aXZlLAorICAg
ICAgICB3ZSBzdGFydCB0cmFja2luZyAibW91c2VlbnRlciIgYW5kICJtb3VzZWxlYXZlIiBldmVu
dHMgYW5kIHN0YXJ0IHRyYWNraW5nIHJpZ2h0IGF3YXkgdG8gY292ZXIgY2FzZXMKKyAgICAgICAg
d2hlcmUgdGhlIG1vdXNlIHBvaW50ZXIgd291bGQgYWxyZWFkeSBiZSBvdmVyIHRoZSBlZGl0b3Ig
YW5kIHdlIGNvdWxkbid0IHJlbHkgb24gdGhlICJtb3VzZWVudGVyIgorICAgICAgICBhbmQgIm1v
dXNlbGVhdmUiIGV2ZW50IGhhbmRsZXJzIHRvIGNvbnRyb2wgdGhlIHRyYWNraW5nIHN0YXRlLiBB
ZGRpdGlvbmFsbHksIGlmIHdlIGp1c3QgYmVjYW1lIGFjdGl2ZSwKKyAgICAgICAgd2UgdXBkYXRl
IHRoZSBjYW5kaWRhdGUgYmFzZWQgb24gdGhlIG1vdXNlIGNvb3JkaW5hdGVzIHJlY29yZGVkIGF0
IHRoZSB3aW5kb3cgbGV2ZWwgc2luY2UgdGhlCisgICAgICAgICJtb3VzZW1vdmUiIGV2ZW50IGhh
bmRsZXJzIHdvdWxkIG5vdCBoYXZlIGJlZW4gYWJsZSB0byBzZXQgdGhlIGNhbmRpZGF0ZSB5ZXQu
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01haW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0
b3IubG9hZGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fbW91c2Vtb3ZlZCk6CisgICAgICAg
IEFkZCBhIG5ldyB3aW5kb3ctbGV2ZWwgIm1vdXNlbW92ZSIgZXZlbnQgaGFuZGxlciB0byBhbHdh
eXMgdHJhY2sgbW91c2UgY29vcmRpbmF0ZXMgYW5kIGtleSBtb2RpZmllcgorICAgICAgICBzdGF0
ZXMuIFRoaXMgZW5zdXJlcyB0aGF0IHdlIG1heSBoYXZlIHRoZSBtb3N0IGFjY3VyYXRlIGluZm9y
bWF0aW9uIHBvc3NpYmxlIGZvciBrZXkgbW9kaWZpZXJzIGFuZAorICAgICAgICBhbGxvdyBjb2Rl
IHRvIHF1ZXJ5IHRoZSBsYXN0IHJlY29yZGVkIG1vdXNlIHBvc2l0aW9uIGluIHNpdHVhdGlvbnMg
d2hlcmUgaXQgd291bGRuJ3QgYmUgcG9zc2libGUKKyAgICAgICAgdG8gaGF2ZSBkZWFsdCB3aXRo
IGEgbW91c2UgZXZlbnQsIGFzIGlzIHRoZSBjYXNlIHdoZW4gdGhlIHRva2VuVHJhY2tpbmdDb250
cm9sbGVyIGp1c3QgYmVjYW1lIGFjdGl2ZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvU291
cmNlQ29kZVRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRl
eHRFZGl0b3IpOgorICAgICAgICBBbHdheXMgZW5hYmxlIHRoZSB0b2tlblRyYWNraW5nQ29udHJv
bGxlciBmb3IgdGhlc2UgZWRpdG9ycy4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNv
ZGVUZXh0RWRpdG9yLnByb3RvdHlwZS5fdXBkYXRlSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlKToK
KyAgICAgICAgSGlnaGxpZ2h0IHRoZSBsYXN0IGtub3duIGhvdmVyZWQgY2FuZGlkYXRlJ3MgcmFu
Z2UgYXMgc29vbiBhcyB0aGUgQ21kIGtleSBpcyBwcmVzc2VkLiBXZSBubyBsb25nZXIgc3RhcnQK
KyAgICAgICAgYW5kIHN0b3AgdHJhY2tpbmcgaGVyZSBzaW5jZSB0aGUgdG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIgd2lsbCBoYW5kbGUgdGhpcyBhdXRvbWF0aWNhbGx5IG5vdyB3aGVuIHRoZSBtb2Rl
CisgICAgICAgIGlzIHNldCB0byBOb25TeW1ib2xUb2tlbnMuCisKIDIwMTMtMTAtMDEgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBl
dmFsdWF0ZSBhbmQgc2hvdyBhIHBvcG92ZXIgZm9yIHNlbGVjdGVkIHRleHQgaW4gSlMgc291cmNl
IHdoZW4gcGF1c2VkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCmluZGV4
IDU0Y2NjYzJlYzlhMGM5YWNjMGE4MGU0YmI4M2ZhNjBjNGYwMDkyZDYuLjI1ZmFmN2U1YTI5ODVk
NGNjYTY4YTVjMWYyNDg3ZjcwNjQ5YjRhNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NTU1N0eWxlRGVjbGFyYXRpb25U
ZXh0RWRpdG9yLmpzCkBAIC04NDUsNiArODQ1LDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVj
bGFyYXRpb25UZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgLy8gT25seSBhbGxvdyBl
ZGl0aW5nIGlmIHdlIGhhdmUgYSBzdHlsZSwgaXQgaXMgZWRpdGFibGUgYW5kIHdlIGhhdmUgdGV4
dCByYW5nZSBpbiB0aGUgc3R5bGVzaGVldC4KICAgICAgICAgdmFyIHJlYWRPbmx5ID0gIXRoaXMu
X3N0eWxlIHx8ICF0aGlzLl9zdHlsZS5lZGl0YWJsZSB8fCAhdGhpcy5fc3R5bGUuc3R5bGVTaGVl
dFRleHRSYW5nZTsKICAgICAgICAgdGhpcy5fY29kZU1pcnJvci5zZXRPcHRpb24oInJlYWRPbmx5
IiwgcmVhZE9ubHkpOworICAgICAgICB0aGlzLl90b2tlblRyYWNraW5nQ29udHJvbGxlci5lbmFi
bGVkID0gIXJlYWRPbmx5OwogCiAgICAgICAgIGlmIChyZWFkT25seSkgewogICAgICAgICAgICAg
dGhpcy5lbGVtZW50LmNsYXNzTGlzdC5hZGQoV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRp
b25UZXh0RWRpdG9yLlJlYWRPbmx5U3R5bGVDbGFzc05hbWUpOwpAQCAtOTk0LDYgKzk5NSw5IEBA
IFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7
CiAKICAgICBfdXBkYXRlSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlOiBmdW5jdGlvbigpCiAgICAg
eworICAgICAgICBpZiAoIXRoaXMuX3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLnRyYWNraW5nKQor
ICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHZhciBvbGRKdW1wVG9TeW1ib2xUcmFja2lu
Z01vZGVFbmFibGVkID0gdGhpcy5fanVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZDsKIAog
ICAgICAgICBpZiAoIXRoaXMuX3N0eWxlIHx8ICF0aGlzLl9zdHlsZS5vd25lclJ1bGUgfHwgIXRo
aXMuX3N0eWxlLm93bmVyUnVsZS5zb3VyY2VDb2RlTG9jYXRpb24pCkBAIC0xMDAzLDExICsxMDA3
LDkgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLnByb3RvdHlw
ZSA9IHsKIAogICAgICAgICBpZiAob2xkSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCAh
PT0gdGhpcy5fanVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCkgewogICAgICAgICAgICAg
aWYgKHRoaXMuX2p1bXBUb1N5bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQpCi0gICAgICAgICAgICAg
ICAgdGhpcy5fdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuc3RhcnRUcmFja2luZygpOwotICAgICAg
ICAgICAgZWxzZSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5fdG9rZW5UcmFja2luZ0NvbnRyb2xs
ZXIuc3RvcFRyYWNraW5nKCk7CisgICAgICAgICAgICAgICAgdGhpcy5fdG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIuaGlnaGxpZ2h0TGFzdEhvdmVyZWRSYW5nZSgpOworICAgICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgICAgIHRoaXMuX3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLnJlbW92ZUhpZ2hs
aWdodGVkUmFuZ2UoKTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0sCiAKQEAgLTEw
NDUsNyArMTA0Nyw4IEBAIFdlYkluc3BlY3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRv
ci5wcm90b3R5cGUgPSB7CiAKICAgICB0b2tlblRyYWNraW5nQ29udHJvbGxlck5ld0hpZ2hsaWdo
dENhbmRpZGF0ZTogZnVuY3Rpb24odG9rZW5UcmFja2luZ0NvbnRyb2xsZXIsIGNhbmRpZGF0ZSkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLmhpZ2hsaWdodFJh
bmdlKGNhbmRpZGF0ZS5ob3ZlcmVkVG9rZW5SYW5nZSk7CisgICAgICAgIGlmICh0aGlzLl9qdW1w
VG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkKQorICAgICAgICAgICAgdGhpcy5fdG9rZW5UcmFj
a2luZ0NvbnRyb2xsZXIuaGlnaGxpZ2h0UmFuZ2UoY2FuZGlkYXRlLmhvdmVyZWRUb2tlblJhbmdl
KTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xs
ZXIuanMKaW5kZXggY2E4Y2I4MTYwZjkzNDE1MjY1YTliZGNiYTE5YzQzYmRlMWI1ZjZkNC4uYTlh
ZjFlMjI0ZTQyMDhhMDBkNGMzNTkzNWNmZTIzNGVjNmZmM2VhMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250
cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvZGVN
aXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5qcwpAQCAtMzcsNiArMzcsOCBAQCBXZWJJbnNw
ZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyID0gZnVuY3Rpb24oY29kZU1p
cnJvciwgZGVsZWdhdGUpCiAgICAgdGhpcy5fbW91c2VPdXRSZWxlYXNlRGVsYXlEdXJhdGlvbiA9
IDA7CiAgICAgdGhpcy5fY2xhc3NOYW1lRm9ySGlnaGxpZ2h0ZWRSYW5nZSA9IG51bGw7CiAKKyAg
ICB0aGlzLl9hY3RpdmUgPSBmYWxzZTsKKyAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7CiAgICAg
dGhpcy5fdHJhY2tpbmcgPSBmYWxzZTsKICAgICB0aGlzLl9ob3ZlcmVkVG9rZW5JbmZvID0gbnVs
bDsKIH07CkBAIC02Myw2ICs2NSwyMSBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJh
Y2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSB4
OwogICAgIH0sCiAKKyAgICBnZXQgZW5hYmxlZCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhp
cy5fZW5hYmxlZDsKKyAgICB9LAorCisgICAgc2V0IGVuYWJsZWQoZW5hYmxlZCkKKyAgICB7Cisg
ICAgICAgIGlmICh0aGlzLl9lbmFibGVkID09PSBlbmFibGVkKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkOworCisgICAgICAgIHRoaXMuX3Vw
ZGF0ZUFjdGl2ZVN0YXRlKCk7CisgICAgfSwKKwogICAgIGdldCBtb2RlKCkKICAgICB7CiAgICAg
ICAgIHJldHVybiB0aGlzLl9tb2RlOwpAQCAtNzQsNiArOTEsOCBAQCBXZWJJbnNwZWN0b3IuQ29k
ZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0
aGlzLl9tb2RlID0geCB8fCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250
cm9sbGVyLk1vZGUuTm9uU3ltYm9sVG9rZW5zOwogCisgICAgICAgIHRoaXMuX3VwZGF0ZUFjdGl2
ZVN0YXRlKCk7CisKICAgICAgICAgaWYgKG9sZE1vZGUgIT09IHRoaXMuX21vZGUgJiYgdGhpcy5f
dHJhY2tpbmcgJiYgdGhpcy5faG92ZXJlZFRva2VuSW5mbykKICAgICAgICAgICAgIHRoaXMuX3By
b2Nlc3NOZXdIb3ZlcmVkVG9rZW4oKTsKICAgICB9LApAQCAtMTU3LDYgKzE3NiwxMiBAQCBXZWJJ
bnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgZGVsZXRlIHRoaXMuX2hvdmVyZWRUb2tlbkluZm87CiAgICAgfSwKIAorICAgIGhp
Z2hsaWdodExhc3RIb3ZlcmVkUmFuZ2U6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0
aGlzLl9jYW5kaWRhdGUpCisgICAgICAgICAgICB0aGlzLmhpZ2hsaWdodFJhbmdlKHRoaXMuX2Nh
bmRpZGF0ZS5ob3ZlcmVkVG9rZW5SYW5nZSk7CisgICAgfSwKKwogICAgIGhpZ2hsaWdodFJhbmdl
OiBmdW5jdGlvbihyYW5nZSkKICAgICB7CiAgICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gaWYgd2Un
cmUgdHJ5aW5nIHRvIGhpZ2hsaWdodCB0aGUgc2FtZSByYW5nZS4KQEAgLTE5OCw2ICsyMjMsMTIg
QEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5
cGUgPSB7CiAgICAgaGFuZGxlRXZlbnQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAg
c3dpdGNoIChldmVudC50eXBlKSB7CisgICAgICAgIGNhc2UgIm1vdXNlZW50ZXIiOgorICAgICAg
ICAgICAgdGhpcy5fbW91c2VFbnRlcmVkKGV2ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlICJtb3VzZWxlYXZlIjoKKyAgICAgICAgICAgIHRoaXMuX21vdXNlTGVmdChldmVu
dCk7CisgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSAibW91c2Vtb3ZlIjoKICAgICAg
ICAgICAgIGlmIChldmVudC5jdXJyZW50VGFyZ2V0ID09PSB3aW5kb3cpCiAgICAgICAgICAgICAg
ICAgdGhpcy5fbW91c2VNb3ZlZFdpdGhNYXJrZWRUZXh0KGV2ZW50KTsKQEAgLTIyMSw2ICsyNTIs
MTYgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIH0KICAgICB9LAogCisgICAgX21vdXNlRW50ZXJlZDogZnVuY3Rp
b24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLnN0YXJ0VHJhY2tpbmcoKTsKKyAgICB9LAor
CisgICAgX21vdXNlTGVmdDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB0aGlzLnN0
b3BUcmFja2luZygpOworICAgIH0sCisKICAgICBfbW91c2VNb3ZlZFdpdGhNYXJrZWRUZXh0OiBm
dW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHZhciBzaG91bGRSZWxlYXNlID0gIWV2ZW50
LnRhcmdldC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5fY2xhc3NOYW1lRm9ySGlnaGxpZ2h0ZWRS
YW5nZSk7CkBAIC0yNDYsMTMgKzI4NywxOSBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2Vu
VHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIF9tb3VzZU1vdmVkT3ZlckVk
aXRvcjogZnVuY3Rpb24oZXZlbnQpCiAgICAgeworICAgICAgICB0aGlzLl91cGRhdGVIb3ZlcmVk
VG9rZW5JbmZvKHtsZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWX0pOworICAgIH0s
CisKKyAgICBfdXBkYXRlSG92ZXJlZFRva2VuSW5mbzogZnVuY3Rpb24obW91c2VDb29yZHMpCisg
ICAgewogICAgICAgICAvLyBHZXQgdGhlIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGFuZCB0aGUgdG9r
ZW4gYXQgdGhhdCBwb3NpdGlvbi4KLSAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5fY29kZU1p
cnJvci5jb29yZHNDaGFyKHtsZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWX0pOwor
ICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLl9jb2RlTWlycm9yLmNvb3Jkc0NoYXIobW91c2VD
b29yZHMpOwogICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLl9jb2RlTWlycm9yLmdldFRva2VuQXQo
cG9zaXRpb24pOwogCiAgICAgICAgIGlmICghdG9rZW4gfHwgIXRva2VuLnR5cGUgfHwgIXRva2Vu
LnN0cmluZykgewogICAgICAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Rva2VuSG92ZXJUaW1l
cik7CiAgICAgICAgICAgICBkZWxldGUgdGhpcy5faG92ZXJlZFRva2VuSW5mbzsKKyAgICAgICAg
ICAgIHRoaXMucmVtb3ZlSGlnaGxpZ2h0ZWRSYW5nZSgpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKQEAgLTMxNSw2ICszNjIsNyBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRv
a2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIF93aW5kb3dMb3N0Rm9j
dXM6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKKyAgICAgICAgdGhpcy5yZW1vdmVIaWdobGlnaHRl
ZFJhbmdlKCk7CiAgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3Rpb25NYXlCZUluUHJvZ3Jlc3M7
CiAgICAgfSwKIApAQCAtNDMwLDYgKzQ3OCwyOCBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRv
a2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGV4cHJlc3Np
b246IGV4cHJlc3Npb24sCiAgICAgICAgICAgICBleHByZXNzaW9uUmFuZ2U6IHtzdGFydDogZXhw
cmVzc2lvblN0YXJ0UG9zaXRpb24sIGVuZDogZW5kUG9zaXRpb259LAogICAgICAgICB9OworICAg
IH0sCisKKyAgICBfdXBkYXRlQWN0aXZlU3RhdGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAg
IHZhciBhY3RpdmUgPSB0aGlzLl9lbmFibGVkICYmIHRoaXMuX21vZGUgPT09IFdlYkluc3BlY3Rv
ci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuTW9kZS5Ob25TeW1ib2xUb2tlbnM7
CisKKyAgICAgICAgaWYgKHRoaXMuX2FjdGl2ZSA9PT0gYWN0aXZlKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIHRoaXMuX2FjdGl2ZSA9IGFjdGl2ZTsKKworICAgICAgICB2YXIgd3Jh
cHBlciA9IHRoaXMuX2NvZGVNaXJyb3IuZ2V0V3JhcHBlckVsZW1lbnQoKTsKKyAgICAgICAgaWYg
KGFjdGl2ZSkgeworICAgICAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVu
dGVyIiwgdGhpcyk7CisgICAgICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNl
bGVhdmUiLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyZWRUb2tlbkluZm8o
e2xlZnQ6IFdlYkluc3BlY3Rvci5tb3VzZUNvb3Jkcy54LCB0b3A6IFdlYkluc3BlY3Rvci5tb3Vz
ZUNvb3Jkcy55fSk7CisgICAgICAgICAgICB0aGlzLnN0YXJ0VHJhY2tpbmcoKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vl
bnRlciIsIHRoaXMpOworICAgICAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJt
b3VzZWxlYXZlIiwgdGhpcyk7CisgICAgICAgICAgICB0aGlzLnN0b3BUcmFja2luZygpOworICAg
ICAgICB9CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L01haW4uanMKaW5kZXggNmEwYmJlOGNkZmI0OTM3NjZhOGJkN2RjOWM4M2U1YjcxNTFmOGQwNy4u
NWEwN2JkNjk0MDM4MzBlNTYxM2E5MDIyMDMyNzRmNmRmZTAwNmU3YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5qcworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmpzCkBAIC0xMDcsNiArMTA3LDcgQEAgV2Vi
SW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigicmVzaXplIiwgdGhpcy5fd2luZG93UmVzaXplZC5iaW5kKHRoaXMpKTsKICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX3dpbmRvd0tleURvd24uYmluZCh0aGlz
KSk7CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwgdGhpcy5fd2luZG93S2V5
VXAuYmluZCh0aGlzKSk7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIs
IHRoaXMuX21vdXNlbW92ZWQuYmluZCh0aGlzKSwgdHJ1ZSk7CiAKICAgICAvLyBDcmVhdGUgc2V0
dGluZ3MuCiAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTmF2aWdhdGlvblNpZGViYXJQYW5lbFNldHRp
bmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoImxhc3Qtc2VsZWN0ZWQtbmF2aWdhdGlvbi1z
aWRlYmFyLXBhbmVsIiwgInJlc291cmNlIik7CkBAIC0xMzUsNiArMTM2LDExIEBAIFdlYkluc3Bl
Y3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZG9ja0J1dHRvblRvZ2dsZWRTZXR0
aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJkb2NrLWJ1dHRvbi10b2dnbGVkIiwgZmFs
c2UpOwogCiAgICAgdGhpcy5zaG93U2hhZG93RE9NU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3Iu
U2V0dGluZygic2hvdy1zaGFkb3ctZG9tIiwgZmFsc2UpOworCisgICAgdGhpcy5tb3VzZUNvb3Jk
cyA9IHsKKyAgICAgICAgeDogMCwKKyAgICAgICAgeTogMAorICAgIH07CiB9CiAKIFdlYkluc3Bl
Y3Rvci5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQpAQCAtODA0LDYgKzgxMCwxNSBAQCBXZWJJ
bnNwZWN0b3IuX3dpbmRvd0tleVVwID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgdGhpcy51bmRvY2tC
dXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkID0gKGV2ZW50LmFsdEtleSAmJiAhZXZlbnQubWV0
YUtleSAmJiAhZXZlbnQuc2hpZnRLZXkpID8gb3Bwb3NpdGUgOiAhb3Bwb3NpdGU7CiB9CiAKK1dl
Ykluc3BlY3Rvci5fbW91c2Vtb3ZlZCA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAgIHRoaXMuX3Vw
ZGF0ZU1vZGlmaWVyS2V5cyhldmVudCk7CisgICAgdGhpcy5tb3VzZUNvb3JkcyA9IHsKKyAgICAg
ICAgeDogZXZlbnQucGFnZVgsCisgICAgICAgIHk6IGV2ZW50LnBhZ2VZCisgICAgfTsKK30KKwog
V2ViSW5zcGVjdG9yLl91bmRvY2sgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICB0aGlzLl9kb2Nr
QnV0dG9uVG9nZ2xlZFNldHRpbmcudmFsdWUgPSB0aGlzLnVuZG9ja0J1dHRvbk5hdmlnYXRpb25J
dGVtLnRvZ2dsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IDg3ZjMxMWM5ZjdmYjJmMTQx
NmE3ZjhiMzMxZWUzODJkYjk3NjJhNzMuLjk4M2FiNWY5OTM0ZDlkNjAwZDg3NzU0ZTY5Y2UzNTU0
YTFkODA1NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC02Niw2ICs2Niw4IEBAIFdlYklu
c3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvciA9IGZ1bmN0aW9uKHNvdXJjZUNvZGUpCiAgICAg
ICAgIHRoaXMuX3NvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuU291cmNl
Q29kZS5FdmVudC5Tb3VyY2VNYXBBZGRlZCwgdGhpcy5fc291cmNlQ29kZVNvdXJjZU1hcEFkZGVk
LCB0aGlzKTsKIAogICAgIHNvdXJjZUNvZGUucmVxdWVzdENvbnRlbnQodGhpcy5fY29udGVudEF2
YWlsYWJsZS5iaW5kKHRoaXMpKTsKKyAgICAKKyAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9s
bGVyLmVuYWJsZWQgPSB0cnVlOwogfTsKIAogV2ViSW5zcGVjdG9yLk9iamVjdC5hZGRDb25zdHJ1
Y3RvckZ1bmN0aW9ucyhXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IpOwpAQCAtOTQ5
LDkgKzk1MSw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUg
PSB7CiAgICAgICAgIGlmIChvbGRKdW1wVG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkICE9PSB0
aGlzLl9qdW1wVG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkKSB7CiAgICAgICAgICAgICBpZiAo
dGhpcy5fanVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCkgewogICAgICAgICAgICAgICAg
IHRoaXMuX2VuYWJsZUp1bXBUb1N5bWJvbFRyYWNraW5nTW9kZVNldHRpbmdzKCk7Ci0gICAgICAg
ICAgICAgICAgdGhpcy5fc3RhcnRUcmFja2luZ1Rva2VuSG92ZXJpbmdJZk5lZWRlZCgpOworICAg
ICAgICAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuaGlnaGxpZ2h0TGFzdEhv
dmVyZWRSYW5nZSgpOwogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB0aGlz
Ll9zdG9wVHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQoKTsKICAgICAgICAgICAgICAgICB0
aGlzLl9kaXNhYmxlSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlU2V0dGluZ3MoKTsKICAgICAgICAg
ICAgICAgICBpZiAoIXRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIudHJhY2tpbmcpCiAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucmVtb3ZlSGlnaGxp
Z2h0ZWRSYW5nZSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213357</attachid>
            <date>2013-10-04 06:22:05 -0700</date>
            <delta_ts>2013-10-04 14:00:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119012-20131004152205.patch</filename>
            <type>text/plain</type>
            <size>19722</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
OTExYjQ2NWZkZjc5MzUyYjBlM2QyYzdkNzRkMTg4MzNmYzQ4NzI3Li5jZGQyMjA4ZTE0Y2JiYjVl
NDc3ZGM4YWI4ZjE2YjZkOTA3M2FlODk1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxMy0xMC0wNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByZXNzaW5nIHRoZSBDbWQga2V5IG92ZXIgYSBD
U1MgcHJvcGVydHkgc2hvdWxkIHVuZGVybGluZSBpdCBpbW1lZGlhdGVseSAoanVtcCB0byBkZWZp
bml0aW9uIG1vZGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwMTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBhZGQgYW4gImVuYWJsZWQiIHN0YXRlIHRvIHRoZSB0b2tlblRyYWNraW5nQ29udHJv
bGxlciB0byBpbmRpY2F0ZSB0aGF0IHdlJ3JlIGludGVyZXN0ZWQKKyAgICAgICAgaW4gdHJhY2tp
bmcgaG92ZXJlZCB0b2tlbnMuIFRoZSB0b2tlblRyYWNraW5nQ29udHJvbGxlciBpcyBub3cgb25s
eSBlbmFibGVkIGluIHRoZQorICAgICAgICBDU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvciB3
aGVuIHRoZSBDbWQga2V5IGlzIHByZXNzZWQgYW5kIGluIHRoZSBTb3VyY2VDb2RlVGV4dEVkaXRv
cgorICAgICAgICB3aGVuIGVpdGhlciB0aGUgQ21kIGtleSBpcyBwcmVzc2VkIChOb25TeW1ib2xU
b2tlbnMgbW9kZSkgb3Igd2hlbiB0aGUgZGVidWdnZXIgaXMgcGF1c2VkCisgICAgICAgIChKYXZh
U2NyaXB0RXhwcmVzc2lvbiBtb2RlKS4KKyAgICAgICAgCisgICAgICAgIFRoZSB0b2tlblRyYWNr
aW5nQ29udHJvbGxlciBpcyBub3cgc21hcnRlciBhYm91dCBob3cgaXQgdHJhY2tzIG1vdXNlIGV2
ZW50cyB3aGVuIGl0J3MgZW5hYmxlZCwKKyAgICAgICAgdHJhY2tpbmcgIm1vdXNlZW50ZXIiIGFu
ZCAibW91c2VsZWF2ZSIgZXZlbnRzIHRvIGVuYWJsZSB0cmFja2luZyBhbGxvd2luZyBpbW1lZGlh
dGUgZGV0ZWN0aW9uIG9mCisgICAgICAgIHRva2VucyBiZWluZyBob3ZlcmVkIG9yIG5vIGxvbmdl
ciBiZWluZyBob3ZlcmVkIGV2ZW4gd2l0aCBxdWljayBtb3VzZSBtb3ZlbWVudHMuIEFkZGl0aW9h
bmxseSwKKyAgICAgICAgdXNpbmcgdGhlIG5ldyB0b3AtbGV2ZWwgbW91c2UgY29vcmRpbmF0ZXMg
dHJhY2tpbmcsIHdlIGNhbiBkZXRlY3QgYSBob3ZlcmVkIHRva2VuIGFzIHNvb24gYXMKKyAgICAg
ICAgaXQncyBiZWluZyBlbmFibGVkIHRvIHByb3ZpZGUgaW5zdGFudCBmZWVkYmFjayB0byB0aGUg
dXNlci4KKworICAgICAgICBUaGlzIG5ldyB0b3AtbGV2ZWwgbW91c2UgY29vcmRpbmF0ZXMgdHJh
Y2tpbmcgY291cGxlIHdpdGggdHJhY2tpbmcgb2YgbW9kaWZpZXIga2V5cyBhbHNvIGZpeGVzCisg
ICAgICAgIGh0dHA6Ly93ZWJraXQub3JnL2IvMTE5MDExLgorCisgICAgICAgICogVXNlckludGVy
ZmFjZS9DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5wcm90b3R5cGUuX3VwZGF0ZUp1bXBU
b1N5bWJvbFRyYWNraW5nTW9kZSk6CisgICAgICAgIEhpZ2hsaWdodCB0aGUgbGFzdCBrbm93biBo
b3ZlcmVkIGNhbmRpZGF0ZSdzIHJhbmdlIGFzIHNvb24gYXMgdGhlIENtZCBrZXkgaXMgcHJlc3Nl
ZCBhbmQgZW5hYmxlCisgICAgICAgIHRoZSB0b2tlblRyYWNraW5nQ29udHJvbGxlciBpZiB3ZSdy
ZSBkZWFsaW5nIHdpdGggYSBub24tcmVhZC1vbmx5IGVkaXRvci4gV2hlbiB0aGUgQ21kIGtleSBp
cworICAgICAgICByZWxlYXNlZCwgZGlzYWJsZSB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIu
CisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0NvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJv
bGxlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5n
Q29udHJvbGxlci5wcm90b3R5cGUuZ2V0IGVuYWJsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUuc2V0IGVuYWJsZWQp
OgorICAgICAgICBOZXcgZW5hYmxlZCBzdGF0ZSBmb3IgdGhlIHRva2VuVHJhY2tpbmdDb250cm9s
bGVyIHdoaWNoIGluZGljYXRlcyB3aGV0aGVyIGl0IHNob3VsZCBiZSB0cmFja2luZworICAgICAg
ICBtb3VzZSBldmVudHMgdG8gdHJhY2sgaG92ZXJlZCB0b2tlbnMgaW4gdGhlIGVkaXRvci4gVXBv
biBiZWluZyBlbmFibGVkLCB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIKKyAgICAgICAgbG9v
a3MgdXAgdGhlIG1vdXNlIGNvb3JkaW5hdGVzIGNvbnRpbnVvdXNseSB0cmFja2VkIGF0IHRoZSB3
aW5kb3cgbGV2ZWwgdG8gY2hlY2sgZm9yIGEgdG9rZW4KKyAgICAgICAgYXQgdGhlIGxhc3Qga25v
d24gbW91c2UgY29vcmRpbmF0ZXMgaW4gY2FzZSB3ZSdyZSBhbHJlYWR5IG92ZXIgYSB0b2tlbiB0
aGF0IG1heSBiZSBoaWdobGlnaHRlZC4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJy
b3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUuaGlnaGxpZ2h0TGFzdEhvdmVyZWRS
YW5nZSk6CisgICAgICAgIE5ldyBwdWJsaWMgbWV0aG9kIGFsbG93aW5nIHRvIGhpZ2hsaWdodCB0
aGUgbGFzdCBrbm93IGNhbmRpZGF0ZSByYW5nZSwgaWYgYW55LiBUaGlzIGlzIHVzZWQgZnJvbQor
ICAgICAgICBlZGl0b3IgY29kZSB3aGVuIHRoZSBDbWQga2V5IGlzIHByZXNzZWQgYW5kIHdlIHdh
bnQgdG8gZm9yY2UgdGhlIGxhc3Qga25vdyBjYW5kaWRhdGUgdG8gYmUKKyAgICAgICAgaGlnaGxp
Z2h0ZWQuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0Nv
bnRyb2xsZXIucHJvdG90eXBlLl9zdGFydFRyYWNraW5nKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLl9zdG9wVHJhY2tp
bmcpOgorICAgICAgICBNYWtlIHRoZXNlIHR3byBtZXRob2RzIHByaXZhdGUgbm93IHRoYXQgdGhl
eSdyZSBhdXRvbWF0aWNhbGx5IGNhbGxlZCBieSB0aGUgIm1vdXNlZW50ZXIiIGFuZAorICAgICAg
ICAibW91c2VsZWF2ZSIgZXZlbnQgaGFubGluZyB3aGVuIHdlJ3JlIGluIHRoZSAiZW5hYmxlZCIg
c3RhdGUuIEFkZGl0aW9uYWxseSwgdGhlIHB1YmxpYworICAgICAgICAidHJhY2tpbmciIHByb3Bl
cnR5IGhhcyBiZWVuIHJlbW92ZWQgc2luY2UgaXQgaXMgbm8gbG9uZ2VyIHVzZWZ1bCB0byB0aGUg
ZGV2ZWxvcGVyLgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tp
bmdDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVFdmVudCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5fbW91c2VFbnRl
cmVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIucHJvdG90eXBlLl9tb3VzZUxlZnQpOgorICAgICAgICBOZXcgaGFuZGxlcnMgZm9yIHRo
ZSAibW91c2VlbnRlciIgYW5kICJtb3VzZWxlYXZlIiBldmVudHMgZW5hYmxpbmcgdHJhY2tpbmcg
b2YgaG92ZXJlZCB0b2tlbnMuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9r
ZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLl9tb3VzZU1vdmVkT3ZlckVkaXRvcik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnBy
b3RvdHlwZS5fdXBkYXRlSG92ZXJlZFRva2VuSW5mbyk6CisgICAgICAgIFJlZmFjdG9yIF9tb3Vz
ZU1vdmVkT3ZlckVkaXRvcigpIGludG8gdHdvIG1ldGhvZHMgd2l0aCB0aGUgbmV3IF91cGRhdGVI
b3ZlcmVkVG9rZW5JbmZvKCkKKyAgICAgICAgYWxsb3dpbmcgdG8gY3VzdG9taXplIHRoZSBtb3Vz
ZSBjb29yZGluYXRlcyB0byBiZSB1c2VkIHNpbmNlIHdlIG1heSBjYWxsCisgICAgICAgIF91cGRh
dGVIb3ZlcmVkVG9rZW5JbmZvKCkgb3V0c2lkZSBvZiB0aGUgY29udGV4dCBvZiBhIG1vdXNlIGV2
ZW50IChpZS4gYSBrZXlwcmVzcyBldmVudCkuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2Rl
TWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLl93aW5kb3dMb3N0Rm9jdXMp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxl
ci5wcm90b3R5cGUuX3Jlc2V0VHJhY2tpbmdTdGF0ZXMpOgorICAgICAgICBOZXcgcHJpdmF0ZSBt
ZXRob2QgY29tYmluaW5nIGFsbCB0aGUgdmFyaW91cyBzdGF0ZXMgdGhhdCBuZWVkIHRvIGJlIHJl
c2V0IHdoZW4gdHJhY2tpbmcKKyAgICAgICAgaXMgdHVybmVkIG9mZiwgaW5jbHVkaW5nIHRoZSBy
ZW1vdmFsIG9mIHRoZSBoaWdobGlnaHRlZCByYW5nZSBpZiBhbnkuIFRoaXMgaXMgbm93IGNhbGxl
ZAorICAgICAgICB3aGVuIHRoZSB3aW5kb3cgbG9zZXMgZm9jdXMuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01haW4uanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IubG9hZGVkKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5fbW91c2VNb3ZlZCk6CisgICAgICAgIEFkZCBhIG5ldyB3aW5kb3ct
bGV2ZWwgIm1vdXNlbW92ZSIgZXZlbnQgaGFuZGxlciB0byBhbHdheXMgdHJhY2sgbW91c2UgY29v
cmRpbmF0ZXMgYW5kIGtleSBtb2RpZmllcgorICAgICAgICBzdGF0ZXMuIFRoaXMgZW5zdXJlcyB0
aGF0IHdlIG1heSBoYXZlIHRoZSBtb3N0IGFjY3VyYXRlIGluZm9ybWF0aW9uIHBvc3NpYmxlIGZv
ciBrZXkgbW9kaWZpZXJzIGFuZAorICAgICAgICBhbGxvdyBjb2RlIHRvIHF1ZXJ5IHRoZSBsYXN0
IHJlY29yZGVkIG1vdXNlIHBvc2l0aW9uIGluIHNpdHVhdGlvbnMgd2hlcmUgaXQgd291bGRuJ3Qg
YmUgcG9zc2libGUKKyAgICAgICAgdG8gaGF2ZSBkZWFsdCB3aXRoIGEgbW91c2UgZXZlbnQsIGFz
IGlzIHRoZSBjYXNlIHdoZW4gdGhlIHRva2VuVHJhY2tpbmdDb250cm9sbGVyIGp1c3Qgc3RhcnRl
ZCB0cmFja2luZy4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvU291cmNlQ29kZVRleHRFZGl0
b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90
eXBlLl91cGRhdGVUb2tlblRyYWNraW5nQ29udHJvbGxlckVuYWJsZWQpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnByb3RvdHlwZS5fZGVidWdnZXJEaWRQYXVz
ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBl
Ll9kZWJ1Z2dlckRpZFJlc3VtZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRl
eHRFZGl0b3IucHJvdG90eXBlLl9lbmFibGVKdW1wVG9TeW1ib2xUcmFja2luZ01vZGVTZXR0aW5n
cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBl
Ll9kaXNhYmxlSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlU2V0dGluZ3MpOgorICAgICAgICBVcGRh
dGUgdGhlICJlbmFibGVkIiBzdGF0ZSBvbiB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIgd2hl
biBpdCBtYXkgaGF2ZSBjaGFuZ2VkIGJhc2VkCisgICAgICAgIG9uIHRob3NlIHR3byBjb25kaXRp
b25zOiB3ZSBzaG91bGQgaGF2ZSBlaXRoZXIgYW4gYWN0aXZlIGRlYnVnZ2VyIGNhbGwgZnJhbWUg
b3IgdGhlCisgICAgICAgIENtZCBrZXkgc2hvdWxkIGhhdmUgYmVlbiBwcmVzc2VkLiBUaGlzIGVu
c3VyZXMgd2Ugb25seSB0cmFjayBob3ZlcmVkIHRva2VucyBhcyBuZWVkZWQuCisKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUuX3VwZGF0ZUp1bXBU
b1N5bWJvbFRyYWNraW5nTW9kZSk6CisgICAgICAgIEhpZ2hsaWdodCB0aGUgbGFzdCBrbm93biBo
b3ZlcmVkIGNhbmRpZGF0ZSdzIHJhbmdlIGFzIHNvb24gYXMgdGhlIENtZCBrZXkgaXMgcHJlc3Nl
ZC4KKwogMjAxMy0xMC0wMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgogCiAg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IGV2YWx1YXRlIGFuZCBzaG93IGEgcG9wb3ZlciBmb3Igc2Vs
ZWN0ZWQgdGV4dCBpbiBKUyBzb3VyY2Ugd2hlbiBwYXVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9y
LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ1NTU3R5bGVEZWNsYXJh
dGlvblRleHRFZGl0b3IuanMKaW5kZXggNTRjY2NjMmVjOWEwYzlhY2MwYTgwZTRiYjgzZmE2MGM0
ZjAwOTJkNi4uZDEwOWFhZTIzNTY3MWMwNjcwNWRlMDJhZDk4M2MzZTAwY2UyODExMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ1NTU3R5bGVEZWNsYXJh
dGlvblRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanMKQEAgLTEwMDIsMTEgKzEwMDIsMTIg
QEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlRGVjbGFyYXRpb25UZXh0RWRpdG9yLnByb3RvdHlwZSA9
IHsKICAgICAgICAgICAgIHRoaXMuX2p1bXBUb1N5bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQgPSBX
ZWJJbnNwZWN0b3IubW9kaWZpZXJLZXlzLm1ldGFLZXkgJiYgIVdlYkluc3BlY3Rvci5tb2RpZmll
cktleXMuYWx0S2V5ICYmICFXZWJJbnNwZWN0b3IubW9kaWZpZXJLZXlzLnNoaWZ0S2V5OwogCiAg
ICAgICAgIGlmIChvbGRKdW1wVG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkICE9PSB0aGlzLl9q
dW1wVG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5f
anVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCkKLSAgICAgICAgICAgICAgICB0aGlzLl90
b2tlblRyYWNraW5nQ29udHJvbGxlci5zdGFydFRyYWNraW5nKCk7Ci0gICAgICAgICAgICBlbHNl
IHsKLSAgICAgICAgICAgICAgICB0aGlzLl90b2tlblRyYWNraW5nQ29udHJvbGxlci5zdG9wVHJh
Y2tpbmcoKTsKKyAgICAgICAgICAgIGlmICh0aGlzLl9qdW1wVG9TeW1ib2xUcmFja2luZ01vZGVF
bmFibGVkKSB7CisgICAgICAgICAgICAgICAgdGhpcy5fdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIu
aGlnaGxpZ2h0TGFzdEhvdmVyZWRSYW5nZSgpOworICAgICAgICAgICAgICAgIHRoaXMuX3Rva2Vu
VHJhY2tpbmdDb250cm9sbGVyLmVuYWJsZWQgPSAhdGhpcy5fY29kZU1pcnJvci5nZXRPcHRpb24o
InJlYWRPbmx5Iik7CisgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgIHRoaXMu
X3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLnJlbW92ZUhpZ2hsaWdodGVkUmFuZ2UoKTsKKyAgICAg
ICAgICAgICAgICB0aGlzLl90b2tlblRyYWNraW5nQ29udHJvbGxlci5lbmFibGVkID0gZmFsc2U7
CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9s
bGVyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29kZU1pcnJvclRv
a2VuVHJhY2tpbmdDb250cm9sbGVyLmpzCmluZGV4IGNhOGNiODE2MGY5MzQxNTI2NWE5YmRjYmEx
OWM0M2JkZTFiNWY2ZDQuLjk4MzliNTg1ZjY5NDc0NjZmYWFiYWVjZjE0MWQwMjdkYzVmOTgwZDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvZGVNaXJy
b3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuanMKQEAgLTM3
LDYgKzM3LDcgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxl
ciA9IGZ1bmN0aW9uKGNvZGVNaXJyb3IsIGRlbGVnYXRlKQogICAgIHRoaXMuX21vdXNlT3V0UmVs
ZWFzZURlbGF5RHVyYXRpb24gPSAwOwogICAgIHRoaXMuX2NsYXNzTmFtZUZvckhpZ2hsaWdodGVk
UmFuZ2UgPSBudWxsOwogCisgICAgdGhpcy5fZW5hYmxlZCA9IGZhbHNlOwogICAgIHRoaXMuX3Ry
YWNraW5nID0gZmFsc2U7CiAgICAgdGhpcy5faG92ZXJlZFRva2VuSW5mbyA9IG51bGw7CiB9OwpA
QCAtNjMsNiArNjQsMzEgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29u
dHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2RlbGVnYXRlID0geDsKICAgICB9
LAogCisgICAgZ2V0IGVuYWJsZWQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX2VuYWJs
ZWQ7CisgICAgfSwKKworICAgIHNldCBlbmFibGVkKGVuYWJsZWQpCisgICAgeworICAgICAgICBp
ZiAodGhpcy5fZW5hYmxlZCA9PT0gZW5hYmxlZCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICB0aGlzLl9lbmFibGVkID0gZW5hYmxlZDsKKworICAgICAgICB2YXIgd3JhcHBlciA9IHRo
aXMuX2NvZGVNaXJyb3IuZ2V0V3JhcHBlckVsZW1lbnQoKTsKKyAgICAgICAgaWYgKGVuYWJsZWQp
IHsKKyAgICAgICAgICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsIHRo
aXMpOworICAgICAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwg
dGhpcyk7CisgICAgICAgICAgICB0aGlzLl91cGRhdGVIb3ZlcmVkVG9rZW5JbmZvKHtsZWZ0OiBX
ZWJJbnNwZWN0b3IubW91c2VDb29yZHMueCwgdG9wOiBXZWJJbnNwZWN0b3IubW91c2VDb29yZHMu
eX0pOworICAgICAgICAgICAgdGhpcy5fc3RhcnRUcmFja2luZygpOworICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwg
dGhpcyk7CisgICAgICAgICAgICB3cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbGVh
dmUiLCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX3N0b3BUcmFja2luZygpOworICAgICAgICB9
CisgICAgfSwKKwogICAgIGdldCBtb2RlKCkKICAgICB7CiAgICAgICAgIHJldHVybiB0aGlzLl9t
b2RlOwpAQCAtMTEwLDUxICsxMzYsMTUgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRy
YWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX2NsYXNzTmFtZUZv
ckhpZ2hsaWdodGVkUmFuZ2UgPSB4IHx8IG51bGw7CiAgICAgfSwKIAotICAgIGdldCB0cmFja2lu
ZygpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fdHJhY2tpbmc7Ci0gICAgfSwKLQogICAg
IGdldCBjYW5kaWRhdGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMuX2NhbmRpZGF0ZTsK
ICAgICB9LAogCi0gICAgc3RhcnRUcmFja2luZzogZnVuY3Rpb24oKQorICAgIGhpZ2hsaWdodExh
c3RIb3ZlcmVkUmFuZ2U6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0
KCF0aGlzLl90cmFja2luZyk7Ci0gICAgICAgIGlmICh0aGlzLl90cmFja2luZykKLSAgICAgICAg
ICAgIHJldHVybjsKLQotICAgICAgICB0aGlzLl90cmFja2luZyA9IHRydWU7Ci0KLSAgICAgICAg
dmFyIHdyYXBwZXIgPSB0aGlzLl9jb2RlTWlycm9yLmdldFdyYXBwZXJFbGVtZW50KCk7Ci0gICAg
ICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIiwgdGhpcywgdHJ1ZSk7Ci0g
ICAgICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VvdXQiLCB0aGlzLCBmYWxzZSk7
Ci0gICAgICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcywgZmFs
c2UpOwotICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCB0aGlzLCBm
YWxzZSk7Ci0gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwgdGhpcywgdHJ1
ZSk7Ci0gICAgfSwKLQotICAgIHN0b3BUcmFja2luZzogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgY29uc29sZS5hc3NlcnQodGhpcy5fdHJhY2tpbmcpOwotICAgICAgICBpZiAoIXRoaXMuX3Ry
YWNraW5nKQotICAgICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3RyYWNraW5nID0g
ZmFsc2U7Ci0KLSAgICAgICAgdmFyIHdyYXBwZXIgPSB0aGlzLl9jb2RlTWlycm9yLmdldFdyYXBw
ZXJFbGVtZW50KCk7Ci0gICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vt
b3ZlIiwgdGhpcywgdHJ1ZSk7Ci0gICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigi
bW91c2VvdXQiLCB0aGlzLCBmYWxzZSk7Ci0gICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0
ZW5lcigibW91c2Vkb3duIiwgdGhpcywgZmFsc2UpOwotICAgICAgICB3cmFwcGVyLnJlbW92ZUV2
ZW50TGlzdGVuZXIoIm1vdXNldXAiLCB0aGlzLCBmYWxzZSk7Ci0gICAgICAgIHdpbmRvdy5yZW1v
dmVFdmVudExpc3RlbmVyKCJibHVyIiwgdGhpcywgdHJ1ZSk7Ci0gICAgICAgIHdpbmRvdy5yZW1v
dmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCB0aGlzLCB0cnVlKTsKLQotICAgICAgICBjbGVh
clRpbWVvdXQodGhpcy5fdG9rZW5Ib3ZlclRpbWVyKTsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3Nl
bGVjdGlvbk1heUJlSW5Qcm9ncmVzczsKLSAgICAgICAgZGVsZXRlIHRoaXMuX2hvdmVyZWRUb2tl
bkluZm87CisgICAgICAgIGlmICh0aGlzLl9jYW5kaWRhdGUpCisgICAgICAgICAgICB0aGlzLmhp
Z2hsaWdodFJhbmdlKHRoaXMuX2NhbmRpZGF0ZS5ob3ZlcmVkVG9rZW5SYW5nZSk7CiAgICAgfSwK
IAogICAgIGhpZ2hsaWdodFJhbmdlOiBmdW5jdGlvbihyYW5nZSkKQEAgLTE5NSw5ICsxODUsNTEg
QEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5
cGUgPSB7CiAKICAgICAvLyBQcml2YXRlCiAKKyAgICBfc3RhcnRUcmFja2luZzogZnVuY3Rpb24o
KQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQoIXRoaXMuX3RyYWNraW5nKTsKKyAgICAg
ICAgaWYgKHRoaXMuX3RyYWNraW5nKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHRo
aXMuX3RyYWNraW5nID0gdHJ1ZTsKKworICAgICAgICB2YXIgd3JhcHBlciA9IHRoaXMuX2NvZGVN
aXJyb3IuZ2V0V3JhcHBlckVsZW1lbnQoKTsKKyAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3Rl
bmVyKCJtb3VzZW1vdmUiLCB0aGlzLCB0cnVlKTsKKyAgICAgICAgd3JhcHBlci5hZGRFdmVudExp
c3RlbmVyKCJtb3VzZW91dCIsIHRoaXMsIGZhbHNlKTsKKyAgICAgICAgd3JhcHBlci5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLCBmYWxzZSk7CisgICAgICAgIHdyYXBwZXIuYWRk
RXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIHRoaXMsIGZhbHNlKTsKKyAgICAgICAgd2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLCB0cnVlKTsKKyAgICB9LAorCisgICAgX3N0b3BU
cmFja2luZzogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgY29uc29sZS5hc3NlcnQodGhpcy5f
dHJhY2tpbmcpOworICAgICAgICBpZiAoIXRoaXMuX3RyYWNraW5nKQorICAgICAgICAgICAgcmV0
dXJuOworCisgICAgICAgIHRoaXMuX3RyYWNraW5nID0gZmFsc2U7CisgICAgICAgIHRoaXMuX2Nh
bmRpZGF0ZSA9IG51bGw7CisKKyAgICAgICAgdmFyIHdyYXBwZXIgPSB0aGlzLl9jb2RlTWlycm9y
LmdldFdyYXBwZXJFbGVtZW50KCk7CisgICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5l
cigibW91c2Vtb3ZlIiwgdGhpcywgdHJ1ZSk7CisgICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRM
aXN0ZW5lcigibW91c2VvdXQiLCB0aGlzLCBmYWxzZSk7CisgICAgICAgIHdyYXBwZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcywgZmFsc2UpOworICAgICAgICB3cmFwcGVy
LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLCB0aGlzLCBmYWxzZSk7CisgICAgICAgIHdp
bmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJibHVyIiwgdGhpcywgdHJ1ZSk7CisgICAgICAgIHdp
bmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCB0aGlzLCB0cnVlKTsKKworICAg
ICAgICB0aGlzLl9yZXNldFRyYWNraW5nU3RhdGVzKCk7CisgICAgfSwKKwogICAgIGhhbmRsZUV2
ZW50OiBmdW5jdGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkg
eworICAgICAgICBjYXNlICJtb3VzZWVudGVyIjoKKyAgICAgICAgICAgIHRoaXMuX21vdXNlRW50
ZXJlZChldmVudCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSAibW91c2VsZWF2
ZSI6CisgICAgICAgICAgICB0aGlzLl9tb3VzZUxlZnQoZXZlbnQpOworICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgIm1vdXNlbW92ZSI6CiAgICAgICAgICAgICBpZiAoZXZlbnQuY3Vy
cmVudFRhcmdldCA9PT0gd2luZG93KQogICAgICAgICAgICAgICAgIHRoaXMuX21vdXNlTW92ZWRX
aXRoTWFya2VkVGV4dChldmVudCk7CkBAIC0yMjEsNiArMjUzLDE2IEBAIFdlYkluc3BlY3Rvci5D
b2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlID0gewogICAgICAgICB9
CiAgICAgfSwKIAorICAgIF9tb3VzZUVudGVyZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAg
ICAgICAgdGhpcy5fc3RhcnRUcmFja2luZygpOworICAgIH0sCisKKyAgICBfbW91c2VMZWZ0OiBm
dW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuX3N0b3BUcmFja2luZygpOworICAg
IH0sCisKICAgICBfbW91c2VNb3ZlZFdpdGhNYXJrZWRUZXh0OiBmdW5jdGlvbihldmVudCkKICAg
ICB7CiAgICAgICAgIHZhciBzaG91bGRSZWxlYXNlID0gIWV2ZW50LnRhcmdldC5jbGFzc0xpc3Qu
Y29udGFpbnModGhpcy5fY2xhc3NOYW1lRm9ySGlnaGxpZ2h0ZWRSYW5nZSk7CkBAIC0yNDYsMTMg
KzI4OCwxNyBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVy
LnByb3RvdHlwZSA9IHsKIAogICAgIF9tb3VzZU1vdmVkT3ZlckVkaXRvcjogZnVuY3Rpb24oZXZl
bnQpCiAgICAgeworICAgICAgICB0aGlzLl91cGRhdGVIb3ZlcmVkVG9rZW5JbmZvKHtsZWZ0OiBl
dmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWX0pOworICAgIH0sCisKKyAgICBfdXBkYXRlSG92
ZXJlZFRva2VuSW5mbzogZnVuY3Rpb24obW91c2VDb29yZHMpCisgICAgewogICAgICAgICAvLyBH
ZXQgdGhlIHBvc2l0aW9uIGluIHRoZSB0ZXh0IGFuZCB0aGUgdG9rZW4gYXQgdGhhdCBwb3NpdGlv
bi4KLSAgICAgICAgdmFyIHBvc2l0aW9uID0gdGhpcy5fY29kZU1pcnJvci5jb29yZHNDaGFyKHts
ZWZ0OiBldmVudC5wYWdlWCwgdG9wOiBldmVudC5wYWdlWX0pOworICAgICAgICB2YXIgcG9zaXRp
b24gPSB0aGlzLl9jb2RlTWlycm9yLmNvb3Jkc0NoYXIobW91c2VDb29yZHMpOwogICAgICAgICB2
YXIgdG9rZW4gPSB0aGlzLl9jb2RlTWlycm9yLmdldFRva2VuQXQocG9zaXRpb24pOwogCiAgICAg
ICAgIGlmICghdG9rZW4gfHwgIXRva2VuLnR5cGUgfHwgIXRva2VuLnN0cmluZykgewotICAgICAg
ICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Rva2VuSG92ZXJUaW1lcik7Ci0gICAgICAgICAgICBk
ZWxldGUgdGhpcy5faG92ZXJlZFRva2VuSW5mbzsKKyAgICAgICAgICAgIHRoaXMuX3Jlc2V0VHJh
Y2tpbmdTdGF0ZXMoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCkBAIC0zMTUs
NyArMzYxLDcgQEAgV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxl
ci5wcm90b3R5cGUgPSB7CiAKICAgICBfd2luZG93TG9zdEZvY3VzOiBmdW5jdGlvbihldmVudCkK
ICAgICB7Ci0gICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3Rpb25NYXlCZUluUHJvZ3Jlc3M7Cisg
ICAgICAgIHRoaXMuX3Jlc2V0VHJhY2tpbmdTdGF0ZXMoKTsKICAgICB9LAogCiAgICAgX3Byb2Nl
c3NOZXdIb3ZlcmVkVG9rZW46IGZ1bmN0aW9uKCkKQEAgLTQzMCw2ICs0NzYsMTQgQEAgV2ViSW5z
cGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAg
ICAgICAgICAgICBleHByZXNzaW9uOiBleHByZXNzaW9uLAogICAgICAgICAgICAgZXhwcmVzc2lv
blJhbmdlOiB7c3RhcnQ6IGV4cHJlc3Npb25TdGFydFBvc2l0aW9uLCBlbmQ6IGVuZFBvc2l0aW9u
fSwKICAgICAgICAgfTsKKyAgICB9LAorCisgICAgX3Jlc2V0VHJhY2tpbmdTdGF0ZXM6IGZ1bmN0
aW9uKCkKKyAgICB7CisgICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl90b2tlbkhvdmVyVGltZXIp
OworICAgICAgICBkZWxldGUgdGhpcy5fc2VsZWN0aW9uTWF5QmVJblByb2dyZXNzOworICAgICAg
ICBkZWxldGUgdGhpcy5faG92ZXJlZFRva2VuSW5mbzsKKyAgICAgICAgdGhpcy5yZW1vdmVIaWdo
bGlnaHRlZFJhbmdlKCk7CiAgICAgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uanMKaW5kZXggNmEwYmJlOGNkZmI0OTM3NjZhOGJkN2RjOWM4M2U1Yjcx
NTFmOGQwNy4uODA5YmM0ODAyMGRhM2ExNzY1OGNiNDZlN2M0ZjQ5ZjVjNmZmMzlhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTWFpbi5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmpzCkBAIC0xMDcsNiArMTA3
LDcgQEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcigicmVzaXplIiwgdGhpcy5fd2luZG93UmVzaXplZC5iaW5kKHRoaXMpKTsKICAg
ICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsIHRoaXMuX3dpbmRvd0tleURvd24u
YmluZCh0aGlzKSk7CiAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwgdGhpcy5f
d2luZG93S2V5VXAuYmluZCh0aGlzKSk7CisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIm1v
dXNlbW92ZSIsIHRoaXMuX21vdXNlTW92ZWQuYmluZCh0aGlzKSwgdHJ1ZSk7CiAKICAgICAvLyBD
cmVhdGUgc2V0dGluZ3MuCiAgICAgdGhpcy5fbGFzdFNlbGVjdGVkTmF2aWdhdGlvblNpZGViYXJQ
YW5lbFNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoImxhc3Qtc2VsZWN0ZWQtbmF2
aWdhdGlvbi1zaWRlYmFyLXBhbmVsIiwgInJlc291cmNlIik7CkBAIC0xMzUsNiArMTM2LDExIEBA
IFdlYkluc3BlY3Rvci5sb2FkZWQgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZG9ja0J1dHRvblRv
Z2dsZWRTZXR0aW5nID0gbmV3IFdlYkluc3BlY3Rvci5TZXR0aW5nKCJkb2NrLWJ1dHRvbi10b2dn
bGVkIiwgZmFsc2UpOwogCiAgICAgdGhpcy5zaG93U2hhZG93RE9NU2V0dGluZyA9IG5ldyBXZWJJ
bnNwZWN0b3IuU2V0dGluZygic2hvdy1zaGFkb3ctZG9tIiwgZmFsc2UpOworCisgICAgdGhpcy5t
b3VzZUNvb3JkcyA9IHsKKyAgICAgICAgeDogMCwKKyAgICAgICAgeTogMAorICAgIH07CiB9CiAK
IFdlYkluc3BlY3Rvci5jb250ZW50TG9hZGVkID0gZnVuY3Rpb24oKQpAQCAtODA0LDYgKzgxMCwx
NSBAQCBXZWJJbnNwZWN0b3IuX3dpbmRvd0tleVVwID0gZnVuY3Rpb24oZXZlbnQpCiAgICAgdGhp
cy51bmRvY2tCdXR0b25OYXZpZ2F0aW9uSXRlbS50b2dnbGVkID0gKGV2ZW50LmFsdEtleSAmJiAh
ZXZlbnQubWV0YUtleSAmJiAhZXZlbnQuc2hpZnRLZXkpID8gb3Bwb3NpdGUgOiAhb3Bwb3NpdGU7
CiB9CiAKK1dlYkluc3BlY3Rvci5fbW91c2VNb3ZlZCA9IGZ1bmN0aW9uKGV2ZW50KQoreworICAg
IHRoaXMuX3VwZGF0ZU1vZGlmaWVyS2V5cyhldmVudCk7CisgICAgdGhpcy5tb3VzZUNvb3JkcyA9
IHsKKyAgICAgICAgeDogZXZlbnQucGFnZVgsCisgICAgICAgIHk6IGV2ZW50LnBhZ2VZCisgICAg
fTsKK30KKwogV2ViSW5zcGVjdG9yLl91bmRvY2sgPSBmdW5jdGlvbihldmVudCkKIHsKICAgICB0
aGlzLl9kb2NrQnV0dG9uVG9nZ2xlZFNldHRpbmcudmFsdWUgPSB0aGlzLnVuZG9ja0J1dHRvbk5h
dmlnYXRpb25JdGVtLnRvZ2dsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Tb3VyY2VDb2RlVGV4dEVkaXRvci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCmluZGV4IDg3ZjMxMWM5
ZjdmYjJmMTQxNmE3ZjhiMzMxZWUzODJkYjk3NjJhNzMuLjZkYTZiYzM0MTQ2ZWVjYzUzOTNmNTlk
YjQzZmU4Y2UyOTZkMWEwN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzCkBAIC05MDAsMzIgKzkw
MCwxOSBAQCBXZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlID0gewog
ICAgICAgICB9CiAgICAgfSwKIAotICAgIF9zaG91bGRUcmFja1Rva2VuSG92ZXJpbmc6IGZ1bmN0
aW9uKCkKKyAgICBfdXBkYXRlVG9rZW5UcmFja2luZ0NvbnRyb2xsZXJFbmFibGVkOiBmdW5jdGlv
bigpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fanVtcFRvU3ltYm9sVHJhY2tpbmdNb2Rl
RW5hYmxlZCB8fCBXZWJJbnNwZWN0b3IuZGVidWdnZXJNYW5hZ2VyLmFjdGl2ZUNhbGxGcmFtZTsK
LSAgICB9LAotCi0gICAgX3N0YXJ0VHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQ6IGZ1bmN0
aW9uKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9zaG91bGRUcmFja1Rva2VuSG92ZXJpbmco
KSAmJiAhdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci50cmFja2luZykKLSAgICAgICAgICAg
IHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuc3RhcnRUcmFja2luZygpOwotICAgIH0sCi0K
LSAgICBfc3RvcFRyYWNraW5nVG9rZW5Ib3ZlcmluZ0lmTmVlZGVkOiBmdW5jdGlvbigpCi0gICAg
ewotICAgICAgICBpZiAoIXRoaXMuX3Nob3VsZFRyYWNrVG9rZW5Ib3ZlcmluZygpICYmIHRoaXMu
dG9rZW5UcmFja2luZ0NvbnRyb2xsZXIudHJhY2tpbmcpCi0gICAgICAgICAgICB0aGlzLnRva2Vu
VHJhY2tpbmdDb250cm9sbGVyLnN0b3BUcmFja2luZygpOworICAgICAgICB0aGlzLnRva2VuVHJh
Y2tpbmdDb250cm9sbGVyLmVuYWJsZWQgPSB0aGlzLl9qdW1wVG9TeW1ib2xUcmFja2luZ01vZGVF
bmFibGVkIHx8IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1lOwog
ICAgIH0sCiAKICAgICBfZGVidWdnZXJEaWRQYXVzZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewot
ICAgICAgICB0aGlzLl9zdGFydFRyYWNraW5nVG9rZW5Ib3ZlcmluZ0lmTmVlZGVkKCk7CisgICAg
ICAgIHRoaXMuX3VwZGF0ZVRva2VuVHJhY2tpbmdDb250cm9sbGVyRW5hYmxlZCgpOwogICAgIH0s
CiAKICAgICBfZGVidWdnZXJEaWRSZXN1bWU6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKLSAgICAg
ICAgdGhpcy5fc3RvcFRyYWNraW5nVG9rZW5Ib3ZlcmluZ0lmTmVlZGVkKCk7Ci0KKyAgICAgICAg
dGhpcy5fdXBkYXRlVG9rZW5UcmFja2luZ0NvbnRyb2xsZXJFbmFibGVkKCk7CiAgICAgICAgIHRo
aXMuX2Rpc21pc3NQb3BvdmVyKCk7CiAgICAgfSwKIApAQCAtOTQ5LDEyICs5MzYsMTAgQEAgV2Vi
SW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYg
KG9sZEp1bXBUb1N5bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQgIT09IHRoaXMuX2p1bXBUb1N5bWJv
bFRyYWNraW5nTW9kZUVuYWJsZWQpIHsKICAgICAgICAgICAgIGlmICh0aGlzLl9qdW1wVG9TeW1i
b2xUcmFja2luZ01vZGVFbmFibGVkKSB7CiAgICAgICAgICAgICAgICAgdGhpcy5fZW5hYmxlSnVt
cFRvU3ltYm9sVHJhY2tpbmdNb2RlU2V0dGluZ3MoKTsKLSAgICAgICAgICAgICAgICB0aGlzLl9z
dGFydFRyYWNraW5nVG9rZW5Ib3ZlcmluZ0lmTmVlZGVkKCk7CisgICAgICAgICAgICAgICAgdGhp
cy50b2tlblRyYWNraW5nQ29udHJvbGxlci5oaWdobGlnaHRMYXN0SG92ZXJlZFJhbmdlKCk7CiAg
ICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHRoaXMuX3N0b3BUcmFja2luZ1Rv
a2VuSG92ZXJpbmdJZk5lZWRlZCgpOwogICAgICAgICAgICAgICAgIHRoaXMuX2Rpc2FibGVKdW1w
VG9TeW1ib2xUcmFja2luZ01vZGVTZXR0aW5ncygpOwotICAgICAgICAgICAgICAgIGlmICghdGhp
cy50b2tlblRyYWNraW5nQ29udHJvbGxlci50cmFja2luZykKLSAgICAgICAgICAgICAgICAgICAg
dGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5yZW1vdmVIaWdobGlnaHRlZFJhbmdlKCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5yZW1vdmVIaWdobGln
aHRlZFJhbmdlKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9LApAQCAtOTY2LDYg
Kzk1MSw5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7
CiAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIubW91c2VPdXRSZWxlYXNlRGVs
YXlEdXJhdGlvbiA9IDA7CiAKICAgICAgICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5t
b2RlID0gV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5Nb2Rl
Lk5vblN5bWJvbFRva2VuczsKKyAgICAgICAgdGhpcy5fdXBkYXRlVG9rZW5UcmFja2luZ0NvbnRy
b2xsZXJFbmFibGVkKCk7CisKKyAgICAgICAgdGhpcy5fZGlzbWlzc1BvcG92ZXIoKTsKICAgICB9
LAogCiAgICAgX2Rpc2FibGVKdW1wVG9TeW1ib2xUcmFja2luZ01vZGVTZXR0aW5nczogZnVuY3Rp
b24oKQpAQCAtOTc1LDYgKzk2Myw3IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRv
ci5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIubW91
c2VPdXRSZWxlYXNlRGVsYXlEdXJhdGlvbiA9IFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVk
aXRvci5EdXJhdGlvblRvTW91c2VPdXRPZkhvdmVyZWRUb2tlblRvUmVsZWFzZTsKIAogICAgICAg
ICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLm1vZGUgPSBXZWJJbnNwZWN0b3IuQ29kZU1p
cnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLk1vZGUuSmF2YVNjcmlwdEV4cHJlc3Npb247Cisg
ICAgICAgIHRoaXMuX3VwZGF0ZVRva2VuVHJhY2tpbmdDb250cm9sbGVyRW5hYmxlZCgpOwogICAg
IH0sCiAKICAgICAvLyBDb2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIgRGVsZWdhdGUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213398</attachid>
            <date>2013-10-04 14:00:43 -0700</date>
            <delta_ts>2013-10-04 16:00:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-119012-20131004230040.patch</filename>
            <type>text/plain</type>
            <size>19724</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU2NzY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA2
OTExYjQ2NWZkZjc5MzUyYjBlM2QyYzdkNzRkMTg4MzNmYzQ4NzI3Li5hNTZlNTZmNjlhMDRiMWU5
MzY3OWZmOTdiZjIyYmU4OTQ5NjBhZTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw4OSBAQAorMjAxMy0xMC0wNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHByZXNzaW5nIHRoZSBDbWQga2V5IG92ZXIgYSBD
U1MgcHJvcGVydHkgc2hvdWxkIHVuZGVybGluZSBpdCBpbW1lZGlhdGVseSAoanVtcCB0byBkZWZp
bml0aW9uIG1vZGUpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTkwMTIKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAg
ICAgICAgV2UgYWRkIGFuICJlbmFibGVkIiBzdGF0ZSB0byB0aGUgdG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIgdG8gaW5kaWNhdGUgdGhhdCB3ZSdyZSBpbnRlcmVzdGVkCisgICAgICAgIGluIHRyYWNr
aW5nIGhvdmVyZWQgdG9rZW5zLiBUaGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIgaXMgbm93IG9u
bHkgZW5hYmxlZCBpbiB0aGUKKyAgICAgICAgQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3Ig
d2hlbiB0aGUgQ21kIGtleSBpcyBwcmVzc2VkIGFuZCBpbiB0aGUgU291cmNlQ29kZVRleHRFZGl0
b3IKKyAgICAgICAgd2hlbiBlaXRoZXIgdGhlIENtZCBrZXkgaXMgcHJlc3NlZCAoTm9uU3ltYm9s
VG9rZW5zIG1vZGUpIG9yIHdoZW4gdGhlIGRlYnVnZ2VyIGlzIHBhdXNlZAorICAgICAgICAoSmF2
YVNjcmlwdEV4cHJlc3Npb24gbW9kZSkuCisgICAgICAgIAorICAgICAgICBUaGUgdG9rZW5UcmFj
a2luZ0NvbnRyb2xsZXIgaXMgbm93IHNtYXJ0ZXIgYWJvdXQgaG93IGl0IHRyYWNrcyBtb3VzZSBl
dmVudHMgd2hlbiBpdCdzIGVuYWJsZWQsCisgICAgICAgIHRyYWNraW5nICJtb3VzZWVudGVyIiBh
bmQgIm1vdXNlbGVhdmUiIGV2ZW50cyB0byBlbmFibGUgdHJhY2tpbmcgYWxsb3dpbmcgaW1tZWRp
YXRlIGRldGVjdGlvbiBvZgorICAgICAgICB0b2tlbnMgYmVpbmcgaG92ZXJlZCBvciBubyBsb25n
ZXIgYmVpbmcgaG92ZXJlZCBldmVuIHdpdGggcXVpY2sgbW91c2UgbW92ZW1lbnRzLiBBZGRpdGlv
YW5sbHksCisgICAgICAgIHVzaW5nIHRoZSBuZXcgdG9wLWxldmVsIG1vdXNlIGNvb3JkaW5hdGVz
IHRyYWNraW5nLCB3ZSBjYW4gZGV0ZWN0IGEgaG92ZXJlZCB0b2tlbiBhcyBzb29uIGFzCisgICAg
ICAgIGl0J3MgYmVpbmcgZW5hYmxlZCB0byBwcm92aWRlIGluc3RhbnQgZmVlZGJhY2sgdG8gdGhl
IHVzZXIuCisKKyAgICAgICAgVGhpcyBuZXcgdG9wLWxldmVsIG1vdXNlIGNvb3JkaW5hdGVzIHRy
YWNraW5nIGNvdXBsZSB3aXRoIHRyYWNraW5nIG9mIG1vZGlmaWVyIGtleXMgYWxzbyBmaXhlcwor
ICAgICAgICBodHRwOi8vd2Via2l0Lm9yZy9iLzExOTAxMS4KKworICAgICAgICAqIFVzZXJJbnRl
cmZhY2UvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IucHJvdG90eXBlLl91cGRhdGVKdW1w
VG9TeW1ib2xUcmFja2luZ01vZGUpOgorICAgICAgICBIaWdobGlnaHQgdGhlIGxhc3Qga25vd24g
aG92ZXJlZCBjYW5kaWRhdGUncyByYW5nZSBhcyBzb29uIGFzIHRoZSBDbWQga2V5IGlzIHByZXNz
ZWQgYW5kIGVuYWJsZQorICAgICAgICB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIgaWYgd2Un
cmUgZGVhbGluZyB3aXRoIGEgbm9uLXJlYWQtb25seSBlZGl0b3IuIFdoZW4gdGhlIENtZCBrZXkg
aXMKKyAgICAgICAgcmVsZWFzZWQsIGRpc2FibGUgdGhlIHRva2VuVHJhY2tpbmdDb250cm9sbGVy
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdD
b250cm9sbGVyKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2lu
Z0NvbnRyb2xsZXIucHJvdG90eXBlLmdldCBlbmFibGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLnNldCBlbmFibGVk
KToKKyAgICAgICAgTmV3IGVuYWJsZWQgc3RhdGUgZm9yIHRoZSB0b2tlblRyYWNraW5nQ29udHJv
bGxlciB3aGljaCBpbmRpY2F0ZXMgd2hldGhlciBpdCBzaG91bGQgYmUgdHJhY2tpbmcKKyAgICAg
ICAgbW91c2UgZXZlbnRzIHRvIHRyYWNrIGhvdmVyZWQgdG9rZW5zIGluIHRoZSBlZGl0b3IuIFVw
b24gYmVpbmcgZW5hYmxlZCwgdGhlIHRva2VuVHJhY2tpbmdDb250cm9sbGVyCisgICAgICAgIGxv
b2tzIHVwIHRoZSBtb3VzZSBjb29yZGluYXRlcyBjb250aW51b3VzbHkgdHJhY2tlZCBhdCB0aGUg
d2luZG93IGxldmVsIHRvIGNoZWNrIGZvciBhIHRva2VuCisgICAgICAgIGF0IHRoZSBsYXN0IGtu
b3duIG1vdXNlIGNvb3JkaW5hdGVzIGluIGNhc2Ugd2UncmUgYWxyZWFkeSBvdmVyIGEgdG9rZW4g
dGhhdCBtYXkgYmUgaGlnaGxpZ2h0ZWQuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWly
cm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLmhpZ2hsaWdodExhc3RIb3ZlcmVk
UmFuZ2UpOgorICAgICAgICBOZXcgcHVibGljIG1ldGhvZCBhbGxvd2luZyB0byBoaWdobGlnaHQg
dGhlIGxhc3Qga25vdyBjYW5kaWRhdGUgcmFuZ2UsIGlmIGFueS4gVGhpcyBpcyB1c2VkIGZyb20K
KyAgICAgICAgZWRpdG9yIGNvZGUgd2hlbiB0aGUgQ21kIGtleSBpcyBwcmVzc2VkIGFuZCB3ZSB3
YW50IHRvIGZvcmNlIHRoZSBsYXN0IGtub3cgY2FuZGlkYXRlIHRvIGJlCisgICAgICAgIGhpZ2hs
aWdodGVkLgorCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdD
b250cm9sbGVyLnByb3RvdHlwZS5fc3RhcnRUcmFja2luZyk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZS5fc3RvcFRyYWNr
aW5nKToKKyAgICAgICAgTWFrZSB0aGVzZSB0d28gbWV0aG9kcyBwcml2YXRlIG5vdyB0aGF0IHRo
ZXkncmUgYXV0b21hdGljYWxseSBjYWxsZWQgYnkgdGhlICJtb3VzZWVudGVyIiBhbmQKKyAgICAg
ICAgIm1vdXNlbGVhdmUiIGV2ZW50IGhhbmRsaW5nIHdoZW4gd2UncmUgaW4gdGhlICJlbmFibGVk
IiBzdGF0ZS4gQWRkaXRpb25hbGx5LCB0aGUgcHVibGljCisgICAgICAgICJ0cmFja2luZyIgcHJv
cGVydHkgaGFzIGJlZW4gcmVtb3ZlZCBzaW5jZSBpdCBpcyBubyBsb25nZXIgdXNlZnVsIHRvIHRo
ZSBkZXZlbG9wZXIuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFj
a2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZUV2ZW50KToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucHJvdG90eXBlLl9tb3VzZUVu
dGVyZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29u
dHJvbGxlci5wcm90b3R5cGUuX21vdXNlTGVmdCk6CisgICAgICAgIE5ldyBoYW5kbGVycyBmb3Ig
dGhlICJtb3VzZWVudGVyIiBhbmQgIm1vdXNlbGVhdmUiIGV2ZW50cyBlbmFibGluZyB0cmFja2lu
ZyBvZiBob3ZlcmVkIHRva2Vucy4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNvZGVNaXJyb3JU
b2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUuX21vdXNlTW92ZWRPdmVyRWRpdG9yKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIu
cHJvdG90eXBlLl91cGRhdGVIb3ZlcmVkVG9rZW5JbmZvKToKKyAgICAgICAgUmVmYWN0b3IgX21v
dXNlTW92ZWRPdmVyRWRpdG9yKCkgaW50byB0d28gbWV0aG9kcyB3aXRoIHRoZSBuZXcgX3VwZGF0
ZUhvdmVyZWRUb2tlbkluZm8oKQorICAgICAgICBhbGxvd2luZyB0byBjdXN0b21pemUgdGhlIG1v
dXNlIGNvb3JkaW5hdGVzIHRvIGJlIHVzZWQgc2luY2Ugd2UgbWF5IGNhbGwKKyAgICAgICAgX3Vw
ZGF0ZUhvdmVyZWRUb2tlbkluZm8oKSBvdXRzaWRlIG9mIHRoZSBjb250ZXh0IG9mIGEgbW91c2Ug
ZXZlbnQgKGllLiBhIGtleXByZXNzIGV2ZW50KS4KKworICAgICAgICAoV2ViSW5zcGVjdG9yLkNv
ZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUuX3dpbmRvd0xvc3RGb2N1
cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9s
bGVyLnByb3RvdHlwZS5fcmVzZXRUcmFja2luZ1N0YXRlcyk6CisgICAgICAgIE5ldyBwcml2YXRl
IG1ldGhvZCBjb21iaW5pbmcgYWxsIHRoZSB2YXJpb3VzIHN0YXRlcyB0aGF0IG5lZWQgdG8gYmUg
cmVzZXQgd2hlbiB0cmFja2luZworICAgICAgICBpcyB0dXJuZWQgb2ZmLCBpbmNsdWRpbmcgdGhl
IHJlbW92YWwgb2YgdGhlIGhpZ2hsaWdodGVkIHJhbmdlIGlmIGFueS4gVGhpcyBpcyBub3cgY2Fs
bGVkCisgICAgICAgIHdoZW4gdGhlIHdpbmRvdyBsb3NlcyBmb2N1cy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTWFpbi5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5sb2FkZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLl9tb3VzZU1vdmVkKToKKyAgICAgICAgQWRkIGEgbmV3IHdpbmRv
dy1sZXZlbCAibW91c2Vtb3ZlIiBldmVudCBoYW5kbGVyIHRvIGFsd2F5cyB0cmFjayBtb3VzZSBj
b29yZGluYXRlcyBhbmQga2V5IG1vZGlmaWVyCisgICAgICAgIHN0YXRlcy4gVGhpcyBlbnN1cmVz
IHRoYXQgd2UgbWF5IGhhdmUgdGhlIG1vc3QgYWNjdXJhdGUgaW5mb3JtYXRpb24gcG9zc2libGUg
Zm9yIGtleSBtb2RpZmllcnMgYW5kCisgICAgICAgIGFsbG93IGNvZGUgdG8gcXVlcnkgdGhlIGxh
c3QgcmVjb3JkZWQgbW91c2UgcG9zaXRpb24gaW4gc2l0dWF0aW9ucyB3aGVyZSBpdCB3b3VsZG4n
dCBiZSBwb3NzaWJsZQorICAgICAgICB0byBoYXZlIGRlYWx0IHdpdGggYSBtb3VzZSBldmVudCwg
YXMgaXMgdGhlIGNhc2Ugd2hlbiB0aGUgdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIganVzdCBzdGFy
dGVkIHRyYWNraW5nLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Tb3VyY2VDb2RlVGV4dEVk
aXRvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90
b3R5cGUuX3VwZGF0ZVRva2VuVHJhY2tpbmdDb250cm9sbGVyRW5hYmxlZCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlLl9kZWJ1Z2dlckRpZFBh
dXNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5
cGUuX2RlYnVnZ2VyRGlkUmVzdW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2Rl
VGV4dEVkaXRvci5wcm90b3R5cGUuX2VuYWJsZUp1bXBUb1N5bWJvbFRyYWNraW5nTW9kZVNldHRp
bmdzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5
cGUuX2Rpc2FibGVKdW1wVG9TeW1ib2xUcmFja2luZ01vZGVTZXR0aW5ncyk6CisgICAgICAgIFVw
ZGF0ZSB0aGUgImVuYWJsZWQiIHN0YXRlIG9uIHRoZSB0b2tlblRyYWNraW5nQ29udHJvbGxlciB3
aGVuIGl0IG1heSBoYXZlIGNoYW5nZWQgYmFzZWQKKyAgICAgICAgb24gdGhvc2UgdHdvIGNvbmRp
dGlvbnM6IHdlIHNob3VsZCBoYXZlIGVpdGhlciBhbiBhY3RpdmUgZGVidWdnZXIgY2FsbCBmcmFt
ZSBvciB0aGUKKyAgICAgICAgQ21kIGtleSBzaG91bGQgaGF2ZSBiZWVuIHByZXNzZWQuIFRoaXMg
ZW5zdXJlcyB3ZSBvbmx5IHRyYWNrIGhvdmVyZWQgdG9rZW5zIGFzIG5lZWRlZC4KKworICAgICAg
ICAoV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnByb3RvdHlwZS5fdXBkYXRlSnVt
cFRvU3ltYm9sVHJhY2tpbmdNb2RlKToKKyAgICAgICAgSGlnaGxpZ2h0IHRoZSBsYXN0IGtub3du
IGhvdmVyZWQgY2FuZGlkYXRlJ3MgcmFuZ2UgYXMgc29vbiBhcyB0aGUgQ21kIGtleSBpcyBwcmVz
c2VkLgorCiAyMDEzLTEwLTAxICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogZXZhbHVhdGUgYW5kIHNob3cgYSBwb3BvdmVyIGZvciBz
ZWxlY3RlZCB0ZXh0IGluIEpTIHNvdXJjZSB3aGVuIHBhdXNlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0
b3IuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9DU1NTdHlsZURlY2xh
cmF0aW9uVGV4dEVkaXRvci5qcwppbmRleCA1NGNjY2MyZWM5YTBjOWFjYzBhODBlNGJiODNmYTYw
YzRmMDA5MmQ2Li5kMTA5YWFlMjM1NjcxYzA2NzA1ZGUwMmFkOTgzYzNlMDBjZTI4MTEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9DU1NTdHlsZURlY2xh
cmF0aW9uVGV4dEVkaXRvci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9DU1NTdHlsZURlY2xhcmF0aW9uVGV4dEVkaXRvci5qcwpAQCAtMTAwMiwxMSArMTAwMiwx
MiBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVEZWNsYXJhdGlvblRleHRFZGl0b3IucHJvdG90eXBl
ID0gewogICAgICAgICAgICAgdGhpcy5fanVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCA9
IFdlYkluc3BlY3Rvci5tb2RpZmllcktleXMubWV0YUtleSAmJiAhV2ViSW5zcGVjdG9yLm1vZGlm
aWVyS2V5cy5hbHRLZXkgJiYgIVdlYkluc3BlY3Rvci5tb2RpZmllcktleXMuc2hpZnRLZXk7CiAK
ICAgICAgICAgaWYgKG9sZEp1bXBUb1N5bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQgIT09IHRoaXMu
X2p1bXBUb1N5bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQpIHsKLSAgICAgICAgICAgIGlmICh0aGlz
Ll9qdW1wVG9TeW1ib2xUcmFja2luZ01vZGVFbmFibGVkKQotICAgICAgICAgICAgICAgIHRoaXMu
X3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLnN0YXJ0VHJhY2tpbmcoKTsKLSAgICAgICAgICAgIGVs
c2UgewotICAgICAgICAgICAgICAgIHRoaXMuX3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLnN0b3BU
cmFja2luZygpOworICAgICAgICAgICAgaWYgKHRoaXMuX2p1bXBUb1N5bWJvbFRyYWNraW5nTW9k
ZUVuYWJsZWQpIHsKKyAgICAgICAgICAgICAgICB0aGlzLl90b2tlblRyYWNraW5nQ29udHJvbGxl
ci5oaWdobGlnaHRMYXN0SG92ZXJlZFJhbmdlKCk7CisgICAgICAgICAgICAgICAgdGhpcy5fdG9r
ZW5UcmFja2luZ0NvbnRyb2xsZXIuZW5hYmxlZCA9ICF0aGlzLl9jb2RlTWlycm9yLmdldE9wdGlv
bigicmVhZE9ubHkiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgdGhp
cy5fdG9rZW5UcmFja2luZ0NvbnRyb2xsZXIucmVtb3ZlSGlnaGxpZ2h0ZWRSYW5nZSgpOworICAg
ICAgICAgICAgICAgIHRoaXMuX3Rva2VuVHJhY2tpbmdDb250cm9sbGVyLmVuYWJsZWQgPSBmYWxz
ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRy
b2xsZXIuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db2RlTWlycm9y
VG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuanMKaW5kZXggY2E4Y2I4MTYwZjkzNDE1MjY1YTliZGNi
YTE5YzQzYmRlMWI1ZjZkNC4uOTgzOWI1ODVmNjk0NzQ2NmZhYWJhZWNmMTQxZDAyN2RjNWY5ODBk
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29kZU1p
cnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL0NvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5qcwpAQCAt
MzcsNiArMzcsNyBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9s
bGVyID0gZnVuY3Rpb24oY29kZU1pcnJvciwgZGVsZWdhdGUpCiAgICAgdGhpcy5fbW91c2VPdXRS
ZWxlYXNlRGVsYXlEdXJhdGlvbiA9IDA7CiAgICAgdGhpcy5fY2xhc3NOYW1lRm9ySGlnaGxpZ2h0
ZWRSYW5nZSA9IG51bGw7CiAKKyAgICB0aGlzLl9lbmFibGVkID0gZmFsc2U7CiAgICAgdGhpcy5f
dHJhY2tpbmcgPSBmYWxzZTsKICAgICB0aGlzLl9ob3ZlcmVkVG9rZW5JbmZvID0gbnVsbDsKIH07
CkBAIC02Myw2ICs2NCwzMSBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSB4OwogICAg
IH0sCiAKKyAgICBnZXQgZW5hYmxlZCgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fZW5h
YmxlZDsKKyAgICB9LAorCisgICAgc2V0IGVuYWJsZWQoZW5hYmxlZCkKKyAgICB7CisgICAgICAg
IGlmICh0aGlzLl9lbmFibGVkID09PSBlbmFibGVkKQorICAgICAgICAgICAgcmV0dXJuOworCisg
ICAgICAgIHRoaXMuX2VuYWJsZWQgPSBlbmFibGVkOworCisgICAgICAgIHZhciB3cmFwcGVyID0g
dGhpcy5fY29kZU1pcnJvci5nZXRXcmFwcGVyRWxlbWVudCgpOworICAgICAgICBpZiAoZW5hYmxl
ZCkgeworICAgICAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwg
dGhpcyk7CisgICAgICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUi
LCB0aGlzKTsKKyAgICAgICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyZWRUb2tlbkluZm8oe2xlZnQ6
IFdlYkluc3BlY3Rvci5tb3VzZUNvb3Jkcy54LCB0b3A6IFdlYkluc3BlY3Rvci5tb3VzZUNvb3Jk
cy55fSk7CisgICAgICAgICAgICB0aGlzLl9zdGFydFRyYWNraW5nKCk7CisgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICB3cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIi
LCB0aGlzKTsKKyAgICAgICAgICAgIHdyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vs
ZWF2ZSIsIHRoaXMpOworICAgICAgICAgICAgdGhpcy5fc3RvcFRyYWNraW5nKCk7CisgICAgICAg
IH0KKyAgICB9LAorCiAgICAgZ2V0IG1vZGUoKQogICAgIHsKICAgICAgICAgcmV0dXJuIHRoaXMu
X21vZGU7CkBAIC0xMTAsNTEgKzEzNiwxNSBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2Vu
VHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fY2xhc3NOYW1l
Rm9ySGlnaGxpZ2h0ZWRSYW5nZSA9IHggfHwgbnVsbDsKICAgICB9LAogCi0gICAgZ2V0IHRyYWNr
aW5nKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl90cmFja2luZzsKLSAgICB9LAotCiAg
ICAgZ2V0IGNhbmRpZGF0ZSgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fY2FuZGlkYXRl
OwogICAgIH0sCiAKLSAgICBzdGFydFRyYWNraW5nOiBmdW5jdGlvbigpCisgICAgaGlnaGxpZ2h0
TGFzdEhvdmVyZWRSYW5nZTogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgY29uc29sZS5hc3Nl
cnQoIXRoaXMuX3RyYWNraW5nKTsKLSAgICAgICAgaWYgKHRoaXMuX3RyYWNraW5nKQotICAgICAg
ICAgICAgcmV0dXJuOwotCi0gICAgICAgIHRoaXMuX3RyYWNraW5nID0gdHJ1ZTsKLQotICAgICAg
ICB2YXIgd3JhcHBlciA9IHRoaXMuX2NvZGVNaXJyb3IuZ2V0V3JhcHBlckVsZW1lbnQoKTsKLSAg
ICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLCB0aGlzLCB0cnVlKTsK
LSAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW91dCIsIHRoaXMsIGZhbHNl
KTsKLSAgICAgICAgd3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLCBm
YWxzZSk7Ci0gICAgICAgIHdyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIHRoaXMs
IGZhbHNlKTsKLSAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLCB0
cnVlKTsKLSAgICB9LAotCi0gICAgc3RvcFRyYWNraW5nOiBmdW5jdGlvbigpCi0gICAgewotICAg
ICAgICBjb25zb2xlLmFzc2VydCh0aGlzLl90cmFja2luZyk7Ci0gICAgICAgIGlmICghdGhpcy5f
dHJhY2tpbmcpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAgICAgICAgdGhpcy5fdHJhY2tpbmcg
PSBmYWxzZTsKLQotICAgICAgICB2YXIgd3JhcHBlciA9IHRoaXMuX2NvZGVNaXJyb3IuZ2V0V3Jh
cHBlckVsZW1lbnQoKTsKLSAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3Vz
ZW1vdmUiLCB0aGlzLCB0cnVlKTsKLSAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVy
KCJtb3VzZW91dCIsIHRoaXMsIGZhbHNlKTsKLSAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExp
c3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLCBmYWxzZSk7Ci0gICAgICAgIHdyYXBwZXIucmVtb3Zl
RXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIHRoaXMsIGZhbHNlKTsKLSAgICAgICAgd2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLCB0cnVlKTsKLSAgICAgICAgd2luZG93LnJl
bW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMsIHRydWUpOwotCi0gICAgICAgIGNs
ZWFyVGltZW91dCh0aGlzLl90b2tlbkhvdmVyVGltZXIpOwotICAgICAgICBkZWxldGUgdGhpcy5f
c2VsZWN0aW9uTWF5QmVJblByb2dyZXNzOwotICAgICAgICBkZWxldGUgdGhpcy5faG92ZXJlZFRv
a2VuSW5mbzsKKyAgICAgICAgaWYgKHRoaXMuX2NhbmRpZGF0ZSkKKyAgICAgICAgICAgIHRoaXMu
aGlnaGxpZ2h0UmFuZ2UodGhpcy5fY2FuZGlkYXRlLmhvdmVyZWRUb2tlblJhbmdlKTsKICAgICB9
LAogCiAgICAgaGlnaGxpZ2h0UmFuZ2U6IGZ1bmN0aW9uKHJhbmdlKQpAQCAtMTk1LDkgKzE4NSw1
MSBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3Rv
dHlwZSA9IHsKIAogICAgIC8vIFByaXZhdGUKIAorICAgIF9zdGFydFRyYWNraW5nOiBmdW5jdGlv
bigpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5fdHJhY2tpbmcpOworICAg
ICAgICBpZiAodGhpcy5fdHJhY2tpbmcpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg
dGhpcy5fdHJhY2tpbmcgPSB0cnVlOworCisgICAgICAgIHZhciB3cmFwcGVyID0gdGhpcy5fY29k
ZU1pcnJvci5nZXRXcmFwcGVyRWxlbWVudCgpOworICAgICAgICB3cmFwcGVyLmFkZEV2ZW50TGlz
dGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMsIHRydWUpOworICAgICAgICB3cmFwcGVyLmFkZEV2ZW50
TGlzdGVuZXIoIm1vdXNlb3V0IiwgdGhpcywgZmFsc2UpOworICAgICAgICB3cmFwcGVyLmFkZEV2
ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsIHRoaXMsIGZhbHNlKTsKKyAgICAgICAgd3JhcHBlci5h
ZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwgdGhpcywgZmFsc2UpOworICAgICAgICB3aW5kb3cu
YWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsIHRoaXMsIHRydWUpOworICAgIH0sCisKKyAgICBfc3Rv
cFRyYWNraW5nOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlz
Ll90cmFja2luZyk7CisgICAgICAgIGlmICghdGhpcy5fdHJhY2tpbmcpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgdGhpcy5fdHJhY2tpbmcgPSBmYWxzZTsKKyAgICAgICAgdGhpcy5f
Y2FuZGlkYXRlID0gbnVsbDsKKworICAgICAgICB2YXIgd3JhcHBlciA9IHRoaXMuX2NvZGVNaXJy
b3IuZ2V0V3JhcHBlckVsZW1lbnQoKTsKKyAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVudExpc3Rl
bmVyKCJtb3VzZW1vdmUiLCB0aGlzLCB0cnVlKTsKKyAgICAgICAgd3JhcHBlci5yZW1vdmVFdmVu
dExpc3RlbmVyKCJtb3VzZW91dCIsIHRoaXMsIGZhbHNlKTsKKyAgICAgICAgd3JhcHBlci5yZW1v
dmVFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLCBmYWxzZSk7CisgICAgICAgIHdyYXBw
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsIHRoaXMsIGZhbHNlKTsKKyAgICAgICAg
d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImJsdXIiLCB0aGlzLCB0cnVlKTsKKyAgICAgICAg
d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsIHRoaXMsIHRydWUpOworCisg
ICAgICAgIHRoaXMuX3Jlc2V0VHJhY2tpbmdTdGF0ZXMoKTsKKyAgICB9LAorCiAgICAgaGFuZGxl
RXZlbnQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgc3dpdGNoIChldmVudC50eXBl
KSB7CisgICAgICAgIGNhc2UgIm1vdXNlZW50ZXIiOgorICAgICAgICAgICAgdGhpcy5fbW91c2VF
bnRlcmVkKGV2ZW50KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlICJtb3VzZWxl
YXZlIjoKKyAgICAgICAgICAgIHRoaXMuX21vdXNlTGVmdChldmVudCk7CisgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgY2FzZSAibW91c2Vtb3ZlIjoKICAgICAgICAgICAgIGlmIChldmVudC5j
dXJyZW50VGFyZ2V0ID09PSB3aW5kb3cpCiAgICAgICAgICAgICAgICAgdGhpcy5fbW91c2VNb3Zl
ZFdpdGhNYXJrZWRUZXh0KGV2ZW50KTsKQEAgLTIyMSw2ICsyNTMsMTYgQEAgV2ViSW5zcGVjdG9y
LkNvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAgICAgICAg
IH0KICAgICB9LAogCisgICAgX21vdXNlRW50ZXJlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgewor
ICAgICAgICB0aGlzLl9zdGFydFRyYWNraW5nKCk7CisgICAgfSwKKworICAgIF9tb3VzZUxlZnQ6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5fc3RvcFRyYWNraW5nKCk7Cisg
ICAgfSwKKwogICAgIF9tb3VzZU1vdmVkV2l0aE1hcmtlZFRleHQ6IGZ1bmN0aW9uKGV2ZW50KQog
ICAgIHsKICAgICAgICAgdmFyIHNob3VsZFJlbGVhc2UgPSAhZXZlbnQudGFyZ2V0LmNsYXNzTGlz
dC5jb250YWlucyh0aGlzLl9jbGFzc05hbWVGb3JIaWdobGlnaHRlZFJhbmdlKTsKQEAgLTI0Niwx
MyArMjg4LDE3IEBAIFdlYkluc3BlY3Rvci5Db2RlTWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xs
ZXIucHJvdG90eXBlID0gewogCiAgICAgX21vdXNlTW92ZWRPdmVyRWRpdG9yOiBmdW5jdGlvbihl
dmVudCkKICAgICB7CisgICAgICAgIHRoaXMuX3VwZGF0ZUhvdmVyZWRUb2tlbkluZm8oe2xlZnQ6
IGV2ZW50LnBhZ2VYLCB0b3A6IGV2ZW50LnBhZ2VZfSk7CisgICAgfSwKKworICAgIF91cGRhdGVI
b3ZlcmVkVG9rZW5JbmZvOiBmdW5jdGlvbihtb3VzZUNvb3JkcykKKyAgICB7CiAgICAgICAgIC8v
IEdldCB0aGUgcG9zaXRpb24gaW4gdGhlIHRleHQgYW5kIHRoZSB0b2tlbiBhdCB0aGF0IHBvc2l0
aW9uLgotICAgICAgICB2YXIgcG9zaXRpb24gPSB0aGlzLl9jb2RlTWlycm9yLmNvb3Jkc0NoYXIo
e2xlZnQ6IGV2ZW50LnBhZ2VYLCB0b3A6IGV2ZW50LnBhZ2VZfSk7CisgICAgICAgIHZhciBwb3Np
dGlvbiA9IHRoaXMuX2NvZGVNaXJyb3IuY29vcmRzQ2hhcihtb3VzZUNvb3Jkcyk7CiAgICAgICAg
IHZhciB0b2tlbiA9IHRoaXMuX2NvZGVNaXJyb3IuZ2V0VG9rZW5BdChwb3NpdGlvbik7CiAKICAg
ICAgICAgaWYgKCF0b2tlbiB8fCAhdG9rZW4udHlwZSB8fCAhdG9rZW4uc3RyaW5nKSB7Ci0gICAg
ICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fdG9rZW5Ib3ZlclRpbWVyKTsKLSAgICAgICAgICAg
IGRlbGV0ZSB0aGlzLl9ob3ZlcmVkVG9rZW5JbmZvOworICAgICAgICAgICAgdGhpcy5fcmVzZXRU
cmFja2luZ1N0YXRlcygpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKQEAgLTMx
NSw3ICszNjEsNyBAQCBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9s
bGVyLnByb3RvdHlwZSA9IHsKIAogICAgIF93aW5kb3dMb3N0Rm9jdXM6IGZ1bmN0aW9uKGV2ZW50
KQogICAgIHsKLSAgICAgICAgZGVsZXRlIHRoaXMuX3NlbGVjdGlvbk1heUJlSW5Qcm9ncmVzczsK
KyAgICAgICAgdGhpcy5fcmVzZXRUcmFja2luZ1N0YXRlcygpOwogICAgIH0sCiAKICAgICBfcHJv
Y2Vzc05ld0hvdmVyZWRUb2tlbjogZnVuY3Rpb24oKQpAQCAtNDMwLDYgKzQ3NiwxNCBAQCBXZWJJ
bnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIGV4cHJlc3Npb246IGV4cHJlc3Npb24sCiAgICAgICAgICAgICBleHByZXNz
aW9uUmFuZ2U6IHtzdGFydDogZXhwcmVzc2lvblN0YXJ0UG9zaXRpb24sIGVuZDogZW5kUG9zaXRp
b259LAogICAgICAgICB9OworICAgIH0sCisKKyAgICBfcmVzZXRUcmFja2luZ1N0YXRlczogZnVu
Y3Rpb24oKQorICAgIHsKKyAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX3Rva2VuSG92ZXJUaW1l
cik7CisgICAgICAgIGRlbGV0ZSB0aGlzLl9zZWxlY3Rpb25NYXlCZUluUHJvZ3Jlc3M7CisgICAg
ICAgIGRlbGV0ZSB0aGlzLl9ob3ZlcmVkVG9rZW5JbmZvOworICAgICAgICB0aGlzLnJlbW92ZUhp
Z2hsaWdodGVkUmFuZ2UoKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTWFpbi5qcwppbmRleCA2YTBiYmU4Y2RmYjQ5Mzc2NmE4YmQ3ZGM5YzgzZTVi
NzE1MWY4ZDA3Li44MDliYzQ4MDIwZGEzYTE3NjU4Y2I0NmU3YzRmNDlmNWM2ZmYzOWFkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01haW4uanMKQEAgLTEwNyw2ICsx
MDcsNyBAQCBXZWJJbnNwZWN0b3IubG9hZGVkID0gZnVuY3Rpb24oKQogICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCJyZXNpemUiLCB0aGlzLl93aW5kb3dSZXNpemVkLmJpbmQodGhpcykpOwog
ICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIiwgdGhpcy5fd2luZG93S2V5RG93
bi5iaW5kKHRoaXMpKTsKICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLCB0aGlz
Ll93aW5kb3dLZXlVcC5iaW5kKHRoaXMpKTsKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bW91c2Vtb3ZlIiwgdGhpcy5fbW91c2VNb3ZlZC5iaW5kKHRoaXMpLCB0cnVlKTsKIAogICAgIC8v
IENyZWF0ZSBzZXR0aW5ncy4KICAgICB0aGlzLl9sYXN0U2VsZWN0ZWROYXZpZ2F0aW9uU2lkZWJh
clBhbmVsU2V0dGluZyA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGluZygibGFzdC1zZWxlY3RlZC1u
YXZpZ2F0aW9uLXNpZGViYXItcGFuZWwiLCAicmVzb3VyY2UiKTsKQEAgLTEzNSw2ICsxMzYsMTEg
QEAgV2ViSW5zcGVjdG9yLmxvYWRlZCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLl9kb2NrQnV0dG9u
VG9nZ2xlZFNldHRpbmcgPSBuZXcgV2ViSW5zcGVjdG9yLlNldHRpbmcoImRvY2stYnV0dG9uLXRv
Z2dsZWQiLCBmYWxzZSk7CiAKICAgICB0aGlzLnNob3dTaGFkb3dET01TZXR0aW5nID0gbmV3IFdl
Ykluc3BlY3Rvci5TZXR0aW5nKCJzaG93LXNoYWRvdy1kb20iLCBmYWxzZSk7CisKKyAgICB0aGlz
Lm1vdXNlQ29vcmRzID0geworICAgICAgICB4OiAwLAorICAgICAgICB5OiAwCisgICAgfTsKIH0K
IAogV2ViSW5zcGVjdG9yLmNvbnRlbnRMb2FkZWQgPSBmdW5jdGlvbigpCkBAIC04MDQsNiArODEw
LDE1IEBAIFdlYkluc3BlY3Rvci5fd2luZG93S2V5VXAgPSBmdW5jdGlvbihldmVudCkKICAgICB0
aGlzLnVuZG9ja0J1dHRvbk5hdmlnYXRpb25JdGVtLnRvZ2dsZWQgPSAoZXZlbnQuYWx0S2V5ICYm
ICFldmVudC5tZXRhS2V5ICYmICFldmVudC5zaGlmdEtleSkgPyBvcHBvc2l0ZSA6ICFvcHBvc2l0
ZTsKIH0KIAorV2ViSW5zcGVjdG9yLl9tb3VzZU1vdmVkID0gZnVuY3Rpb24oZXZlbnQpCit7Cisg
ICAgdGhpcy5fdXBkYXRlTW9kaWZpZXJLZXlzKGV2ZW50KTsKKyAgICB0aGlzLm1vdXNlQ29vcmRz
ID0geworICAgICAgICB4OiBldmVudC5wYWdlWCwKKyAgICAgICAgeTogZXZlbnQucGFnZVkKKyAg
ICB9OworfQorCiBXZWJJbnNwZWN0b3IuX3VuZG9jayA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAg
IHRoaXMuX2RvY2tCdXR0b25Ub2dnbGVkU2V0dGluZy52YWx1ZSA9IHRoaXMudW5kb2NrQnV0dG9u
TmF2aWdhdGlvbkl0ZW0udG9nZ2xlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1NvdXJjZUNvZGVUZXh0RWRpdG9yLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvU291cmNlQ29kZVRleHRFZGl0b3IuanMKaW5kZXggODdmMzEx
YzlmN2ZiMmYxNDE2YTdmOGIzMzFlZTM4MmRiOTc2MmE3My4uNmRhNmJjMzQxNDZlZWNjNTM5M2Y1
OWRiNDNmZThjZTI5NmQxYTA3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvU291cmNlQ29kZVRleHRFZGl0b3IuanMKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvU291cmNlQ29kZVRleHRFZGl0b3IuanMKQEAgLTkwMCwzMiAr
OTAwLDE5IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlVGV4dEVkaXRvci5wcm90b3R5cGUgPSB7
CiAgICAgICAgIH0KICAgICB9LAogCi0gICAgX3Nob3VsZFRyYWNrVG9rZW5Ib3ZlcmluZzogZnVu
Y3Rpb24oKQorICAgIF91cGRhdGVUb2tlblRyYWNraW5nQ29udHJvbGxlckVuYWJsZWQ6IGZ1bmN0
aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9qdW1wVG9TeW1ib2xUcmFja2luZ01v
ZGVFbmFibGVkIHx8IFdlYkluc3BlY3Rvci5kZWJ1Z2dlck1hbmFnZXIuYWN0aXZlQ2FsbEZyYW1l
OwotICAgIH0sCi0KLSAgICBfc3RhcnRUcmFja2luZ1Rva2VuSG92ZXJpbmdJZk5lZWRlZDogZnVu
Y3Rpb24oKQotICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3Nob3VsZFRyYWNrVG9rZW5Ib3Zlcmlu
ZygpICYmICF0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLnRyYWNraW5nKQotICAgICAgICAg
ICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5zdGFydFRyYWNraW5nKCk7Ci0gICAgfSwK
LQotICAgIF9zdG9wVHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQ6IGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIGlmICghdGhpcy5fc2hvdWxkVHJhY2tUb2tlbkhvdmVyaW5nKCkgJiYgdGhp
cy50b2tlblRyYWNraW5nQ29udHJvbGxlci50cmFja2luZykKLSAgICAgICAgICAgIHRoaXMudG9r
ZW5UcmFja2luZ0NvbnRyb2xsZXIuc3RvcFRyYWNraW5nKCk7CisgICAgICAgIHRoaXMudG9rZW5U
cmFja2luZ0NvbnRyb2xsZXIuZW5hYmxlZCA9IHRoaXMuX2p1bXBUb1N5bWJvbFRyYWNraW5nTW9k
ZUVuYWJsZWQgfHwgV2ViSW5zcGVjdG9yLmRlYnVnZ2VyTWFuYWdlci5hY3RpdmVDYWxsRnJhbWU7
CiAgICAgfSwKIAogICAgIF9kZWJ1Z2dlckRpZFBhdXNlOiBmdW5jdGlvbihldmVudCkKICAgICB7
Ci0gICAgICAgIHRoaXMuX3N0YXJ0VHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQoKTsKKyAg
ICAgICAgdGhpcy5fdXBkYXRlVG9rZW5UcmFja2luZ0NvbnRyb2xsZXJFbmFibGVkKCk7CiAgICAg
fSwKIAogICAgIF9kZWJ1Z2dlckRpZFJlc3VtZTogZnVuY3Rpb24oZXZlbnQpCiAgICAgewotICAg
ICAgICB0aGlzLl9zdG9wVHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQoKTsKLQorICAgICAg
ICB0aGlzLl91cGRhdGVUb2tlblRyYWNraW5nQ29udHJvbGxlckVuYWJsZWQoKTsKICAgICAgICAg
dGhpcy5fZGlzbWlzc1BvcG92ZXIoKTsKICAgICB9LAogCkBAIC05NDksMTIgKzkzNiwxMCBAQCBX
ZWJJbnNwZWN0b3IuU291cmNlQ29kZVRleHRFZGl0b3IucHJvdG90eXBlID0gewogICAgICAgICBp
ZiAob2xkSnVtcFRvU3ltYm9sVHJhY2tpbmdNb2RlRW5hYmxlZCAhPT0gdGhpcy5fanVtcFRvU3lt
Ym9sVHJhY2tpbmdNb2RlRW5hYmxlZCkgewogICAgICAgICAgICAgaWYgKHRoaXMuX2p1bXBUb1N5
bWJvbFRyYWNraW5nTW9kZUVuYWJsZWQpIHsKICAgICAgICAgICAgICAgICB0aGlzLl9lbmFibGVK
dW1wVG9TeW1ib2xUcmFja2luZ01vZGVTZXR0aW5ncygpOwotICAgICAgICAgICAgICAgIHRoaXMu
X3N0YXJ0VHJhY2tpbmdUb2tlbkhvdmVyaW5nSWZOZWVkZWQoKTsKKyAgICAgICAgICAgICAgICB0
aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLmhpZ2hsaWdodExhc3RIb3ZlcmVkUmFuZ2UoKTsK
ICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgdGhpcy5fc3RvcFRyYWNraW5n
VG9rZW5Ib3ZlcmluZ0lmTmVlZGVkKCk7CiAgICAgICAgICAgICAgICAgdGhpcy5fZGlzYWJsZUp1
bXBUb1N5bWJvbFRyYWNraW5nTW9kZVNldHRpbmdzKCk7Ci0gICAgICAgICAgICAgICAgaWYgKCF0
aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLnRyYWNraW5nKQotICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLnJlbW92ZUhpZ2hsaWdodGVkUmFuZ2UoKTsK
KyAgICAgICAgICAgICAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVyLnJlbW92ZUhpZ2hs
aWdodGVkUmFuZ2UoKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0sCkBAIC05NjYs
NiArOTUxLDkgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRpdG9yLnByb3RvdHlwZSA9
IHsKICAgICAgICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5tb3VzZU91dFJlbGVhc2VE
ZWxheUR1cmF0aW9uID0gMDsKIAogICAgICAgICB0aGlzLnRva2VuVHJhY2tpbmdDb250cm9sbGVy
Lm1vZGUgPSBXZWJJbnNwZWN0b3IuQ29kZU1pcnJvclRva2VuVHJhY2tpbmdDb250cm9sbGVyLk1v
ZGUuTm9uU3ltYm9sVG9rZW5zOworICAgICAgICB0aGlzLl91cGRhdGVUb2tlblRyYWNraW5nQ29u
dHJvbGxlckVuYWJsZWQoKTsKKworICAgICAgICB0aGlzLl9kaXNtaXNzUG9wb3ZlcigpOwogICAg
IH0sCiAKICAgICBfZGlzYWJsZUp1bXBUb1N5bWJvbFRyYWNraW5nTW9kZVNldHRpbmdzOiBmdW5j
dGlvbigpCkBAIC05NzUsNiArOTYzLDcgQEAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0RWRp
dG9yLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy50b2tlblRyYWNraW5nQ29udHJvbGxlci5t
b3VzZU91dFJlbGVhc2VEZWxheUR1cmF0aW9uID0gV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGVUZXh0
RWRpdG9yLkR1cmF0aW9uVG9Nb3VzZU91dE9mSG92ZXJlZFRva2VuVG9SZWxlYXNlOwogCiAgICAg
ICAgIHRoaXMudG9rZW5UcmFja2luZ0NvbnRyb2xsZXIubW9kZSA9IFdlYkluc3BlY3Rvci5Db2Rl
TWlycm9yVG9rZW5UcmFja2luZ0NvbnRyb2xsZXIuTW9kZS5KYXZhU2NyaXB0RXhwcmVzc2lvbjsK
KyAgICAgICAgdGhpcy5fdXBkYXRlVG9rZW5UcmFja2luZ0NvbnRyb2xsZXJFbmFibGVkKCk7CiAg
ICAgfSwKIAogICAgIC8vIENvZGVNaXJyb3JUb2tlblRyYWNraW5nQ29udHJvbGxlciBEZWxlZ2F0
ZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>