<?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>114319</bug_id>
          
          <creation_ts>2013-04-09 16:23:02 -0700</creation_ts>
          <short_desc>PageConsole::addMessage should automatically determine column number alongside line number</short_desc>
          <delta_ts>2013-12-10 10:50:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>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="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>llango.u-szeged</cc>
    
    <cc>mkwst</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>872273</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-04-09 16:23:02 -0700</bug_when>
    <thetext>Line numbers and stack traces are auto generated when possible for ConsoleMessages created through PageConsole::addMessage. In these cases we should also determine the column number on the line. This is important so that the Web Inspector can accurately jump to the right location to show where the ConsoleMessage originated from.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>872274</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-04-09 16:23:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/13614729&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950062</commentid>
    <comment_count>2</comment_count>
      <attachid>216775</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-11-13 00:29:24 -0800</bug_when>
    <thetext>Created attachment 216775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950236</commentid>
    <comment_count>3</comment_count>
      <attachid>216775</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-11-13 10:34:28 -0800</bug_when>
    <thetext>Comment on attachment 216775
Patch

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

&gt; Source/WebCore/page/PageConsole.cpp:156
&gt;              line = parser-&gt;lineNumber().oneBasedInt();
&gt; +            column = parser-&gt;textPosition().m_column.oneBasedInt();

Nice! You should remove the FIXME on line 145 that points to this bugzilla bug, since you&apos;re fixing that now.

Nit: You might as well use textPosition() for both line / column. Under the hood they are doing the same thing, this will ensure less work:

    TextPosition textPosition = parser-&gt;textPosition();
    line = textPosition.m_line.oneBasedInt();
    column = textPosition.m_column.oneBasedInt();

r- though, because we should really be adding some kind of a test for this to make sure we don&apos;t regress it in the future! That will also help when the other FIXME gets addressed to make sure we don&apos;t break this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956382</commentid>
    <comment_count>4</comment_count>
      <attachid>218405</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-04 06:42:18 -0800</bug_when>
    <thetext>Created attachment 218405
draft</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956386</commentid>
    <comment_count>5</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-04 07:08:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 216775 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=216775&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/PageConsole.cpp:156
&gt; &gt;              line = parser-&gt;lineNumber().oneBasedInt();
&gt; &gt; +            column = parser-&gt;textPosition().m_column.oneBasedInt();
&gt; 
&gt; Nice! You should remove the FIXME on line 145 that points to this bugzilla bug, since you&apos;re fixing that now.
&gt; 
&gt; Nit: You might as well use textPosition() for both line / column. Under the hood they are doing the same thing, this will ensure less work:
&gt; 
&gt;     TextPosition textPosition = parser-&gt;textPosition();
&gt;     line = textPosition.m_line.oneBasedInt();
&gt;     column = textPosition.m_column.oneBasedInt();
&gt; 
&gt; r- though, because we should really be adding some kind of a test for this to make sure we don&apos;t regress it in the future! That will also help when the other FIXME gets addressed to make sure we don&apos;t break this case.

I tried to test it, but i could not figure out how to. This method that i had to change is called only from two place:
  Source/WebCore/dom/Document.cpp:2793
  Source/WebCore/loader/DocumentLoader.cpp:585

I don&apos;t know how to write a test case that provide the necessary error:
&quot;Refused to display ... in a frame because it set &apos;X-Frame-Options&apos; to ...&quot;

Do you have any idea how to test this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956422</commentid>
    <comment_count>6</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-04 10:02:54 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 216775 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=216775&amp;action=review
&gt; &gt;
&gt; &gt; r- though, because we should really be adding some kind of a test for this to make sure we don&apos;t regress it in the future! That will also help when the other FIXME gets addressed to make sure we don&apos;t break this case.
&gt; 
&gt; I tried to test it, but i could not figure out how to. This method that i had to change is called only from two place:
&gt;   Source/WebCore/dom/Document.cpp:2793
&gt;   Source/WebCore/loader/DocumentLoader.cpp:585
&gt; 
&gt; I don&apos;t know how to write a test case that provide the necessary error:
&gt; &quot;Refused to display ... in a frame because it set &apos;X-Frame-Options&apos; to ...&quot;
&gt; 
&gt; Do you have any idea how to test this patch?

There are some existings tests that exercise X-Frame-Options:

    fast/parser/x-frame-options-detached-document-crash.html
    1:This checks that writing an X-Frame-Options meta tag to a detached document does not crash.
    12:  fooDoc.write(&apos;&lt;meta http-equiv=&quot;X-Frame-Options&quot; content=&quot;deny&quot;/&gt;&apos;);

    http/tests/cache/x-frame-options-304.html
    2:Test that a 304 response for a resource with an X-Frame-Options header doesn&apos;t cause us to crash.

    http/tests/inspector/network/x-frame-options-deny.html
    46:&lt;p&gt;Tests that responseReceived is called on NetworkDispatcher for resource requests denied due to X-Frame-Options header.&lt;/p&gt;

    http/tests/security/XFrameOptions/resources/nph-cached-xfo.pl
    2:# Script to generate a 304 HTTP status with (illegal) X-Frame-Options headers.
    12:    print &quot;X-Frame-Options: deny\r\n&quot;;
    22:print &quot;X-Frame-Options: allowall\r\n&quot;;

    http/tests/security/XFrameOptions/x-frame-options-cached.html
    6:        description(&apos;Check that an X-Frame-Options header added by a 304 response does not override one from the original request.&apos;);

Maybe viewing those tests can lead you to find a way to test this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956423</commentid>
    <comment_count>7</comment_count>
      <attachid>218405</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-04 10:05:38 -0800</bug_when>
    <thetext>Comment on attachment 218405
draft

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

&gt; Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:976
&gt; +        m_pendingCallbacks-&gt;appendErrorCallback(type, reinterpret_cast&lt;const xmlChar*&gt;(m), textPosition().m_line, textPosition().m_column);

Would be nice to only call textPosition() once here, and storing it into a local. Depending on the compiler, this may be doing double work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956887</commentid>
    <comment_count>8</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-05 06:35:47 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 218405 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=218405&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp:976
&gt; &gt; +        m_pendingCallbacks-&gt;appendErrorCallback(type, reinterpret_cast&lt;const xmlChar*&gt;(m), textPosition().m_line, textPosition().m_column);
&gt; 
&gt; Would be nice to only call textPosition() once here, and storing it into a local. Depending on the compiler, this may be doing double work?

Yeah this isn&apos;t look so good. I&apos;ll try to do something with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956888</commentid>
    <comment_count>9</comment_count>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-05 06:45:46 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; There are some existings tests that exercise X-Frame-Options:
&gt; 
&gt;     fast/parser/x-frame-options-detached-document-crash.html
&gt;     1:This checks that writing an X-Frame-Options meta tag to a detached document does not crash.
&gt;     12:  fooDoc.write(&apos;&lt;meta http-equiv=&quot;X-Frame-Options&quot; content=&quot;deny&quot;/&gt;&apos;);
&gt; 
&gt;     http/tests/cache/x-frame-options-304.html
&gt;     2:Test that a 304 response for a resource with an X-Frame-Options header doesn&apos;t cause us to crash.
&gt; 
&gt;     http/tests/inspector/network/x-frame-options-deny.html
&gt;     46:&lt;p&gt;Tests that responseReceived is called on NetworkDispatcher for resource requests denied due to X-Frame-Options header.&lt;/p&gt;
&gt; 
&gt;     http/tests/security/XFrameOptions/resources/nph-cached-xfo.pl
&gt;     2:# Script to generate a 304 HTTP status with (illegal) X-Frame-Options headers.
&gt;     12:    print &quot;X-Frame-Options: deny\r\n&quot;;
&gt;     22:print &quot;X-Frame-Options: allowall\r\n&quot;;
&gt; 
&gt;     http/tests/security/XFrameOptions/x-frame-options-cached.html
&gt;     6:        description(&apos;Check that an X-Frame-Options header added by a 304 response does not override one from the original request.&apos;);
&gt; 
&gt; Maybe viewing those tests can lead you to find a way to test this.

Thanks a lot! Finally I can reach the method and catch the error, when write on the console. But there is another problem with this FIXME. The other one blocks this, because the line (and column) are always zeros in this case. http://trac.webkit.org/browser/trunk/Source/WebCore/page/PageConsole.cpp#L146
In this type of error message the condition in line 153 is always failing and the line never sets.

I think we should test this bug with the zero-s, and then fix the other FIXME. Then change the test when the other FIXME is solved. What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>956940</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-05 09:57:36 -0800</bug_when>
    <thetext>&gt; Thanks a lot! Finally I can reach the method and catch the error, when write on the console. But there is another problem with this FIXME. The other one blocks this, because the line (and column) are always zeros in this case. http://trac.webkit.org/browser/trunk/Source/WebCore/page/PageConsole.cpp#L146
&gt; In this type of error message the condition in line 153 is always failing and the line never sets.
&gt; 
&gt; I think we should test this bug with the zero-s, and then fix the other FIXME. Then change the test when the other FIXME is solved. What do you think?

Sounds good. When you add the test, add a comment in the test pointing to the FIXME, and that a change in the expected results from 0:0 might be a progression.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957185</commentid>
    <comment_count>11</comment_count>
      <attachid>218580</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-06 02:03:12 -0800</bug_when>
    <thetext>Created attachment 218580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958106</commentid>
    <comment_count>12</comment_count>
      <attachid>218580</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-09 15:20:10 -0800</bug_when>
    <thetext>Comment on attachment 218580
Patch

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

r=me, though there are a few small nits that would be nice to cleanup.

&gt; Source/WebCore/page/PageConsole.cpp:71
&gt; +            printf(&quot;%s:%d:%d: &quot;, sourceURL.utf8().data(), lineNumber, columnNumber);

Nit: This code, pre-existing your patch, is really weird. If you could clean that up at the same time that would be nice. Seems like we just need your new line and you could remove the other else blocks.

    * lineNumber and columnNumber are unsigned. So their values will always be greater than 0. These if checks don&apos;t make sense.
    * printf format specifier for unsigned should be %u.

&gt; Source/WebCore/page/PageConsole.cpp:157
&gt; +            line = parser-&gt;textPosition().m_line.oneBasedInt();
&gt; +            column = parser-&gt;textPosition().m_column.oneBasedInt();

Nit: This still calls textPosition twice. Rather then think about what the compiler would do, I&apos;d rather see a local variable for the result of textPosition().

&gt; Source/WebCore/page/PageConsole.h:51
&gt; +    static void printSourceURLAndPosition(const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber = 0);

Nit: I&apos;ve been bitten too many times by optional parameters. It looks like you&apos;ve covered all of the call sites of this function. I&apos;d like to see this parameter be made non-optional. We always want to push towards having column number everywhere anyways.

&gt; LayoutTests/inspector-protocol/page/deny-X-FrameOption.html:16
&gt; +        // FIXME The line and column values will be zeros until this fix:
&gt; +        // https://bugs.webkit.org/show_bug.cgi?id=125340
&gt; +        // After this probably we should update the expected.txt.
&gt; +        InspectorTest.log(simplifiedMessage.location);

Excellent! Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958331</commentid>
    <comment_count>13</comment_count>
      <attachid>218865</attachid>
    <who name="László Langó">llango.u-szeged</who>
    <bug_when>2013-12-10 06:27:32 -0800</bug_when>
    <thetext>Created attachment 218865
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958406</commentid>
    <comment_count>14</comment_count>
      <attachid>218865</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-10 10:22:22 -0800</bug_when>
    <thetext>Comment on attachment 218865
patch for landing

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

&gt; Source/WebCore/page/PageConsole.h:51
&gt; +    static void printSourceURLAndPosition(const String&amp; sourceURL, unsigned lineNumber, unsigned columnNumber = 0);

Still optional? =(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958414</commentid>
    <comment_count>15</comment_count>
      <attachid>218865</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 10:50:49 -0800</bug_when>
    <thetext>Comment on attachment 218865
patch for landing

Clearing flags on attachment: 218865

Committed r160374: &lt;http://trac.webkit.org/changeset/160374&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>958415</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-10 10:50:52 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216775</attachid>
            <date>2013-11-13 00:29:24 -0800</date>
            <delta_ts>2013-12-04 06:42:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114319-20131113002922.patch</filename>
            <type>text/plain</type>
            <size>2190</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MDQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjg4NmJmNTUxZjZiNDZh
MzFkMGNhZDc2MzBiNjlkMDY5OTQwZWUwMi4uMWQ0NTE3NzhlNWI5MDhmZDkzYTYzMDJiNGU4NjJh
OWYxNTVkMTRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTExLTEzICBMw6Fz
emzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUGFnZUNvbnNv
bGU6OmFkZE1lc3NhZ2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIGNvbHVtbiBudW1i
ZXIgYWxvbmdzaWRlIGxpbmUgbnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTQzMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBhZ2UvUGFnZUNvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UpOgorCiAyMDEzLTExLTEwICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBTaHJpbmsgUmVuZGVySW5saW5lLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAppbmRleCA0ZmFhZTZkMGQ2ZjI5ZjgxZmVmNjQ0YzI1
YzBiNGVmOGE3ZDk5ZDdhLi45ZGMyZWRkYzIxZWUzNTAyY2MwY2YxM2E5YmVhYmExNjk5ZThkOThj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcApAQCAtMTQ4LDEyICsxNDgsMTUgQEAg
dm9pZCBQYWdlQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHIKICAgICAvLyBBbHNvLCB3ZSBzaG91bGQgZGV0ZXJtaW5l
IGxpbmUgbnVtYmVycyBmb3Igc2NyaXB0IGdlbmVyYXRlZCBtZXNzYWdlcyAoZS5nLiBjYWxsaW5n
IGdldEltYWdlRGF0YSBvbiBhIGNhbnZhcykuCiAgICAgLy8gV2UgcHJvYmFibHkgbmVlZCB0byBz
cGxpdCB0aGlzIGZ1bmN0aW9uIGludG8gbXVsdGlwbGUgb25lcywgYXMgYXBwcm9wcmlhdGUgZm9y
IGRpZmZlcmVudCBjYWxsIHNpdGVzLiBPciBtYXliZSBkZWNpZGUgYmFzZWQgb24gTWVzc2FnZVNv
dXJjZS4KICAgICB1bnNpZ25lZCBsaW5lID0gMDsKKyAgICB1bnNpZ25lZCBjb2x1bW4gPSAwOwog
ICAgIGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC0+cGFyc2luZygpICYmICFkb2N1bWVudC0+aXNJ
bkRvY3VtZW50V3JpdGUoKSAmJiBkb2N1bWVudC0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkp
IHsKICAgICAgICAgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBkb2N1bWVudC0+
c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5pc1dhaXRp
bmdGb3JTY3JpcHRzKCkgJiYgIUpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkp
CisgICAgICAgIGlmICghcGFyc2VyLT5pc1dhaXRpbmdGb3JTY3JpcHRzKCkgJiYgIUpTTWFpblRo
cmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpIHsKICAgICAgICAgICAgIGxpbmUgPSBwYXJz
ZXItPmxpbmVOdW1iZXIoKS5vbmVCYXNlZEludCgpOworICAgICAgICAgICAgY29sdW1uID0gcGFy
c2VyLT50ZXh0UG9zaXRpb24oKS5tX2NvbHVtbi5vbmVCYXNlZEludCgpOworICAgICAgICB9CiAg
ICAgfQotICAgIGFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZSwgdXJsLCBsaW5lLCAw
LCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CisgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVs
LCBtZXNzYWdlLCB1cmwsIGxpbmUsIGNvbHVtbiwgMCwgMCwgcmVxdWVzdElkZW50aWZpZXIpOwog
fQogCiB2b2lkIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBN
ZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgUGFzc1JlZlB0cjxTY3Jp
cHRDYWxsU3RhY2s+IGNhbGxTdGFjaykK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218405</attachid>
            <date>2013-12-04 06:42:18 -0800</date>
            <delta_ts>2013-12-06 02:03:05 -0800</delta_ts>
            <desc>draft</desc>
            <filename>bug-114319-20131204064217.patch</filename>
            <type>text/plain</type>
            <size>14665</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGRiMTY4MzEwYTYyZmU4
YWRiYWRlYjUyZjI3NmU5YzE4NmY4MjNmZS4uMjJlOTQ1Yzk3Mzc1MjMzYWNhZTcwNmU0NGQ4YWRh
YTcxZTJlMDM3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDMzIEBACiAyMDEzLTEyLTA0ICBMw6Fz
emzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+CiAKKyAgICAgICAgUGFnZUNvbnNv
bGU6OmFkZE1lc3NhZ2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIGNvbHVtbiBudW1i
ZXIgYWxvbmdzaWRlIGxpbmUgbnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTQzMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGRvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lU3R5bGVTaGVldE93bmVyOjpJbmxpbmVTdHlsZVNoZWV0T3duZXIp
OgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEVsZW1lbnQ6OlNjcmlwdEVsZW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5k
UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFBlbmRp
bmdTcGVjdWxhdGlvbnMpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2Jq
ZWN0KToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBhZ2VDb25zb2xlOjpwcmludFNvdXJjZVVSTEFuZFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xl
Lmg6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oOgorICAgICAgICAq
IHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlhNTERvY3VtZW50UGFyc2VyOjplcnJvcik6CisKKzIwMTMtMTItMDQgIEzDoXN6bMOzIExh
bmfDsyAgPGxhbmdvQGluZi51LXN6ZWdlZC5odT4KKwogICAgICAgICBUeXBvIGZpeCBhZnRlciBy
MTYwMDc0IHRvIGZpeCBkZWJ1ZyBidWlsZHMuCiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQ3NhYmEg
T3N6dHJvZ29uw6FjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxl
U2hlZXRPd25lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVy
LmNwcAppbmRleCA1NjViYzcyN2ZhMmI2NDY1MjY4ZjlkNjQ5ODAxYmQ0ZTRmNTM4ZjljLi5kZWY3
MjZmNTg2MmM0MWU0MjhiMWU2NTgyM2Q0YTU0Mjc0NjA5YzRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcApAQCAtMzgsNyArMzgsNyBAQCBJbmxpbmVT
dHlsZVNoZWV0T3duZXI6OklubGluZVN0eWxlU2hlZXRPd25lcihEb2N1bWVudCYgZG9jdW1lbnQs
IGJvb2wgY3JlYXRlZEJ5UAogICAgICwgbV9zdGFydExpbmVOdW1iZXIoV1RGOjpPcmRpbmFsTnVt
YmVyOjpiZWZvcmVGaXJzdCgpKQogewogICAgIGlmIChjcmVhdGVkQnlQYXJzZXIgJiYgZG9jdW1l
bnQuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkgJiYgIWRvY3VtZW50LmlzSW5Eb2N1bWVudFdy
aXRlKCkpCi0gICAgICAgIG1fc3RhcnRMaW5lTnVtYmVyID0gZG9jdW1lbnQuc2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIoKTsKKyAgICAgICAgbV9zdGFydExpbmVOdW1iZXIg
PSBkb2N1bWVudC5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKS0+dGV4dFBvc2l0aW9uKCkubV9s
aW5lOwogfQogCiBJbmxpbmVTdHlsZVNoZWV0T3duZXI6On5JbmxpbmVTdHlsZVNoZWV0T3duZXIo
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDE1N2M0Y2E4ZjcwZmVlYTUx
N2I0OTc2YmNmMGEzNTIyYzQxNzJmZjMuLjE2M2E0MDcyY2FhZjZiNmY2NmMxNzcyNjJlMTQzM2Nm
MThlYTE3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKQEAgLTc1LDcgKzc1
LDcgQEAgU2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVudChFbGVtZW50KiBlbGVtZW50LCBib29s
IHBhcnNlckluc2VydGVkLCBib29sIGFscmVhZHkKIHsKICAgICBBU1NFUlQobV9lbGVtZW50KTsK
ICAgICBpZiAocGFyc2VySW5zZXJ0ZWQgJiYgbV9lbGVtZW50LT5kb2N1bWVudCgpLnNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlcigpICYmICFtX2VsZW1lbnQtPmRvY3VtZW50KCkuaXNJbkRvY3VtZW50
V3JpdGUoKSkKLSAgICAgICAgbV9zdGFydExpbmVOdW1iZXIgPSBtX2VsZW1lbnQtPmRvY3VtZW50
KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIoKTsKKyAgICAgICAgbV9z
dGFydExpbmVOdW1iZXIgPSBtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50
UGFyc2VyKCktPnRleHRQb3NpdGlvbigpLm1fbGluZTsKIH0KIAogU2NyaXB0RWxlbWVudDo6flNj
cmlwdEVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGFibGVE
b2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdGFibGVEb2N1bWVudFBh
cnNlci5oCmluZGV4IGIwOWFiMGRlMmZjYjc3MjkwYmM2MTBiMzdkZjZmZjc5YjA4MTM1ZjYuLjg0
ZmJiNDk1NTY2NjM1MGI1NzQyYzI0M2Y0ZmQ0MjFmOGI1MDI1N2YgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgKQEAgLTQ0LDggKzQ0LDYgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBib29sIGlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25zdCA9IDA7
CiAKLSAgICAvLyBUaGVzZSBhcmUgdXNlZCB0byBleHBvc2UgdGhlIGN1cnJlbnQgbGluZS9jb2x1
bW4gdG8gdGhlIHNjcmlwdGluZyBzeXN0ZW0uCi0gICAgdmlydHVhbCBPcmRpbmFsTnVtYmVyIGxp
bmVOdW1iZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBUZXh0UG9zaXRpb24gdGV4dFBvc2l0
aW9uKCkgY29uc3QgPSAwOwogCiAgICAgdm9pZCBzZXRXYXNDcmVhdGVkQnlTY3JpcHQoYm9vbCB3
YXNDcmVhdGVkQnlTY3JpcHQpIHsgbV93YXNDcmVhdGVkQnlTY3JpcHQgPSB3YXNDcmVhdGVkQnlT
Y3JpcHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcAppbmRleCAxNzkwM2Q4OWM0
ZmRhMGUzMGRmYmM3ZGJiZmFiMDhjZjUwNTdhZTgyLi45MjFhOTRmYzZjYzA5ZjJiMTQ2MjI3ODBh
MTIwNGQxNGEwN2U3MWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQuY3BwCkBAIC0x
OTUsNyArMTk1LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQo
Y29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZywgQXQKIHsKICAgICBXVEY6Ok9yZGlu
YWxOdW1iZXIgc3RhcnRMaW5lTnVtYmVyID0gV1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJz
dCgpOwogICAgIGlmIChkb2N1bWVudCgpLnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpICYmICFk
b2N1bWVudCgpLmlzSW5Eb2N1bWVudFdyaXRlKCkpCi0gICAgICAgIHN0YXJ0TGluZU51bWJlciA9
IGRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIoKTsKKyAg
ICAgICAgc3RhcnRMaW5lTnVtYmVyID0gZG9jdW1lbnQoKS5zY3JpcHRhYmxlRG9jdW1lbnRQYXJz
ZXIoKS0+dGV4dFBvc2l0aW9uKCkubV9saW5lOwogCiAgICAgaWYgKG5ld1N0eWxlU3RyaW5nLmlz
TnVsbCgpKSB7CiAgICAgICAgIGlmIChQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24qIGNz
c29tV3JhcHBlciA9IGlubGluZVN0eWxlQ1NTT01XcmFwcGVyKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcAppbmRleCBiNjU4MmNlMTZj
MDVmN2RmZDU2MmFkOWU1MDlmNGM1ZmY2YmFkODk3Li44MDYyMzk5MTNmNGJmYjg0OWU2YTEyYmY3
MmRmNGI0OTljNjJhYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MRG9jdW1lbnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTMxNCwxMyArMzE0LDEzIEBAIHZvaWQgSFRNTERvY3Vt
ZW50UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihPd25Q
dHI8UGFyc2VkCiAgICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0IGlzbid0IGRlbGV0ZWQg
eWV0LgogICAgIFJlZjxIVE1MRG9jdW1lbnRQYXJzZXI+IHByb3RlY3QoKnRoaXMpOwogCi0gICAg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6d2lsbFdyaXRlSFRNTChkb2N1bWVudCgpLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2Vk
SW50KCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQoKSwgdGV4dFBvc2l0
aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpKTsKIAogICAgIEFTU0VSVChtX3NwZWN1bGF0aW9u
cy5pc0VtcHR5KCkpOwogICAgIGNodW5rLT5wcmVsb2Fkcy5jbGVhcigpOyAvLyBXZSBkb24ndCBu
ZWVkIHRvIHByZWxvYWQgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBwYXJzZSBpbW1lZGlhdGVseS4K
ICAgICBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNlcihjaHVuayk7CiAKLSAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUsIGxpbmVOdW1i
ZXIoKS56ZXJvQmFzZWRJbnQoKSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRX
cml0ZUhUTUwoY29va2llLCB0ZXh0UG9zaXRpb24oKS5tX2xpbmUuemVyb0Jhc2VkSW50KCkpOwog
fQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6dmFsaWRhdGVTcGVjdWxhdGlvbnMoT3duUHRy
PFBhcnNlZENodW5rPiBjaHVuaykKQEAgLTQ1OCw3ICs0NTgsNyBAQCB2b2lkIEhUTUxEb2N1bWVu
dFBhcnNlcjo6cHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKQogICAgIEFTU0VSVCghbV9sYXN0Q2h1
bmtCZWZvcmVTY3JpcHQpOwogCiAgICAgLy8gRklYTUU6IFBhc3MgaW4gY3VycmVudCBpbnB1dCBs
ZW5ndGguCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFdyaXRlSFRNTChkb2N1bWVudCgpLCBsaW5lTnVtYmVy
KCkuemVyb0Jhc2VkSW50KCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBj
b29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQo
KSwgdGV4dFBvc2l0aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpKTsKIAogICAgIGRvdWJsZSBz
dGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIApAQCAtNDc0LDcgKzQ3
NCw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wUGVuZGluZ1NwZWN1bGF0aW9ucygp
CiAgICAgICAgIH0KICAgICB9CiAKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdy
aXRlSFRNTChjb29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQoKSk7CisgICAgSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCB0ZXh0UG9zaXRpb24oKS5t
X2xpbmUuemVyb0Jhc2VkSW50KCkpOwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKFRIUkVBREVEX0hU
TUxfUEFSU0VSKQpAQCAtODI4LDE2ICs4MjgsNiBAQCBib29sIEhUTUxEb2N1bWVudFBhcnNlcjo6
aXNFeGVjdXRpbmdTY3JpcHQoKSBjb25zdAogICAgIHJldHVybiBtX3NjcmlwdFJ1bm5lci0+aXNF
eGVjdXRpbmdTY3JpcHQoKTsKIH0KIAotT3JkaW5hbE51bWJlciBIVE1MRG9jdW1lbnRQYXJzZXI6
OmxpbmVOdW1iZXIoKSBjb25zdAotewotI2lmIEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikK
LSAgICBpZiAobV9oYXZlQmFja2dyb3VuZFBhcnNlcikKLSAgICAgICAgcmV0dXJuIG1fdGV4dFBv
c2l0aW9uLm1fbGluZTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIG1faW5wdXQuY3VycmVudCgpLmN1
cnJlbnRMaW5lKCk7Ci19Ci0KIFRleHRQb3NpdGlvbiBIVE1MRG9jdW1lbnRQYXJzZXI6OnRleHRQ
b3NpdGlvbigpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCBl
NDc2NDFmMmRjNTcxZjgxYmVmNWJmNDU0NDgzNTYyYWQwMTI4YjhlLi4yYTY1YjYwODEzNzFiMjBj
YmIyOWNjODUyYTZkMmUwYzRmMmM4OGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtODAsNyArODAsNiBAQCBwdWJsaWM6CiAgICAg
SFRNTFRva2VuaXplciogdG9rZW5pemVyKCkgY29uc3QgeyByZXR1cm4gbV90b2tlbml6ZXIuZ2V0
KCk7IH0KIAogICAgIHZpcnR1YWwgVGV4dFBvc2l0aW9uIHRleHRQb3NpdGlvbigpIGNvbnN0Owot
ICAgIHZpcnR1YWwgT3JkaW5hbE51bWJlciBsaW5lTnVtYmVyKCkgY29uc3Q7CiAKICAgICB2aXJ0
dWFsIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CiAgICAgdmlydHVhbCB2b2lkIHJlc3Vt
ZVNjaGVkdWxlZFRhc2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggMzhkY2RhYTFkOTY1M2VmYzUzODZjN2NjNGUy
MzY3OGQzYWU0MTg2YS4uZTEyYjBhMDNlMWNkMjdjZTM5ODQ0ZDI2N2E3MjI1M2YwMTY0MzYyZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmNwcApAQCAtNDU0LDcgKzQ1NCw3IEBAIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6Ok5ldHdv
cms6OkluaXRpYXRvcj4gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVpbGRJbml0aWF0CiAgICAg
ICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yPiBpbml0aWF0b3JPYmpl
Y3QgPSBUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yOjpjcmVhdGUoKQogICAgICAgICAg
ICAgLnNldFR5cGUoVHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6VHlwZTo6UGFyc2Vy
KTsKICAgICAgICAgaW5pdGlhdG9yT2JqZWN0LT5zZXRVcmwoZG9jdW1lbnQtPnVybCgpLnN0cmlu
ZygpKTsKLSAgICAgICAgaW5pdGlhdG9yT2JqZWN0LT5zZXRMaW5lTnVtYmVyKGRvY3VtZW50LT5z
Y3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKS0+bGluZU51bWJlcigpLm9uZUJhc2VkSW50KCkpOwor
ICAgICAgICBpbml0aWF0b3JPYmplY3QtPnNldExpbmVOdW1iZXIoZG9jdW1lbnQtPnNjcmlwdGFi
bGVEb2N1bWVudFBhcnNlcigpLT50ZXh0UG9zaXRpb24oKS5tX2xpbmUub25lQmFzZWRJbnQoKSk7
CiAgICAgICAgIHJldHVybiBpbml0aWF0b3JPYmplY3Q7CiAgICAgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbnNvbGUuY3BwCmluZGV4IDRmYWFlNmQwZDZmMjlmODFmZWY2NDRjMjVjMGI0ZWY4YTdk
OTlkN2EuLjJiYWJlZmRlNjIyMWJkMWQ5YWY5ZThhZGZlZTc3N2MwM2ExZDIwYzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCkBAIC02NCwxMCArNjQsMTIgQEAgUGFnZUNvbnNvbGU6
On5QYWdlQ29uc29sZSgpCiB7CiB9CiAKLXZvaWQgUGFnZUNvbnNvbGU6OnByaW50U291cmNlVVJM
QW5kTGluZShjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlcikKK3Zv
aWQgUGFnZUNvbnNvbGU6OnByaW50U291cmNlVVJMQW5kUG9zaXRpb24oY29uc3QgU3RyaW5nJiBz
b3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlcikKIHsK
ICAgICBpZiAoIXNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKGxpbmVOdW1iZXIg
PiAwKQorICAgICAgICBpZiAobGluZU51bWJlciA+IDAgJiYgY29sdW1uTnVtYmVyID4gMCkKKyAg
ICAgICAgICAgIHByaW50ZigiJXM6JWQ6JWQ6ICIsIHNvdXJjZVVSTC51dGY4KCkuZGF0YSgpLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgICAgICBlbHNlIGlmIChsaW5lTnVtYmVyID4g
MCkKICAgICAgICAgICAgIHByaW50ZigiJXM6JWQ6ICIsIHNvdXJjZVVSTC51dGY4KCkuZGF0YSgp
LCBsaW5lTnVtYmVyKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcHJpbnRmKCIlczogIiwg
c291cmNlVVJMLnV0ZjgoKS5kYXRhKCkpOwpAQCAtMTQyLDE4ICsxNDQsMjAgQEAgdm9pZCBQYWdl
Q29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxl
dmVsLCBjb25zdCBTdHIKICAgICBTdHJpbmcgdXJsOwogICAgIGlmIChkb2N1bWVudCkKICAgICAg
ICAgdXJsID0gZG9jdW1lbnQtPnVybCgpLnN0cmluZygpOwotICAgIC8vIEZJWE1FOiA8aHR0cDov
L3dlYmtpdC5vcmcvYi8xMTQzMTk+IFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlIHNob3VsZCBhdXRv
bWF0aWNhbGx5IGRldGVybWluZSBjb2x1bW4gbnVtYmVyIGFsb25nc2lkZSBsaW5lIG51bWJlci4K
ICAgICAvLyBGSVhNRTogVGhlIGJlbG93IGNvZGUgYXR0ZW1wdHMgdG8gZGV0ZXJtaW5lIGxpbmUg
bnVtYmVycyBmb3IgcGFyc2VyIGdlbmVyYXRlZCBlcnJvcnMsIGJ1dCB0aGlzIGlzIG5vdCB0aGUg
b25seSByZWFzb24gd2h5IHdlIGNhbiBnZXQgaGVyZS4KICAgICAvLyBGb3IgZXhhbXBsZSwgaWYg
d2UgYXJlIHN0aWxsIHBhcnNpbmcgYW5kIGdldCBhIFdlYlNvY2tldCBuZXR3b3JrIGVycm9yLCBp
dCB3aWxsIGJlIGVycm9uZW91c2x5IGF0dHJpYnV0ZWQgdG8gYSBsaW5lIHdoZXJlIHBhcnNpbmcg
d2FzIHBhdXNlZC4KICAgICAvLyBBbHNvLCB3ZSBzaG91bGQgZGV0ZXJtaW5lIGxpbmUgbnVtYmVy
cyBmb3Igc2NyaXB0IGdlbmVyYXRlZCBtZXNzYWdlcyAoZS5nLiBjYWxsaW5nIGdldEltYWdlRGF0
YSBvbiBhIGNhbnZhcykuCiAgICAgLy8gV2UgcHJvYmFibHkgbmVlZCB0byBzcGxpdCB0aGlzIGZ1
bmN0aW9uIGludG8gbXVsdGlwbGUgb25lcywgYXMgYXBwcm9wcmlhdGUgZm9yIGRpZmZlcmVudCBj
YWxsIHNpdGVzLiBPciBtYXliZSBkZWNpZGUgYmFzZWQgb24gTWVzc2FnZVNvdXJjZS4KICAgICB1
bnNpZ25lZCBsaW5lID0gMDsKKyAgICB1bnNpZ25lZCBjb2x1bW4gPSAwOwogICAgIGlmIChkb2N1
bWVudCAmJiBkb2N1bWVudC0+cGFyc2luZygpICYmICFkb2N1bWVudC0+aXNJbkRvY3VtZW50V3Jp
dGUoKSAmJiBkb2N1bWVudC0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkpIHsKICAgICAgICAg
U2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBkb2N1bWVudC0+c2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyKCk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5pc1dhaXRpbmdGb3JTY3JpcHRz
KCkgJiYgIUpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpCi0gICAgICAgICAg
ICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKTsKKyAgICAgICAgaWYg
KCFwYXJzZXItPmlzV2FpdGluZ0ZvclNjcmlwdHMoKSAmJiAhSlNNYWluVGhyZWFkRXhlY1N0YXRl
OjpjdXJyZW50U3RhdGUoKSkgeworICAgICAgICAgICAgbGluZSA9IHBhcnNlci0+dGV4dFBvc2l0
aW9uKCkubV9saW5lLm9uZUJhc2VkSW50KCk7CisgICAgICAgICAgICBjb2x1bW4gPSBwYXJzZXIt
PnRleHRQb3NpdGlvbigpLm1fY29sdW1uLm9uZUJhc2VkSW50KCk7CisgICAgICAgIH0KICAgICB9
Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmUsIDAsIDAs
IDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1l
c3NhZ2UsIHVybCwgbGluZSwgY29sdW1uLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAK
IHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3Nh
Z2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENh
bGxTdGFjaz4gY2FsbFN0YWNrKQpAQCAtMTgyLDcgKzE4Niw3IEBAIHZvaWQgUGFnZUNvbnNvbGU6
OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29u
c3QgU3RyCiAgICAgaWYgKCFtX3BhZ2Uuc2V0dGluZ3MoKS5sb2dzUGFnZU1lc3NhZ2VzVG9TeXN0
ZW1Db25zb2xlRW5hYmxlZCgpICYmICFzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAg
cmV0dXJuOwogCi0gICAgcHJpbnRTb3VyY2VVUkxBbmRMaW5lKHVybCwgbGluZU51bWJlcik7Cisg
ICAgcHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbih1cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJl
cik7CiAgICAgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoc291cmNlLCBsZXZlbCk7
CiAKICAgICBwcmludGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUGFnZUNvbnNvbGUuaAppbmRleCBjZmY3OGUyMjhlYzU3YzUwY2ZlZTEyZGZkOTM5MzIzYmJm
ZjhjZTIwLi45ZGJkYTY2ZGY2NjJlNTY5YmM4YTI1MTFlNDk0OTJjODEyYzU0MjY4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9QYWdlQ29uc29sZS5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBQYWdl
Q29uc29sZShQYWdlJik7CiAgICAgflBhZ2VDb25zb2xlKCk7CiAKLSAgICBzdGF0aWMgdm9pZCBw
cmludFNvdXJjZVVSTEFuZExpbmUoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxp
bmVOdW1iZXIpOworICAgIHN0YXRpYyB2b2lkIHByaW50U291cmNlVVJMQW5kUG9zaXRpb24oY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlciA9IDApOwogICAgIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVs
UHJlZml4KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCk7CiAKICAgICB2b2lkIGFkZE1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1
bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRl
KiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAzY2Q3ODU2ZjM2NmFi
NTkwMzI3YzJiNmY0NTEyMTNlMWQ2YzYxOTA4Li43YjdlMjIwMzhmMTcxNjM0NzM3MzIzYzM5OWFm
MGQ1Yzc2ZjY1NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERv
Y3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVu
dFBhcnNlci5oCkBAIC0xMDUsOCArMTA1LDYgQEAgY2xhc3MgVGV4dDsKICAgICAgICAgdmlydHVh
bCBib29sIGlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCB2b2lk
IHN0b3BQYXJzaW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICAgICAg
dmlydHVhbCBPcmRpbmFsTnVtYmVyIGxpbmVOdW1iZXIoKSBjb25zdDsKLSAgICAgICAgT3JkaW5h
bE51bWJlciBjb2x1bW5OdW1iZXIoKSBjb25zdDsKIAogICAgICAgICAvLyBmcm9tIENhY2hlZFJl
c291cmNlQ2xpZW50CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRS
ZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1
bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDQ2YTkyZGI5YmE1M2U2MTkwYjBmNTA1YjY0YzE2
NzZlNWYyNGI5MjYuLmE4NDM2ZDRlMWI3ODVkOTc2NWY0ZTEyMDcxNDhlMjlmZWU1NGY3MmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4
bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2Vy
TGlieG1sMi5jcHAKQEAgLTk3Myw3ICs5NzMsNyBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjpl
cnJvcihYTUxFcnJvcnM6OkVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlLCB2YQog
I2VuZGlmCiAKICAgICBpZiAobV9wYXJzZXJQYXVzZWQpCi0gICAgICAgIG1fcGVuZGluZ0NhbGxi
YWNrcy0+YXBwZW5kRXJyb3JDYWxsYmFjayh0eXBlLCByZWludGVycHJldF9jYXN0PGNvbnN0IHht
bENoYXIqPihtKSwgbGluZU51bWJlcigpLCBjb2x1bW5OdW1iZXIoKSk7CisgICAgICAgIG1fcGVu
ZGluZ0NhbGxiYWNrcy0+YXBwZW5kRXJyb3JDYWxsYmFjayh0eXBlLCByZWludGVycHJldF9jYXN0
PGNvbnN0IHhtbENoYXIqPihtKSwgdGV4dFBvc2l0aW9uKCkubV9saW5lLCB0ZXh0UG9zaXRpb24o
KS5tX2NvbHVtbik7CiAgICAgZWxzZQogICAgICAgICBoYW5kbGVFcnJvcih0eXBlLCBtLCB0ZXh0
UG9zaXRpb24oKSk7CiAKQEAgLTE0MjYsMTYgKzE0MjYsNiBAQCB2b2lkKiB4bWxEb2NQdHJGb3JT
dHJpbmcoQ2FjaGVkUmVzb3VyY2VMb2FkZXIqIGNhY2hlZFJlc291cmNlTG9hZGVyLCBjb25zdCBT
dHJpbgogfQogI2VuZGlmCiAKLU9yZGluYWxOdW1iZXIgWE1MRG9jdW1lbnRQYXJzZXI6OmxpbmVO
dW1iZXIoKSBjb25zdAotewotICAgIHJldHVybiBPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJ
bnQoY29udGV4dCgpID8gY29udGV4dCgpLT5pbnB1dC0+bGluZSA6IDEpOwotfQotCi1PcmRpbmFs
TnVtYmVyIFhNTERvY3VtZW50UGFyc2VyOjpjb2x1bW5OdW1iZXIoKSBjb25zdAotewotICAgIHJl
dHVybiBPcmRpbmFsTnVtYmVyOjpmcm9tT25lQmFzZWRJbnQoY29udGV4dCgpID8gY29udGV4dCgp
LT5pbnB1dC0+Y29sIDogMSk7Ci19Ci0KIFRleHRQb3NpdGlvbiBYTUxEb2N1bWVudFBhcnNlcjo6
dGV4dFBvc2l0aW9uKCkgY29uc3QKIHsKICAgICB4bWxQYXJzZXJDdHh0UHRyIGNvbnRleHQgPSB0
aGlzLT5jb250ZXh0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218580</attachid>
            <date>2013-12-06 02:03:12 -0800</date>
            <delta_ts>2013-12-10 06:27:26 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-114319-20131206020311.patch</filename>
            <type>text/plain</type>
            <size>18329</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMxZTk3ZmU4ZTFkMmY0
M2ZlYjVlMzA1MzVkNzFhZTcxODg3NmRmZC4uMWIyNGVlY2ZlNjE5YWMzYzk4NTRkMGM4YjI5Mjk2
YzgyZDkwOWExZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEyLTA2ICBMw6Fz
emzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUGFnZUNvbnNv
bGU6OmFkZE1lc3NhZ2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIGNvbHVtbiBudW1i
ZXIgYWxvbmdzaWRlIGxpbmUgbnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTQzMTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGRvbS9JbmxpbmVTdHlsZVNoZWV0T3duZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lU3R5bGVTaGVldE93bmVyOjpJbmxpbmVTdHlsZVNoZWV0T3duZXIp
OgorICAgICAgICAqIGRvbS9TY3JpcHRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEVsZW1lbnQ6OlNjcmlwdEVsZW1lbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIuaDoKKyAgICAgICAgKiBkb20vU3R5bGVkRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZWRFbGVtZW50OjpzdHlsZUF0dHJpYnV0ZUNoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MRG9jdW1lbnRQYXJzZXI6OmRpZFJlY2VpdmVQYXJzZWRDaHVua0Zyb21CYWNrZ3JvdW5k
UGFyc2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFBlbmRp
bmdTcGVjdWxhdGlvbnMpOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNl
ci5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdG9yT2Jq
ZWN0KToKKyAgICAgICAgKiBwYWdlL0NvbnNvbGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aW50
ZXJuYWxBZGRNZXNzYWdlKToKKyAgICAgICAgKiBwYWdlL1BhZ2VDb25zb2xlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlOjpwcmludFNvdXJjZVVSTEFuZFBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlBhZ2VDb25zb2xlOjphZGRNZXNzYWdlKToKKyAgICAgICAgKiBwYWdl
L1BhZ2VDb25zb2xlLmg6CisgICAgICAgICogeG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5o
OgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlhNTERvY3VtZW50UGFyc2VyOjplcnJvcik6CisKIDIwMTMtMTItMDUg
IFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIE1v
dmUgcGxhdGZvcm0gc291cmNlcyBmcmVlIG9mIGxheWVyaW5nIHZpb2xhdGlvbnMgdW5kZXIgbGli
UGxhdGZvcm0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9JbmxpbmVTdHlsZVNoZWV0
T3duZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAK
aW5kZXggNTY1YmM3MjdmYTJiNjQ2NTI2OGY5ZDY0OTgwMWJkNGU0ZjUzOGY5Yy4uZGVmNzI2ZjU4
NjJjNDFlNDI4YjFlNjU4MjNkNGE1NDI3NDYwOWM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAKQEAgLTM4LDcgKzM4LDcgQEAgSW5saW5lU3R5bGVT
aGVldE93bmVyOjpJbmxpbmVTdHlsZVNoZWV0T3duZXIoRG9jdW1lbnQmIGRvY3VtZW50LCBib29s
IGNyZWF0ZWRCeVAKICAgICAsIG1fc3RhcnRMaW5lTnVtYmVyKFdURjo6T3JkaW5hbE51bWJlcjo6
YmVmb3JlRmlyc3QoKSkKIHsKICAgICBpZiAoY3JlYXRlZEJ5UGFyc2VyICYmIGRvY3VtZW50LnNj
cmlwdGFibGVEb2N1bWVudFBhcnNlcigpICYmICFkb2N1bWVudC5pc0luRG9jdW1lbnRXcml0ZSgp
KQotICAgICAgICBtX3N0YXJ0TGluZU51bWJlciA9IGRvY3VtZW50LnNjcmlwdGFibGVEb2N1bWVu
dFBhcnNlcigpLT5saW5lTnVtYmVyKCk7CisgICAgICAgIG1fc3RhcnRMaW5lTnVtYmVyID0gZG9j
dW1lbnQuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPnRleHRQb3NpdGlvbigpLm1fbGluZTsK
IH0KIAogSW5saW5lU3R5bGVTaGVldE93bmVyOjp+SW5saW5lU3R5bGVTaGVldE93bmVyKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TY3JpcHRFbGVtZW50LmNwcAppbmRleCAxNTdjNGNhOGY3MGZlZWE1MTdiNDk3
NmJjZjBhMzUyMmM0MTcyZmYzLi4xNjNhNDA3MmNhYWY2YjZmNjZjMTc3MjYyZTE0MzNjZjE4ZWEx
Nzc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCkBAIC03NSw3ICs3NSw3IEBA
IFNjcmlwdEVsZW1lbnQ6OlNjcmlwdEVsZW1lbnQoRWxlbWVudCogZWxlbWVudCwgYm9vbCBwYXJz
ZXJJbnNlcnRlZCwgYm9vbCBhbHJlYWR5CiB7CiAgICAgQVNTRVJUKG1fZWxlbWVudCk7CiAgICAg
aWYgKHBhcnNlckluc2VydGVkICYmIG1fZWxlbWVudC0+ZG9jdW1lbnQoKS5zY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIoKSAmJiAhbV9lbGVtZW50LT5kb2N1bWVudCgpLmlzSW5Eb2N1bWVudFdyaXRl
KCkpCi0gICAgICAgIG1fc3RhcnRMaW5lTnVtYmVyID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLnNj
cmlwdGFibGVEb2N1bWVudFBhcnNlcigpLT5saW5lTnVtYmVyKCk7CisgICAgICAgIG1fc3RhcnRM
aW5lTnVtYmVyID0gbV9lbGVtZW50LT5kb2N1bWVudCgpLnNjcmlwdGFibGVEb2N1bWVudFBhcnNl
cigpLT50ZXh0UG9zaXRpb24oKS5tX2xpbmU7CiB9CiAKIFNjcmlwdEVsZW1lbnQ6On5TY3JpcHRF
bGVtZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRhYmxlRG9jdW1l
bnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIu
aAppbmRleCBiMDlhYjBkZTJmY2I3NzI5MGJjNjEwYjM3ZGY2ZmY3OWIwODEzNWY2Li44NGZiYjQ5
NTU2NjYzNTBiNTc0MmMyNDNmNGZkNDIxZjhiNTAyNTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oCkBAIC00NCw4ICs0NCw2IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBpc1dhaXRpbmdGb3JTY3JpcHRzKCkgY29uc3QgPSAwOwogCi0g
ICAgLy8gVGhlc2UgYXJlIHVzZWQgdG8gZXhwb3NlIHRoZSBjdXJyZW50IGxpbmUvY29sdW1uIHRv
IHRoZSBzY3JpcHRpbmcgc3lzdGVtLgotICAgIHZpcnR1YWwgT3JkaW5hbE51bWJlciBsaW5lTnVt
YmVyKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgVGV4dFBvc2l0aW9uIHRleHRQb3NpdGlvbigp
IGNvbnN0ID0gMDsKIAogICAgIHZvaWQgc2V0V2FzQ3JlYXRlZEJ5U2NyaXB0KGJvb2wgd2FzQ3Jl
YXRlZEJ5U2NyaXB0KSB7IG1fd2FzQ3JlYXRlZEJ5U2NyaXB0ID0gd2FzQ3JlYXRlZEJ5U2NyaXB0
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKaW5kZXggMTc5MDNkODljNGZkYTBl
MzBkZmJjN2RiYmZhYjA4Y2Y1MDU3YWU4Mi4uOTIxYTk0ZmM2Y2MwOWYyYjE0NjIyNzgwYTEyMDRk
MTRhMDdlNzFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApAQCAtMTk1LDcg
KzE5NSw3IEBAIHZvaWQgU3R5bGVkRWxlbWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0
IEF0b21pY1N0cmluZyYgbmV3U3R5bGVTdHJpbmcsIEF0CiB7CiAgICAgV1RGOjpPcmRpbmFsTnVt
YmVyIHN0YXJ0TGluZU51bWJlciA9IFdURjo6T3JkaW5hbE51bWJlcjo6YmVmb3JlRmlyc3QoKTsK
ICAgICBpZiAoZG9jdW1lbnQoKS5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKSAmJiAhZG9jdW1l
bnQoKS5pc0luRG9jdW1lbnRXcml0ZSgpKQotICAgICAgICBzdGFydExpbmVOdW1iZXIgPSBkb2N1
bWVudCgpLnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpLT5saW5lTnVtYmVyKCk7CisgICAgICAg
IHN0YXJ0TGluZU51bWJlciA9IGRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkt
PnRleHRQb3NpdGlvbigpLm1fbGluZTsKIAogICAgIGlmIChuZXdTdHlsZVN0cmluZy5pc051bGwo
KSkgewogICAgICAgICBpZiAoUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uKiBjc3NvbVdy
YXBwZXIgPSBpbmxpbmVTdHlsZUNTU09NV3JhcHBlcigpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKaW5kZXggYjY1ODJjZTE2YzA1Zjdk
ZmQ1NjJhZDllNTA5ZjRjNWZmNmJhZDg5Ny4uODA2MjM5OTEzZjRiZmI4NDllNmExMmJmNzJkZjRi
NDk5YzYyYWE5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9j
dW1lbnRQYXJzZXIuY3BwCkBAIC0zMTQsMTMgKzMxNCwxMyBAQCB2b2lkIEhUTUxEb2N1bWVudFBh
cnNlcjo6ZGlkUmVjZWl2ZVBhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoT3duUHRyPFBh
cnNlZAogICAgIC8vIGJ1dCB3ZSBuZWVkIHRvIGVuc3VyZSBpdCBpc24ndCBkZWxldGVkIHlldC4K
ICAgICBSZWY8SFRNTERvY3VtZW50UGFyc2VyPiBwcm90ZWN0KCp0aGlzKTsKIAotICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnplcm9CYXNlZEludCgp
KTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2llID0gSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIHRleHRQb3NpdGlvbigp
Lm1fbGluZS56ZXJvQmFzZWRJbnQoKSk7CiAKICAgICBBU1NFUlQobV9zcGVjdWxhdGlvbnMuaXNF
bXB0eSgpKTsKICAgICBjaHVuay0+cHJlbG9hZHMuY2xlYXIoKTsgLy8gV2UgZG9uJ3QgbmVlZCB0
byBwcmVsb2FkIGJlY2F1c2Ugd2UncmUgZ29pbmcgdG8gcGFyc2UgaW1tZWRpYXRlbHkuCiAgICAg
cHJvY2Vzc1BhcnNlZENodW5rRnJvbUJhY2tncm91bmRQYXJzZXIoY2h1bmspOwogCi0gICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCBsaW5lTnVtYmVyKCku
emVyb0Jhc2VkSW50KCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVI
VE1MKGNvb2tpZSwgdGV4dFBvc2l0aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpKTsKIH0KIAog
dm9pZCBIVE1MRG9jdW1lbnRQYXJzZXI6OnZhbGlkYXRlU3BlY3VsYXRpb25zKE93blB0cjxQYXJz
ZWRDaHVuaz4gY2h1bmspCkBAIC00NTgsNyArNDU4LDcgQEAgdm9pZCBIVE1MRG9jdW1lbnRQYXJz
ZXI6OnB1bXBQZW5kaW5nU3BlY3VsYXRpb25zKCkKICAgICBBU1NFUlQoIW1fbGFzdENodW5rQmVm
b3JlU2NyaXB0KTsKIAogICAgIC8vIEZJWE1FOiBQYXNzIGluIGN1cnJlbnQgaW5wdXQgbGVuZ3Ro
LgotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1lbnQoKSwgbGluZU51bWJlcigpLnpl
cm9CYXNlZEludCgpKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgY29va2ll
ID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsV3JpdGVIVE1MKGRvY3VtZW50KCksIHRl
eHRQb3NpdGlvbigpLm1fbGluZS56ZXJvQmFzZWRJbnQoKSk7CiAKICAgICBkb3VibGUgc3RhcnRU
aW1lID0gbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7CiAKQEAgLTQ3NCw3ICs0NzQsNyBA
QCB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKQogICAg
ICAgICB9CiAgICAgfQogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhU
TUwoY29va2llLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2VkSW50KCkpOworICAgIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkV3JpdGVIVE1MKGNvb2tpZSwgdGV4dFBvc2l0aW9uKCkubV9saW5l
Lnplcm9CYXNlZEludCgpKTsKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShUSFJFQURFRF9IVE1MX1BB
UlNFUikKQEAgLTgyOCwxNiArODI4LDYgQEAgYm9vbCBIVE1MRG9jdW1lbnRQYXJzZXI6OmlzRXhl
Y3V0aW5nU2NyaXB0KCkgY29uc3QKICAgICByZXR1cm4gbV9zY3JpcHRSdW5uZXItPmlzRXhlY3V0
aW5nU2NyaXB0KCk7CiB9CiAKLU9yZGluYWxOdW1iZXIgSFRNTERvY3VtZW50UGFyc2VyOjpsaW5l
TnVtYmVyKCkgY29uc3QKLXsKLSNpZiBFTkFCTEUoVEhSRUFERURfSFRNTF9QQVJTRVIpCi0gICAg
aWYgKG1faGF2ZUJhY2tncm91bmRQYXJzZXIpCi0gICAgICAgIHJldHVybiBtX3RleHRQb3NpdGlv
bi5tX2xpbmU7Ci0jZW5kaWYKLQotICAgIHJldHVybiBtX2lucHV0LmN1cnJlbnQoKS5jdXJyZW50
TGluZSgpOwotfQotCiBUZXh0UG9zaXRpb24gSFRNTERvY3VtZW50UGFyc2VyOjp0ZXh0UG9zaXRp
b24oKSBjb25zdAogewogI2lmIEVOQUJMRShUSFJFQURFRF9IVE1MX1BBUlNFUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKaW5kZXggZTQ3NjQx
ZjJkYzU3MWY4MWJlZjViZjQ1NDQ4MzU2MmFkMDEyOGI4ZS4uMmE2NWI2MDgxMzcxYjIwY2JiMjlj
Yzg1MmE2ZDJlMGM0ZjJjODhiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTERvY3VtZW50UGFyc2VyLmgKQEAgLTgwLDcgKzgwLDYgQEAgcHVibGljOgogICAgIEhUTUxU
b2tlbml6ZXIqIHRva2VuaXplcigpIGNvbnN0IHsgcmV0dXJuIG1fdG9rZW5pemVyLmdldCgpOyB9
CiAKICAgICB2aXJ0dWFsIFRleHRQb3NpdGlvbiB0ZXh0UG9zaXRpb24oKSBjb25zdDsKLSAgICB2
aXJ0dWFsIE9yZGluYWxOdW1iZXIgbGluZU51bWJlcigpIGNvbnN0OwogCiAgICAgdmlydHVhbCB2
b2lkIHN1c3BlbmRTY2hlZHVsZWRUYXNrcygpOwogICAgIHZpcnR1YWwgdm9pZCByZXN1bWVTY2hl
ZHVsZWRUYXNrcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clJlc291cmNlQWdlbnQuY3BwCmluZGV4IDM4ZGNkYWExZDk2NTNlZmM1Mzg2YzdjYzRlMjM2Nzhk
M2FlNDE4NmEuLmUxMmIwYTAzZTFjZDI3Y2UzOTg0NGQyNjdhNzIyNTNmMDE2NDM2MmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5j
cHAKQEAgLTQ1NCw3ICs0NTQsNyBAQCBQYXNzUmVmUHRyPFR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJ
bml0aWF0b3I+IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmJ1aWxkSW5pdGlhdAogICAgICAgICBS
ZWZQdHI8VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gaW5pdGlhdG9yT2JqZWN0ID0g
VHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcjo6Y3JlYXRlKCkKICAgICAgICAgICAgIC5z
ZXRUeXBlKFR5cGVCdWlsZGVyOjpOZXR3b3JrOjpJbml0aWF0b3I6OlR5cGU6OlBhcnNlcik7CiAg
ICAgICAgIGluaXRpYXRvck9iamVjdC0+c2V0VXJsKGRvY3VtZW50LT51cmwoKS5zdHJpbmcoKSk7
Ci0gICAgICAgIGluaXRpYXRvck9iamVjdC0+c2V0TGluZU51bWJlcihkb2N1bWVudC0+c2NyaXB0
YWJsZURvY3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIoKS5vbmVCYXNlZEludCgpKTsKKyAgICAg
ICAgaW5pdGlhdG9yT2JqZWN0LT5zZXRMaW5lTnVtYmVyKGRvY3VtZW50LT5zY3JpcHRhYmxlRG9j
dW1lbnRQYXJzZXIoKS0+dGV4dFBvc2l0aW9uKCkubV9saW5lLm9uZUJhc2VkSW50KCkpOwogICAg
ICAgICByZXR1cm4gaW5pdGlhdG9yT2JqZWN0OwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9Db25zb2xlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ29uc29sZS5j
cHAKaW5kZXggZGRlNjVlMzM5MmZiMjRjZjc2NzFjMmU0MDViNzI1ZTMyNTU4ODVjOS4uYTk3MjJl
MTUxODRmMWQyZjY4MGY4MDZjNzI3ZjJlMDQxZDBhODcxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUu
Y3BwCkBAIC05Miw3ICs5Miw3IEBAIHN0YXRpYyB2b2lkIGludGVybmFsQWRkTWVzc2FnZShQYWdl
KiBwYWdlLCBNZXNzYWdlVHlwZSB0eXBlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsCiAgICAgaWYgKCFw
YWdlLT5zZXR0aW5ncygpLmxvZ3NQYWdlTWVzc2FnZXNUb1N5c3RlbUNvbnNvbGVFbmFibGVkKCkg
JiYgIVBhZ2VDb25zb2xlOjpzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgUGFnZUNvbnNvbGU6OnByaW50U291cmNlVVJMQW5kTGluZShsYXN0Q2FsbGVyLnNv
dXJjZVVSTCgpLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSk7CisgICAgUGFnZUNvbnNvbGU6OnBy
aW50U291cmNlVVJMQW5kUG9zaXRpb24obGFzdENhbGxlci5zb3VyY2VVUkwoKSwgbGFzdENhbGxl
ci5saW5lTnVtYmVyKCkpOwogICAgIFBhZ2VDb25zb2xlOjpwcmludE1lc3NhZ2VTb3VyY2VBbmRM
ZXZlbFByZWZpeChDb25zb2xlQVBJTWVzc2FnZVNvdXJjZSwgbGV2ZWwpOwogCiAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudHMtPmFyZ3VtZW50Q291bnQoKTsgKytpKSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCmluZGV4IDRmYWFlNmQwZDZmMjlmODFmZWY2NDRjMjVj
MGI0ZWY4YTdkOTlkN2EuLjJiYWJlZmRlNjIyMWJkMWQ5YWY5ZThhZGZlZTc3N2MwM2ExZDIwYzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuY3BwCkBAIC02NCwxMCArNjQsMTIgQEAgUGFn
ZUNvbnNvbGU6On5QYWdlQ29uc29sZSgpCiB7CiB9CiAKLXZvaWQgUGFnZUNvbnNvbGU6OnByaW50
U291cmNlVVJMQW5kTGluZShjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51
bWJlcikKK3ZvaWQgUGFnZUNvbnNvbGU6OnByaW50U291cmNlVVJMQW5kUG9zaXRpb24oY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51
bWJlcikKIHsKICAgICBpZiAoIXNvdXJjZVVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAgaWYgKGxp
bmVOdW1iZXIgPiAwKQorICAgICAgICBpZiAobGluZU51bWJlciA+IDAgJiYgY29sdW1uTnVtYmVy
ID4gMCkKKyAgICAgICAgICAgIHByaW50ZigiJXM6JWQ6JWQ6ICIsIHNvdXJjZVVSTC51dGY4KCku
ZGF0YSgpLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpOworICAgICAgICBlbHNlIGlmIChsaW5l
TnVtYmVyID4gMCkKICAgICAgICAgICAgIHByaW50ZigiJXM6JWQ6ICIsIHNvdXJjZVVSTC51dGY4
KCkuZGF0YSgpLCBsaW5lTnVtYmVyKTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgcHJpbnRm
KCIlczogIiwgc291cmNlVVJMLnV0ZjgoKS5kYXRhKCkpOwpAQCAtMTQyLDE4ICsxNDQsMjAgQEAg
dm9pZCBQYWdlQ29uc29sZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjb25zdCBTdHIKICAgICBTdHJpbmcgdXJsOwogICAgIGlmIChkb2N1bWVu
dCkKICAgICAgICAgdXJsID0gZG9jdW1lbnQtPnVybCgpLnN0cmluZygpOwotICAgIC8vIEZJWE1F
OiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQzMTk+IFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlIHNo
b3VsZCBhdXRvbWF0aWNhbGx5IGRldGVybWluZSBjb2x1bW4gbnVtYmVyIGFsb25nc2lkZSBsaW5l
IG51bWJlci4KICAgICAvLyBGSVhNRTogVGhlIGJlbG93IGNvZGUgYXR0ZW1wdHMgdG8gZGV0ZXJt
aW5lIGxpbmUgbnVtYmVycyBmb3IgcGFyc2VyIGdlbmVyYXRlZCBlcnJvcnMsIGJ1dCB0aGlzIGlz
IG5vdCB0aGUgb25seSByZWFzb24gd2h5IHdlIGNhbiBnZXQgaGVyZS4KICAgICAvLyBGb3IgZXhh
bXBsZSwgaWYgd2UgYXJlIHN0aWxsIHBhcnNpbmcgYW5kIGdldCBhIFdlYlNvY2tldCBuZXR3b3Jr
IGVycm9yLCBpdCB3aWxsIGJlIGVycm9uZW91c2x5IGF0dHJpYnV0ZWQgdG8gYSBsaW5lIHdoZXJl
IHBhcnNpbmcgd2FzIHBhdXNlZC4KICAgICAvLyBBbHNvLCB3ZSBzaG91bGQgZGV0ZXJtaW5lIGxp
bmUgbnVtYmVycyBmb3Igc2NyaXB0IGdlbmVyYXRlZCBtZXNzYWdlcyAoZS5nLiBjYWxsaW5nIGdl
dEltYWdlRGF0YSBvbiBhIGNhbnZhcykuCiAgICAgLy8gV2UgcHJvYmFibHkgbmVlZCB0byBzcGxp
dCB0aGlzIGZ1bmN0aW9uIGludG8gbXVsdGlwbGUgb25lcywgYXMgYXBwcm9wcmlhdGUgZm9yIGRp
ZmZlcmVudCBjYWxsIHNpdGVzLiBPciBtYXliZSBkZWNpZGUgYmFzZWQgb24gTWVzc2FnZVNvdXJj
ZS4KICAgICB1bnNpZ25lZCBsaW5lID0gMDsKKyAgICB1bnNpZ25lZCBjb2x1bW4gPSAwOwogICAg
IGlmIChkb2N1bWVudCAmJiBkb2N1bWVudC0+cGFyc2luZygpICYmICFkb2N1bWVudC0+aXNJbkRv
Y3VtZW50V3JpdGUoKSAmJiBkb2N1bWVudC0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkpIHsK
ICAgICAgICAgU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBkb2N1bWVudC0+c2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyKCk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5pc1dhaXRpbmdG
b3JTY3JpcHRzKCkgJiYgIUpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpCi0g
ICAgICAgICAgICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKTsKKyAg
ICAgICAgaWYgKCFwYXJzZXItPmlzV2FpdGluZ0ZvclNjcmlwdHMoKSAmJiAhSlNNYWluVGhyZWFk
RXhlY1N0YXRlOjpjdXJyZW50U3RhdGUoKSkgeworICAgICAgICAgICAgbGluZSA9IHBhcnNlci0+
dGV4dFBvc2l0aW9uKCkubV9saW5lLm9uZUJhc2VkSW50KCk7CisgICAgICAgICAgICBjb2x1bW4g
PSBwYXJzZXItPnRleHRQb3NpdGlvbigpLm1fY29sdW1uLm9uZUJhc2VkSW50KCk7CisgICAgICAg
IH0KICAgICB9Ci0gICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCB1cmwsIGxp
bmUsIDAsIDAsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsKKyAgICBhZGRNZXNzYWdlKHNvdXJjZSwg
bGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgY29sdW1uLCAwLCAwLCByZXF1ZXN0SWRlbnRpZmll
cik7CiB9CiAKIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRy
PFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQpAQCAtMTgyLDcgKzE4Niw3IEBAIHZvaWQgUGFn
ZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBs
ZXZlbCwgY29uc3QgU3RyCiAgICAgaWYgKCFtX3BhZ2Uuc2V0dGluZ3MoKS5sb2dzUGFnZU1lc3Nh
Z2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCgpICYmICFzaG91bGRQcmludEV4Y2VwdGlvbnMoKSkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJpbnRTb3VyY2VVUkxBbmRMaW5lKHVybCwgbGluZU51
bWJlcik7CisgICAgcHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbih1cmwsIGxpbmVOdW1iZXIsIGNv
bHVtbk51bWJlcik7CiAgICAgcHJpbnRNZXNzYWdlU291cmNlQW5kTGV2ZWxQcmVmaXgoc291cmNl
LCBsZXZlbCk7CiAKICAgICBwcmludGYoIiAlc1xuIiwgbWVzc2FnZS51dGY4KCkuZGF0YSgpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaAppbmRleCBjZmY3OGUyMjhlYzU3YzUwY2ZlZTEyZGZk
OTM5MzIzYmJmZjhjZTIwLi45ZGJkYTY2ZGY2NjJlNTY5YmM4YTI1MTFlNDk0OTJjODEyYzU0MjY4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1BhZ2VDb25zb2xlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCkBAIC00OCw3ICs0OCw3IEBAIHB1YmxpYzoK
ICAgICBQYWdlQ29uc29sZShQYWdlJik7CiAgICAgflBhZ2VDb25zb2xlKCk7CiAKLSAgICBzdGF0
aWMgdm9pZCBwcmludFNvdXJjZVVSTEFuZExpbmUoY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIpOworICAgIHN0YXRpYyB2b2lkIHByaW50U291cmNlVVJMQW5kUG9z
aXRpb24oY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2ln
bmVkIGNvbHVtbk51bWJlciA9IDApOwogICAgIHN0YXRpYyB2b2lkIHByaW50TWVzc2FnZVNvdXJj
ZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2UsIE1lc3NhZ2VMZXZlbCk7CiAKICAgICB2b2lk
IGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNp
Z25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6
RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVxdWVzdElkZW50aWZpZXIgPSAwKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIuaAppbmRleCAzY2Q3
ODU2ZjM2NmFiNTkwMzI3YzJiNmY0NTEyMTNlMWQ2YzYxOTA4Li43YjdlMjIwMzhmMTcxNjM0NzM3
MzIzYzM5OWFmMGQ1Yzc2ZjY1NjdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFy
c2VyL1hNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9Y
TUxEb2N1bWVudFBhcnNlci5oCkBAIC0xMDUsOCArMTA1LDYgQEAgY2xhc3MgVGV4dDsKICAgICAg
ICAgdmlydHVhbCBib29sIGlzV2FpdGluZ0ZvclNjcmlwdHMoKSBjb25zdDsKICAgICAgICAgdmly
dHVhbCB2b2lkIHN0b3BQYXJzaW5nKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsK
LSAgICAgICAgdmlydHVhbCBPcmRpbmFsTnVtYmVyIGxpbmVOdW1iZXIoKSBjb25zdDsKLSAgICAg
ICAgT3JkaW5hbE51bWJlciBjb2x1bW5OdW1iZXIoKSBjb25zdDsKIAogICAgICAgICAvLyBmcm9t
IENhY2hlZFJlc291cmNlQ2xpZW50CiAgICAgICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGaW5pc2hl
ZChDYWNoZWRSZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUveG1sL3BhcnNl
ci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIvU291cmNlL1dlYkNvcmUveG1sL3BhcnNl
ci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmluZGV4IDQ2YTkyZGI5YmE1M2U2MTkwYjBm
NTA1YjY0YzE2NzZlNWYyNGI5MjYuLmMyOGU3N2U0N2NhNzVlMGEyZTJkNWI3YTk5NjRjYjBjMzZj
ZjEzZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQ
YXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3Vt
ZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTk3Miw4ICs5NzIsOSBAQCB2b2lkIFhNTERvY3VtZW50
UGFyc2VyOjplcnJvcihYTUxFcnJvcnM6OkVycm9yVHlwZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNz
YWdlLCB2YQogICAgIHZzbnByaW50ZihtLCBzaXplb2YobSkgLSAxLCBtZXNzYWdlLCBhcmdzKTsK
ICNlbmRpZgogCisgICAgVGV4dFBvc2l0aW9uIHBvc2l0aW9uID0gdGV4dFBvc2l0aW9uKCk7CiAg
ICAgaWYgKG1fcGFyc2VyUGF1c2VkKQotICAgICAgICBtX3BlbmRpbmdDYWxsYmFja3MtPmFwcGVu
ZEVycm9yQ2FsbGJhY2sodHlwZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB4bWxDaGFyKj4obSks
IGxpbmVOdW1iZXIoKSwgY29sdW1uTnVtYmVyKCkpOworICAgICAgICBtX3BlbmRpbmdDYWxsYmFj
a3MtPmFwcGVuZEVycm9yQ2FsbGJhY2sodHlwZSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB4bWxD
aGFyKj4obSksIHBvc2l0aW9uLm1fbGluZSwgcG9zaXRpb24ubV9jb2x1bW4pOwogICAgIGVsc2UK
ICAgICAgICAgaGFuZGxlRXJyb3IodHlwZSwgbSwgdGV4dFBvc2l0aW9uKCkpOwogCkBAIC0xNDI2
LDE2ICsxNDI3LDYgQEAgdm9pZCogeG1sRG9jUHRyRm9yU3RyaW5nKENhY2hlZFJlc291cmNlTG9h
ZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3QgU3RyaW4KIH0KICNlbmRpZgogCi1PcmRp
bmFsTnVtYmVyIFhNTERvY3VtZW50UGFyc2VyOjpsaW5lTnVtYmVyKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gT3JkaW5hbE51bWJlcjo6ZnJvbU9uZUJhc2VkSW50KGNvbnRleHQoKSA/IGNvbnRleHQo
KS0+aW5wdXQtPmxpbmUgOiAxKTsKLX0KLQotT3JkaW5hbE51bWJlciBYTUxEb2N1bWVudFBhcnNl
cjo6Y29sdW1uTnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gT3JkaW5hbE51bWJlcjo6ZnJv
bU9uZUJhc2VkSW50KGNvbnRleHQoKSA/IGNvbnRleHQoKS0+aW5wdXQtPmNvbCA6IDEpOwotfQot
CiBUZXh0UG9zaXRpb24gWE1MRG9jdW1lbnRQYXJzZXI6OnRleHRQb3NpdGlvbigpIGNvbnN0CiB7
CiAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjb250ZXh0ID0gdGhpcy0+Y29udGV4dCgpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDg0ZjQ5NjFlM2ViMDAwYzRhMzVkYzg2ODUyMzFkZTY5YjY1MDU3ZjcuLjM1Y2UwZmZiNTVhYmJj
YWRhMGNjMTdmZjdiNDQ0NmUyZTY2YzgyNTYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0x
Mi0wNiAgTMOhc3psw7MgTGFuZ8OzICA8bGFuZ29AaW5mLnUtc3plZ2VkLmh1PgorCisgICAgICAg
IFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlIHNob3VsZCBhdXRvbWF0aWNhbGx5IGRldGVybWluZSBj
b2x1bW4gbnVtYmVyIGFsb25nc2lkZSBsaW5lIG51bWJlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MzE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55
LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3It
cHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24uaHRtbDogQWRkZWQuCisKIDIwMTMtMTIt
MDQgIFNhbXVlbCBXaGl0ZSAgPHNhbXVlbF93aGl0ZUBhcHBsZS5jb20+CiAKICAgICAgICAgTGF5
b3V0IFRlc3QgcGxhdGZvcm0vbWFjL2FjY2Vzc2liaWxpdHkvc2VhcmNoLXByZWRpY2F0ZS1lbGVt
ZW50LWNvdW50Lmh0bWwgaXMgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rv
ci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjgzNTIyMjM4NDZmNjJkODQ2ODkwMWFmOGZlYjgzYjY2NGZlMzA0ZjAK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9k
ZW55LVgtRnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorQ09OU09MRSBN
RVNTQUdFOiBSZWZ1c2VkIHRvIGRpc3BsYXkgJ2RlbnktWC1GcmFtZU9wdGlvbi5odG1sJyBpbiBh
IGZyYW1lIGJlY2F1c2UgaXQgc2V0ICdYLUZyYW1lLU9wdGlvbnMnIHRvICdkZW55Jy4KKworZGVu
eS1YLUZyYW1lT3B0aW9uLmh0bWw6MDowCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9wdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDg3MGZlOGVlYWZlMGMxNzI1OWIzNzM4YWU2NDhlNDIyODc5MWNkMgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdlL2RlbnktWC1GcmFtZU9w
dGlvbi5odG1sCkBAIC0wLDAgKzEsMzEgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci1wcm90b2Nv
bC9yZXNvdXJjZXMvcHJvdG9jb2wtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gdGVzdCgpCit7CisgICAgSW5zcGVjdG9yVGVzdC5pbXBvcnRTY3JpcHQoIi4uLy4uLy4uLy4u
L2luc3BlY3Rvci1wcm90b2NvbC9yZXNvdXJjZXMvY29uc29sZS1oZWxwZXIuanMiKTsKKyAgICBJ
bnNwZWN0b3JUZXN0LnNlbmRDb21tYW5kKCJDb25zb2xlLmVuYWJsZSIsIHt9KTsKKworICAgIElu
c3BlY3RvclRlc3QuZXZlbnRIYW5kbGVyWyJDb25zb2xlLm1lc3NhZ2VBZGRlZCJdID0gZnVuY3Rp
b24obWVzc2FnZU9iamVjdCkKKyAgICB7CisgICAgICAgIHZhciBzaW1wbGlmaWVkTWVzc2FnZSA9
IENvbnNvbGVIZWxwZXIuc2ltcGxpZmllZENvbnNvbGVNZXNzYWdlKG1lc3NhZ2VPYmplY3QpOwor
ICAgICAgICAvLyBGSVhNRSBUaGUgbGluZSBhbmQgY29sdW1uIHZhbHVlcyB3aWxsIGJlIHplcm9z
IHVudGlsIHRoaXMgZml4OgorICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI1MzQwCisgICAgICAgIC8vIEFmdGVyIHRoaXMgcHJvYmFibHkgd2Ugc2hv
dWxkIHVwZGF0ZSB0aGUgZXhwZWN0ZWQudHh0LgorICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhz
aW1wbGlmaWVkTWVzc2FnZS5sb2NhdGlvbik7CisKKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpIj4KKyAgPGlmcmFtZSBpZD1mb28+PC9pZnJhbWU+CisgIDxzY3JpcHQ+CisgICAg
dmFyIGZvb0ZyYW1lID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZvbycpOworICAgIHZhciBm
b29Eb2MgPSBmb29GcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50OworICAgIGZvb0RvYy53cml0
ZSgnPG1ldGEgaHR0cC1lcXVpdj0iWC1GcmFtZS1PcHRpb25zIiBjb250ZW50PSJkZW55Ii8+Jyk7
CisgIDwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218865</attachid>
            <date>2013-12-10 06:27:32 -0800</date>
            <delta_ts>2013-12-10 10:50:49 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>bug-114319-20131210062731.patch</filename>
            <type>text/plain</type>
            <size>18306</size>
            <attacher name="László Langó">llango.u-szeged</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMzU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2RjYzMyMjc0NTQwYzIz
YzVjODM5ZWM4ZDMxNjQ2MzJiNzIxZGUzNi4uMDRmOTcyN2UwZmY4NjYxYjEzYTYwMDBmMmRjYzc0
NThmYTYxOThmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEzLTEyLTEwICBMw6Fz
emzDsyBMYW5nw7MgIDxsYW5nb0BpbmYudS1zemVnZWQuaHU+CisKKyAgICAgICAgUGFnZUNvbnNv
bGU6OmFkZE1lc3NhZ2Ugc2hvdWxkIGF1dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIGNvbHVtbiBudW1i
ZXIgYWxvbmdzaWRlIGxpbmUgbnVtYmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMTQzMTkKKworICAgICAgICBSZXZpZXdlZCBieSBKb3NlcGggUGVj
b3Jhcm8uCisKKyAgICAgICAgKiBkb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklubGluZVN0eWxlU2hlZXRPd25lcjo6SW5saW5lU3R5bGVTaGVldE93bmVy
KToKKyAgICAgICAgKiBkb20vU2NyaXB0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JpcHRFbGVtZW50OjpTY3JpcHRFbGVtZW50KToKKyAgICAgICAgKiBkb20vU2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyLmg6CisgICAgICAgICogZG9tL1N0eWxlZEVsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVkRWxlbWVudDo6c3R5bGVBdHRyaWJ1dGVDaGFuZ2VkKToKKyAgICAg
ICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTERvY3VtZW50UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3Vu
ZFBhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnRQYXJzZXI6OnB1bXBQZW5k
aW5nU3BlY3VsYXRpb25zKToKKyAgICAgICAgKiBodG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJz
ZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpidWlsZEluaXRpYXRvck9i
amVjdCk6CisgICAgICAgICogcGFnZS9Db25zb2xlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlu
dGVybmFsQWRkTWVzc2FnZSk6CisgICAgICAgICogcGFnZS9QYWdlQ29uc29sZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZTo6cHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpQYWdlQ29uc29sZTo6YWRkTWVzc2FnZSk6CisgICAgICAgICogcGFn
ZS9QYWdlQ29uc29sZS5oOgorICAgICAgICAqIHhtbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXIu
aDoKKyAgICAgICAgKiB4bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpYTUxEb2N1bWVudFBhcnNlcjo6ZXJyb3IpOgorCiAyMDEzLTEyLTEw
ICBSb2JlcnQgU2lwa2EgIDxzaXBrYUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW25peF1b
Y3VybF0gQnVpbGRmaXggYWZ0ZXIgcjE2MDMxMApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0lubGluZVN0eWxlU2hlZXRPd25lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5l
U3R5bGVTaGVldE93bmVyLmNwcAppbmRleCA1NjViYzcyN2ZhMmI2NDY1MjY4ZjlkNjQ5ODAxYmQ0
ZTRmNTM4ZjljLi5kZWY3MjZmNTg2MmM0MWU0MjhiMWU2NTgyM2Q0YTU0Mjc0NjA5YzRlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vSW5saW5lU3R5bGVTaGVldE93bmVyLmNwcApAQCAtMzgsNyAr
MzgsNyBAQCBJbmxpbmVTdHlsZVNoZWV0T3duZXI6OklubGluZVN0eWxlU2hlZXRPd25lcihEb2N1
bWVudCYgZG9jdW1lbnQsIGJvb2wgY3JlYXRlZEJ5UAogICAgICwgbV9zdGFydExpbmVOdW1iZXIo
V1RGOjpPcmRpbmFsTnVtYmVyOjpiZWZvcmVGaXJzdCgpKQogewogICAgIGlmIChjcmVhdGVkQnlQ
YXJzZXIgJiYgZG9jdW1lbnQuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkgJiYgIWRvY3VtZW50
LmlzSW5Eb2N1bWVudFdyaXRlKCkpCi0gICAgICAgIG1fc3RhcnRMaW5lTnVtYmVyID0gZG9jdW1l
bnQuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIoKTsKKyAgICAgICAgbV9z
dGFydExpbmVOdW1iZXIgPSBkb2N1bWVudC5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKS0+dGV4
dFBvc2l0aW9uKCkubV9saW5lOwogfQogCiBJbmxpbmVTdHlsZVNoZWV0T3duZXI6On5JbmxpbmVT
dHlsZVNoZWV0T3duZXIoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEVsZW1lbnQuY3BwCmluZGV4IDE1
N2M0Y2E4ZjcwZmVlYTUxN2I0OTc2YmNmMGEzNTIyYzQxNzJmZjMuLjE2M2E0MDcyY2FhZjZiNmY2
NmMxNzcyNjJlMTQzM2NmMThlYTE3NzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RWxlbWVudC5j
cHAKQEAgLTc1LDcgKzc1LDcgQEAgU2NyaXB0RWxlbWVudDo6U2NyaXB0RWxlbWVudChFbGVtZW50
KiBlbGVtZW50LCBib29sIHBhcnNlckluc2VydGVkLCBib29sIGFscmVhZHkKIHsKICAgICBBU1NF
UlQobV9lbGVtZW50KTsKICAgICBpZiAocGFyc2VySW5zZXJ0ZWQgJiYgbV9lbGVtZW50LT5kb2N1
bWVudCgpLnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpICYmICFtX2VsZW1lbnQtPmRvY3VtZW50
KCkuaXNJbkRvY3VtZW50V3JpdGUoKSkKLSAgICAgICAgbV9zdGFydExpbmVOdW1iZXIgPSBtX2Vs
ZW1lbnQtPmRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPmxpbmVOdW1iZXIo
KTsKKyAgICAgICAgbV9zdGFydExpbmVOdW1iZXIgPSBtX2VsZW1lbnQtPmRvY3VtZW50KCkuc2Ny
aXB0YWJsZURvY3VtZW50UGFyc2VyKCktPnRleHRQb3NpdGlvbigpLm1fbGluZTsKIH0KIAogU2Ny
aXB0RWxlbWVudDo6flNjcmlwdEVsZW1lbnQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdGFibGVEb2N1bWVudFBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dGFibGVEb2N1bWVudFBhcnNlci5oCmluZGV4IGIwOWFiMGRlMmZjYjc3MjkwYmM2MTBiMzdkZjZm
Zjc5YjA4MTM1ZjYuLjg0ZmJiNDk1NTY2NjM1MGI1NzQyYzI0M2Y0ZmQ0MjFmOGI1MDI1N2YgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0YWJsZURvY3VtZW50UGFyc2VyLmgKQEAgLTQ0
LDggKzQ0LDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzV2FpdGluZ0ZvclNjcmlw
dHMoKSBjb25zdCA9IDA7CiAKLSAgICAvLyBUaGVzZSBhcmUgdXNlZCB0byBleHBvc2UgdGhlIGN1
cnJlbnQgbGluZS9jb2x1bW4gdG8gdGhlIHNjcmlwdGluZyBzeXN0ZW0uCi0gICAgdmlydHVhbCBP
cmRpbmFsTnVtYmVyIGxpbmVOdW1iZXIoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBUZXh0UG9z
aXRpb24gdGV4dFBvc2l0aW9uKCkgY29uc3QgPSAwOwogCiAgICAgdm9pZCBzZXRXYXNDcmVhdGVk
QnlTY3JpcHQoYm9vbCB3YXNDcmVhdGVkQnlTY3JpcHQpIHsgbV93YXNDcmVhdGVkQnlTY3JpcHQg
PSB3YXNDcmVhdGVkQnlTY3JpcHQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9T
dHlsZWRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TdHlsZWRFbGVtZW50LmNwcApp
bmRleCAxNzkwM2Q4OWM0ZmRhMGUzMGRmYmM3ZGJiZmFiMDhjZjUwNTdhZTgyLi45MjFhOTRmYzZj
YzA5ZjJiMTQ2MjI3ODBhMTIwNGQxNGEwN2U3MWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vU3R5bGVkRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1N0eWxlZEVs
ZW1lbnQuY3BwCkBAIC0xOTUsNyArMTk1LDcgQEAgdm9pZCBTdHlsZWRFbGVtZW50OjpzdHlsZUF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuZXdTdHlsZVN0cmluZywgQXQKIHsK
ICAgICBXVEY6Ok9yZGluYWxOdW1iZXIgc3RhcnRMaW5lTnVtYmVyID0gV1RGOjpPcmRpbmFsTnVt
YmVyOjpiZWZvcmVGaXJzdCgpOwogICAgIGlmIChkb2N1bWVudCgpLnNjcmlwdGFibGVEb2N1bWVu
dFBhcnNlcigpICYmICFkb2N1bWVudCgpLmlzSW5Eb2N1bWVudFdyaXRlKCkpCi0gICAgICAgIHN0
YXJ0TGluZU51bWJlciA9IGRvY3VtZW50KCkuc2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCktPmxp
bmVOdW1iZXIoKTsKKyAgICAgICAgc3RhcnRMaW5lTnVtYmVyID0gZG9jdW1lbnQoKS5zY3JpcHRh
YmxlRG9jdW1lbnRQYXJzZXIoKS0+dGV4dFBvc2l0aW9uKCkubV9saW5lOwogCiAgICAgaWYgKG5l
d1N0eWxlU3RyaW5nLmlzTnVsbCgpKSB7CiAgICAgICAgIGlmIChQcm9wZXJ0eVNldENTU1N0eWxl
RGVjbGFyYXRpb24qIGNzc29tV3JhcHBlciA9IGlubGluZVN0eWxlQ1NTT01XcmFwcGVyKCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERvY3VtZW50UGFyc2VyLmNwcApp
bmRleCBiNjU4MmNlMTZjMDVmN2RmZDU2MmFkOWU1MDlmNGM1ZmY2YmFkODk3Li44MDYyMzk5MTNm
NGJmYjg0OWU2YTEyYmY3MmRmNGI0OTljNjJhYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxEb2N1bWVudFBhcnNlci5jcHAKQEAgLTMxNCwxMyArMzE0LDEzIEBA
IHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpkaWRSZWNlaXZlUGFyc2VkQ2h1bmtGcm9tQmFja2dy
b3VuZFBhcnNlcihPd25QdHI8UGFyc2VkCiAgICAgLy8gYnV0IHdlIG5lZWQgdG8gZW5zdXJlIGl0
IGlzbid0IGRlbGV0ZWQgeWV0LgogICAgIFJlZjxIVE1MRG9jdW1lbnRQYXJzZXI+IHByb3RlY3Qo
KnRoaXMpOwogCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIGNvb2tpZSA9IElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFdyaXRlSFRNTChkb2N1bWVudCgpLCBsaW5lTnVt
YmVyKCkuemVyb0Jhc2VkSW50KCkpOworICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tp
ZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0ZUhUTUwoZG9jdW1l
bnQoKSwgdGV4dFBvc2l0aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpKTsKIAogICAgIEFTU0VS
VChtX3NwZWN1bGF0aW9ucy5pc0VtcHR5KCkpOwogICAgIGNodW5rLT5wcmVsb2Fkcy5jbGVhcigp
OyAvLyBXZSBkb24ndCBuZWVkIHRvIHByZWxvYWQgYmVjYXVzZSB3ZSdyZSBnb2luZyB0byBwYXJz
ZSBpbW1lZGlhdGVseS4KICAgICBwcm9jZXNzUGFyc2VkQ2h1bmtGcm9tQmFja2dyb3VuZFBhcnNl
cihjaHVuayk7CiAKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFdyaXRlSFRNTChj
b29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQoKSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCB0ZXh0UG9zaXRpb24oKS5tX2xpbmUuemVy
b0Jhc2VkSW50KCkpOwogfQogCiB2b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6dmFsaWRhdGVTcGVj
dWxhdGlvbnMoT3duUHRyPFBhcnNlZENodW5rPiBjaHVuaykKQEAgLTQ1OCw3ICs0NTgsNyBAQCB2
b2lkIEhUTUxEb2N1bWVudFBhcnNlcjo6cHVtcFBlbmRpbmdTcGVjdWxhdGlvbnMoKQogICAgIEFT
U0VSVCghbV9sYXN0Q2h1bmtCZWZvcmVTY3JpcHQpOwogCiAgICAgLy8gRklYTUU6IFBhc3MgaW4g
Y3VycmVudCBpbnB1dCBsZW5ndGguCi0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2ll
IGNvb2tpZSA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFdyaXRlSFRNTChkb2N1bWVu
dCgpLCBsaW5lTnVtYmVyKCkuemVyb0Jhc2VkSW50KCkpOworICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbkNvb2tpZSBjb29raWUgPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxXcml0
ZUhUTUwoZG9jdW1lbnQoKSwgdGV4dFBvc2l0aW9uKCkubV9saW5lLnplcm9CYXNlZEludCgpKTsK
IAogICAgIGRvdWJsZSBzdGFydFRpbWUgPSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsK
IApAQCAtNDc0LDcgKzQ3NCw3IEBAIHZvaWQgSFRNTERvY3VtZW50UGFyc2VyOjpwdW1wUGVuZGlu
Z1NwZWN1bGF0aW9ucygpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFdyaXRlSFRNTChjb29raWUsIGxpbmVOdW1iZXIoKS56ZXJvQmFzZWRJbnQo
KSk7CisgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRXcml0ZUhUTUwoY29va2llLCB0
ZXh0UG9zaXRpb24oKS5tX2xpbmUuemVyb0Jhc2VkSW50KCkpOwogfQogCiAjZW5kaWYgLy8gRU5B
QkxFKFRIUkVBREVEX0hUTUxfUEFSU0VSKQpAQCAtODI4LDE2ICs4MjgsNiBAQCBib29sIEhUTUxE
b2N1bWVudFBhcnNlcjo6aXNFeGVjdXRpbmdTY3JpcHQoKSBjb25zdAogICAgIHJldHVybiBtX3Nj
cmlwdFJ1bm5lci0+aXNFeGVjdXRpbmdTY3JpcHQoKTsKIH0KIAotT3JkaW5hbE51bWJlciBIVE1M
RG9jdW1lbnRQYXJzZXI6OmxpbmVOdW1iZXIoKSBjb25zdAotewotI2lmIEVOQUJMRShUSFJFQURF
RF9IVE1MX1BBUlNFUikKLSAgICBpZiAobV9oYXZlQmFja2dyb3VuZFBhcnNlcikKLSAgICAgICAg
cmV0dXJuIG1fdGV4dFBvc2l0aW9uLm1fbGluZTsKLSNlbmRpZgotCi0gICAgcmV0dXJuIG1faW5w
dXQuY3VycmVudCgpLmN1cnJlbnRMaW5lKCk7Ci19Ci0KIFRleHRQb3NpdGlvbiBIVE1MRG9jdW1l
bnRQYXJzZXI6OnRleHRQb3NpdGlvbigpIGNvbnN0CiB7CiAjaWYgRU5BQkxFKFRIUkVBREVEX0hU
TUxfUEFSU0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTERv
Y3VtZW50UGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQ
YXJzZXIuaAppbmRleCBlNDc2NDFmMmRjNTcxZjgxYmVmNWJmNDU0NDgzNTYyYWQwMTI4YjhlLi4y
YTY1YjYwODEzNzFiMjBjYmIyOWNjODUyYTZkMmUwYzRmMmM4OGIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL3BhcnNlci9IVE1MRG9jdW1lbnRQYXJzZXIuaApAQCAtODAsNyArODAsNiBA
QCBwdWJsaWM6CiAgICAgSFRNTFRva2VuaXplciogdG9rZW5pemVyKCkgY29uc3QgeyByZXR1cm4g
bV90b2tlbml6ZXIuZ2V0KCk7IH0KIAogICAgIHZpcnR1YWwgVGV4dFBvc2l0aW9uIHRleHRQb3Np
dGlvbigpIGNvbnN0OwotICAgIHZpcnR1YWwgT3JkaW5hbE51bWJlciBsaW5lTnVtYmVyKCkgY29u
c3Q7CiAKICAgICB2aXJ0dWFsIHZvaWQgc3VzcGVuZFNjaGVkdWxlZFRhc2tzKCk7CiAgICAgdmly
dHVhbCB2b2lkIHJlc3VtZVNjaGVkdWxlZFRhc2tzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggMzhkY2RhYTFkOTY1
M2VmYzUzODZjN2NjNGUyMzY3OGQzYWU0MTg2YS4uZTEyYjBhMDNlMWNkMjdjZTM5ODQ0ZDI2N2E3
MjI1M2YwMTY0MzYyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtNDU0LDcgKzQ1NCw3IEBAIFBhc3NSZWZQdHI8VHlw
ZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRvcj4gSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YnVp
bGRJbml0aWF0CiAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9y
PiBpbml0aWF0b3JPYmplY3QgPSBUeXBlQnVpbGRlcjo6TmV0d29yazo6SW5pdGlhdG9yOjpjcmVh
dGUoKQogICAgICAgICAgICAgLnNldFR5cGUoVHlwZUJ1aWxkZXI6Ok5ldHdvcms6OkluaXRpYXRv
cjo6VHlwZTo6UGFyc2VyKTsKICAgICAgICAgaW5pdGlhdG9yT2JqZWN0LT5zZXRVcmwoZG9jdW1l
bnQtPnVybCgpLnN0cmluZygpKTsKLSAgICAgICAgaW5pdGlhdG9yT2JqZWN0LT5zZXRMaW5lTnVt
YmVyKGRvY3VtZW50LT5zY3JpcHRhYmxlRG9jdW1lbnRQYXJzZXIoKS0+bGluZU51bWJlcigpLm9u
ZUJhc2VkSW50KCkpOworICAgICAgICBpbml0aWF0b3JPYmplY3QtPnNldExpbmVOdW1iZXIoZG9j
dW1lbnQtPnNjcmlwdGFibGVEb2N1bWVudFBhcnNlcigpLT50ZXh0UG9zaXRpb24oKS5tX2xpbmUu
b25lQmFzZWRJbnQoKSk7CiAgICAgICAgIHJldHVybiBpbml0aWF0b3JPYmplY3Q7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9Db25zb2xlLmNwcAppbmRleCBkZGU2NWUzMzkyZmIyNGNmNzY3MWMyZTQwNWI3
MjVlMzI1NTg4NWM5Li5hOTcyMmUxNTE4NGYxZDJmNjgwZjgwNmM3MjdmMmUwNDFkMGE4NzFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0NvbnNvbGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvQ29uc29sZS5jcHAKQEAgLTkyLDcgKzkyLDcgQEAgc3RhdGljIHZvaWQgaW50
ZXJuYWxBZGRNZXNzYWdlKFBhZ2UqIHBhZ2UsIE1lc3NhZ2VUeXBlIHR5cGUsIE1lc3NhZ2VMZXZl
bCBsZXZlbCwKICAgICBpZiAoIXBhZ2UtPnNldHRpbmdzKCkubG9nc1BhZ2VNZXNzYWdlc1RvU3lz
dGVtQ29uc29sZUVuYWJsZWQoKSAmJiAhUGFnZUNvbnNvbGU6OnNob3VsZFByaW50RXhjZXB0aW9u
cygpKQogICAgICAgICByZXR1cm47CiAKLSAgICBQYWdlQ29uc29sZTo6cHJpbnRTb3VyY2VVUkxB
bmRMaW5lKGxhc3RDYWxsZXIuc291cmNlVVJMKCksIGxhc3RDYWxsZXIubGluZU51bWJlcigpKTsK
KyAgICBQYWdlQ29uc29sZTo6cHJpbnRTb3VyY2VVUkxBbmRQb3NpdGlvbihsYXN0Q2FsbGVyLnNv
dXJjZVVSTCgpLCBsYXN0Q2FsbGVyLmxpbmVOdW1iZXIoKSk7CiAgICAgUGFnZUNvbnNvbGU6OnBy
aW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KENvbnNvbGVBUElNZXNzYWdlU291cmNlLCBs
ZXZlbCk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50cy0+YXJndW1lbnRD
b3VudCgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNv
bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAKaW5kZXggNGZhYWU2
ZDBkNmYyOWY4MWZlZjY0NGMyNWMwYjRlZjhhN2Q5OWQ3YS4uMGJiNzA1MjdjMmQ2MDJjZjRjMWE3
YmE0ODQ4NzNlNGU5ODg2NGU5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdl
Q29uc29sZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5jcHAKQEAg
LTY0LDExICs2NCwxMSBAQCBQYWdlQ29uc29sZTo6flBhZ2VDb25zb2xlKCkKIHsKIH0KIAotdm9p
ZCBQYWdlQ29uc29sZTo6cHJpbnRTb3VyY2VVUkxBbmRMaW5lKGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCB1bnNpZ25lZCBsaW5lTnVtYmVyKQordm9pZCBQYWdlQ29uc29sZTo6cHJpbnRTb3VyY2VV
UkxBbmRQb3NpdGlvbihjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJl
ciwgdW5zaWduZWQgY29sdW1uTnVtYmVyKQogewogICAgIGlmICghc291cmNlVVJMLmlzRW1wdHko
KSkgewotICAgICAgICBpZiAobGluZU51bWJlciA+IDApCi0gICAgICAgICAgICBwcmludGYoIiVz
OiVkOiAiLCBzb3VyY2VVUkwudXRmOCgpLmRhdGEoKSwgbGluZU51bWJlcik7CisgICAgICAgIGlm
IChsaW5lTnVtYmVyID4gMCAmJiBjb2x1bW5OdW1iZXIgPiAwKQorICAgICAgICAgICAgcHJpbnRm
KCIlczoldToldTogIiwgc291cmNlVVJMLnV0ZjgoKS5kYXRhKCksIGxpbmVOdW1iZXIsIGNvbHVt
bk51bWJlcik7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHByaW50ZigiJXM6ICIsIHNvdXJj
ZVVSTC51dGY4KCkuZGF0YSgpKTsKICAgICB9CkBAIC0xNDIsMTggKzE0MiwyMiBAQCB2b2lkIFBh
Z2VDb25zb2xlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwg
bGV2ZWwsIGNvbnN0IFN0cgogICAgIFN0cmluZyB1cmw7CiAgICAgaWYgKGRvY3VtZW50KQogICAg
ICAgICB1cmwgPSBkb2N1bWVudC0+dXJsKCkuc3RyaW5nKCk7Ci0gICAgLy8gRklYTUU6IDxodHRw
Oi8vd2Via2l0Lm9yZy9iLzExNDMxOT4gUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2Ugc2hvdWxkIGF1
dG9tYXRpY2FsbHkgZGV0ZXJtaW5lIGNvbHVtbiBudW1iZXIgYWxvbmdzaWRlIGxpbmUgbnVtYmVy
LgogICAgIC8vIEZJWE1FOiBUaGUgYmVsb3cgY29kZSBhdHRlbXB0cyB0byBkZXRlcm1pbmUgbGlu
ZSBudW1iZXJzIGZvciBwYXJzZXIgZ2VuZXJhdGVkIGVycm9ycywgYnV0IHRoaXMgaXMgbm90IHRo
ZSBvbmx5IHJlYXNvbiB3aHkgd2UgY2FuIGdldCBoZXJlLgogICAgIC8vIEZvciBleGFtcGxlLCBp
ZiB3ZSBhcmUgc3RpbGwgcGFyc2luZyBhbmQgZ2V0IGEgV2ViU29ja2V0IG5ldHdvcmsgZXJyb3Is
IGl0IHdpbGwgYmUgZXJyb25lb3VzbHkgYXR0cmlidXRlZCB0byBhIGxpbmUgd2hlcmUgcGFyc2lu
ZyB3YXMgcGF1c2VkLgogICAgIC8vIEFsc28sIHdlIHNob3VsZCBkZXRlcm1pbmUgbGluZSBudW1i
ZXJzIGZvciBzY3JpcHQgZ2VuZXJhdGVkIG1lc3NhZ2VzIChlLmcuIGNhbGxpbmcgZ2V0SW1hZ2VE
YXRhIG9uIGEgY2FudmFzKS4KICAgICAvLyBXZSBwcm9iYWJseSBuZWVkIHRvIHNwbGl0IHRoaXMg
ZnVuY3Rpb24gaW50byBtdWx0aXBsZSBvbmVzLCBhcyBhcHByb3ByaWF0ZSBmb3IgZGlmZmVyZW50
IGNhbGwgc2l0ZXMuIE9yIG1heWJlIGRlY2lkZSBiYXNlZCBvbiBNZXNzYWdlU291cmNlLgorICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjUzNDAKICAgICB1
bnNpZ25lZCBsaW5lID0gMDsKKyAgICB1bnNpZ25lZCBjb2x1bW4gPSAwOwogICAgIGlmIChkb2N1
bWVudCAmJiBkb2N1bWVudC0+cGFyc2luZygpICYmICFkb2N1bWVudC0+aXNJbkRvY3VtZW50V3Jp
dGUoKSAmJiBkb2N1bWVudC0+c2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKCkpIHsKICAgICAgICAg
U2NyaXB0YWJsZURvY3VtZW50UGFyc2VyKiBwYXJzZXIgPSBkb2N1bWVudC0+c2NyaXB0YWJsZURv
Y3VtZW50UGFyc2VyKCk7Ci0gICAgICAgIGlmICghcGFyc2VyLT5pc1dhaXRpbmdGb3JTY3JpcHRz
KCkgJiYgIUpTTWFpblRocmVhZEV4ZWNTdGF0ZTo6Y3VycmVudFN0YXRlKCkpCi0gICAgICAgICAg
ICBsaW5lID0gcGFyc2VyLT5saW5lTnVtYmVyKCkub25lQmFzZWRJbnQoKTsKKyAgICAgICAgaWYg
KCFwYXJzZXItPmlzV2FpdGluZ0ZvclNjcmlwdHMoKSAmJiAhSlNNYWluVGhyZWFkRXhlY1N0YXRl
OjpjdXJyZW50U3RhdGUoKSkgeworICAgICAgICAgICAgVGV4dFBvc2l0aW9uIHBvc2l0aW9uID0g
cGFyc2VyLT50ZXh0UG9zaXRpb24oKTsKKyAgICAgICAgICAgIGxpbmUgPSBwb3NpdGlvbi5tX2xp
bmUub25lQmFzZWRJbnQoKTsKKyAgICAgICAgICAgIGNvbHVtbiA9IHBvc2l0aW9uLm1fY29sdW1u
Lm9uZUJhc2VkSW50KCk7CisgICAgICAgIH0KICAgICB9Ci0gICAgYWRkTWVzc2FnZShzb3VyY2Us
IGxldmVsLCBtZXNzYWdlLCB1cmwsIGxpbmUsIDAsIDAsIDAsIHJlcXVlc3RJZGVudGlmaWVyKTsK
KyAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHVybCwgbGluZSwgY29sdW1u
LCAwLCAwLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9CiAKIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1l
c3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlLCBQYXNzUmVmUHRyPFNjcmlwdENhbGxTdGFjaz4gY2FsbFN0YWNrKQpAQCAt
MTgyLDcgKzE4Niw3IEBAIHZvaWQgUGFnZUNvbnNvbGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJj
ZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY29uc3QgU3RyCiAgICAgaWYgKCFtX3BhZ2Uu
c2V0dGluZ3MoKS5sb2dzUGFnZU1lc3NhZ2VzVG9TeXN0ZW1Db25zb2xlRW5hYmxlZCgpICYmICFz
aG91bGRQcmludEV4Y2VwdGlvbnMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcHJpbnRTb3Vy
Y2VVUkxBbmRMaW5lKHVybCwgbGluZU51bWJlcik7CisgICAgcHJpbnRTb3VyY2VVUkxBbmRQb3Np
dGlvbih1cmwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcik7CiAgICAgcHJpbnRNZXNzYWdlU291
cmNlQW5kTGV2ZWxQcmVmaXgoc291cmNlLCBsZXZlbCk7CiAKICAgICBwcmludGYoIiAlc1xuIiwg
bWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
UGFnZUNvbnNvbGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUGFnZUNvbnNvbGUuaAppbmRleCBj
ZmY3OGUyMjhlYzU3YzUwY2ZlZTEyZGZkOTM5MzIzYmJmZjhjZTIwLi45ZGJkYTY2ZGY2NjJlNTY5
YmM4YTI1MTFlNDk0OTJjODEyYzU0MjY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1BhZ2VDb25zb2xlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9QYWdlQ29uc29sZS5oCkBA
IC00OCw3ICs0OCw3IEBAIHB1YmxpYzoKICAgICBQYWdlQ29uc29sZShQYWdlJik7CiAgICAgflBh
Z2VDb25zb2xlKCk7CiAKLSAgICBzdGF0aWMgdm9pZCBwcmludFNvdXJjZVVSTEFuZExpbmUoY29u
c3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVuc2lnbmVkIGxpbmVOdW1iZXIpOworICAgIHN0YXRpYyB2
b2lkIHByaW50U291cmNlVVJMQW5kUG9zaXRpb24oY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIHVu
c2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlciA9IDApOwogICAgIHN0YXRp
YyB2b2lkIHByaW50TWVzc2FnZVNvdXJjZUFuZExldmVsUHJlZml4KE1lc3NhZ2VTb3VyY2UsIE1l
c3NhZ2VMZXZlbCk7CiAKICAgICB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiA9IDAsIEpTQzo6RXhlY1N0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcgcmVx
dWVzdElkZW50aWZpZXIgPSAwKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJz
ZXIvWE1MRG9jdW1lbnRQYXJzZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3htbC9wYXJzZXIvWE1MRG9j
dW1lbnRQYXJzZXIuaAppbmRleCAzY2Q3ODU2ZjM2NmFiNTkwMzI3YzJiNmY0NTEyMTNlMWQ2YzYx
OTA4Li43YjdlMjIwMzhmMTcxNjM0NzM3MzIzYzM5OWFmMGQ1Yzc2ZjY1NjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlci5oCkBAIC0xMDUsOCArMTA1
LDYgQEAgY2xhc3MgVGV4dDsKICAgICAgICAgdmlydHVhbCBib29sIGlzV2FpdGluZ0ZvclNjcmlw
dHMoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCB2b2lkIHN0b3BQYXJzaW5nKCk7CiAgICAgICAg
IHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICAgICAgdmlydHVhbCBPcmRpbmFsTnVtYmVyIGxp
bmVOdW1iZXIoKSBjb25zdDsKLSAgICAgICAgT3JkaW5hbE51bWJlciBjb2x1bW5OdW1iZXIoKSBj
b25zdDsKIAogICAgICAgICAvLyBmcm9tIENhY2hlZFJlc291cmNlQ2xpZW50CiAgICAgICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlGaW5pc2hlZChDYWNoZWRSZXNvdXJjZSopOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwIGIv
U291cmNlL1dlYkNvcmUveG1sL3BhcnNlci9YTUxEb2N1bWVudFBhcnNlckxpYnhtbDIuY3BwCmlu
ZGV4IDQ2YTkyZGI5YmE1M2U2MTkwYjBmNTA1YjY0YzE2NzZlNWYyNGI5MjYuLmMyOGU3N2U0N2Nh
NzVlMGEyZTJkNWI3YTk5NjRjYjBjMzZjZjEzZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3htbC9wYXJzZXIvWE1MRG9jdW1lbnRQYXJzZXJMaWJ4bWwyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS94bWwvcGFyc2VyL1hNTERvY3VtZW50UGFyc2VyTGlieG1sMi5jcHAKQEAgLTk3Miw4ICs5
NzIsOSBAQCB2b2lkIFhNTERvY3VtZW50UGFyc2VyOjplcnJvcihYTUxFcnJvcnM6OkVycm9yVHlw
ZSB0eXBlLCBjb25zdCBjaGFyKiBtZXNzYWdlLCB2YQogICAgIHZzbnByaW50ZihtLCBzaXplb2Yo
bSkgLSAxLCBtZXNzYWdlLCBhcmdzKTsKICNlbmRpZgogCisgICAgVGV4dFBvc2l0aW9uIHBvc2l0
aW9uID0gdGV4dFBvc2l0aW9uKCk7CiAgICAgaWYgKG1fcGFyc2VyUGF1c2VkKQotICAgICAgICBt
X3BlbmRpbmdDYWxsYmFja3MtPmFwcGVuZEVycm9yQ2FsbGJhY2sodHlwZSwgcmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB4bWxDaGFyKj4obSksIGxpbmVOdW1iZXIoKSwgY29sdW1uTnVtYmVyKCkpOwor
ICAgICAgICBtX3BlbmRpbmdDYWxsYmFja3MtPmFwcGVuZEVycm9yQ2FsbGJhY2sodHlwZSwgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCB4bWxDaGFyKj4obSksIHBvc2l0aW9uLm1fbGluZSwgcG9zaXRp
b24ubV9jb2x1bW4pOwogICAgIGVsc2UKICAgICAgICAgaGFuZGxlRXJyb3IodHlwZSwgbSwgdGV4
dFBvc2l0aW9uKCkpOwogCkBAIC0xNDI2LDE2ICsxNDI3LDYgQEAgdm9pZCogeG1sRG9jUHRyRm9y
U3RyaW5nKENhY2hlZFJlc291cmNlTG9hZGVyKiBjYWNoZWRSZXNvdXJjZUxvYWRlciwgY29uc3Qg
U3RyaW4KIH0KICNlbmRpZgogCi1PcmRpbmFsTnVtYmVyIFhNTERvY3VtZW50UGFyc2VyOjpsaW5l
TnVtYmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gT3JkaW5hbE51bWJlcjo6ZnJvbU9uZUJhc2Vk
SW50KGNvbnRleHQoKSA/IGNvbnRleHQoKS0+aW5wdXQtPmxpbmUgOiAxKTsKLX0KLQotT3JkaW5h
bE51bWJlciBYTUxEb2N1bWVudFBhcnNlcjo6Y29sdW1uTnVtYmVyKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gT3JkaW5hbE51bWJlcjo6ZnJvbU9uZUJhc2VkSW50KGNvbnRleHQoKSA/IGNvbnRleHQo
KS0+aW5wdXQtPmNvbCA6IDEpOwotfQotCiBUZXh0UG9zaXRpb24gWE1MRG9jdW1lbnRQYXJzZXI6
OnRleHRQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgeG1sUGFyc2VyQ3R4dFB0ciBjb250ZXh0ID0g
dGhpcy0+Y29udGV4dCgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZhYzU3NzUxYTI3ZTNmOTY2MTNiMjU0NzQ2YTIzZTli
YjM0YmM0N2YuLjU4ODYxZDk2NjBkMmFhNjlkZDU2YTFkOWIyZDNkZTQ3ODEyZmE1MWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMyBAQAorMjAxMy0xMi0xMCAgTMOhc3psw7MgTGFuZ8OzICA8bGFuZ29AaW5m
LnUtc3plZ2VkLmh1PgorCisgICAgICAgIFBhZ2VDb25zb2xlOjphZGRNZXNzYWdlIHNob3VsZCBh
dXRvbWF0aWNhbGx5IGRldGVybWluZSBjb2x1bW4gbnVtYmVyIGFsb25nc2lkZSBsaW5lIG51bWJl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE0MzE5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgICogaW5z
cGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9u
Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTEyLTEwICBNaWNoYcWCIFBha3XFgmEgdmVsIFJ1dGthICA8
bS5wYWt1bGFAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCBFRkwgZ2FyZGVuaW5n
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgt
RnJhbWVPcHRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29s
L3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MzUyMjIz
ODQ2ZjYyZDg0Njg5MDFhZjhmZWI4M2I2NjRmZTMwNGYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yLXByb3RvY29sL3BhZ2UvZGVueS1YLUZyYW1lT3B0aW9uLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDQgQEAKK0NPTlNPTEUgTUVTU0FHRTogUmVmdXNlZCB0byBkaXNw
bGF5ICdkZW55LVgtRnJhbWVPcHRpb24uaHRtbCcgaW4gYSBmcmFtZSBiZWNhdXNlIGl0IHNldCAn
WC1GcmFtZS1PcHRpb25zJyB0byAnZGVueScuCisKK2RlbnktWC1GcmFtZU9wdGlvbi5odG1sOjA6
MAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55
LVgtRnJhbWVPcHRpb24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci1wcm90b2NvbC9wYWdl
L2RlbnktWC1GcmFtZU9wdGlvbi5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4NzBmZThlZWFmZTBjMTcyNTli
MzczOGFlNjQ4ZTQyMjg3OTFjZDIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3ItcHJvdG9jb2wvcGFnZS9kZW55LVgtRnJhbWVPcHRpb24uaHRtbApAQCAtMCwwICsxLDMx
IEBACis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
Li4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3ItcHJvdG9jb2wvcmVzb3VyY2VzL3Byb3RvY29sLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIEluc3Bl
Y3RvclRlc3QuaW1wb3J0U2NyaXB0KCIuLi8uLi8uLi8uLi9pbnNwZWN0b3ItcHJvdG9jb2wvcmVz
b3VyY2VzL2NvbnNvbGUtaGVscGVyLmpzIik7CisgICAgSW5zcGVjdG9yVGVzdC5zZW5kQ29tbWFu
ZCgiQ29uc29sZS5lbmFibGUiLCB7fSk7CisKKyAgICBJbnNwZWN0b3JUZXN0LmV2ZW50SGFuZGxl
clsiQ29uc29sZS5tZXNzYWdlQWRkZWQiXSA9IGZ1bmN0aW9uKG1lc3NhZ2VPYmplY3QpCisgICAg
eworICAgICAgICB2YXIgc2ltcGxpZmllZE1lc3NhZ2UgPSBDb25zb2xlSGVscGVyLnNpbXBsaWZp
ZWRDb25zb2xlTWVzc2FnZShtZXNzYWdlT2JqZWN0KTsKKyAgICAgICAgLy8gRklYTUUgVGhlIGxp
bmUgYW5kIGNvbHVtbiB2YWx1ZXMgd2lsbCBiZSB6ZXJvcyB1bnRpbCB0aGlzIGZpeDoKKyAgICAg
ICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTM0MAorICAg
ICAgICAvLyBBZnRlciB0aGlzIHByb2JhYmx5IHdlIHNob3VsZCB1cGRhdGUgdGhlIGV4cGVjdGVk
LnR4dC4KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coc2ltcGxpZmllZE1lc3NhZ2UubG9jYXRp
b24pOworCisgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgIDxpZnJhbWUg
aWQ9Zm9vPjwvaWZyYW1lPgorICA8c2NyaXB0PgorICAgIHZhciBmb29GcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdmb28nKTsKKyAgICB2YXIgZm9vRG9jID0gZm9vRnJhbWUuY29udGVu
dFdpbmRvdy5kb2N1bWVudDsKKyAgICBmb29Eb2Mud3JpdGUoJzxtZXRhIGh0dHAtZXF1aXY9Ilgt
RnJhbWUtT3B0aW9ucyIgY29udGVudD0iZGVueSIvPicpOworICA8L3NjcmlwdD4KKzwvYm9keT4K
KzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>