<?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>153327</bug_id>
          
          <creation_ts>2016-01-21 14:53:02 -0800</creation_ts>
          <short_desc>createElementFromSavedToken shouldn&apos;t have the code to create a non-HTML element</short_desc>
          <delta_ts>2016-01-21 19:47:54 -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>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>150225</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>koivisto</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1157445</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 14:53:02 -0800</bug_when>
    <thetext>HTMLConstructionSite::createElementFromSavedToken is only called on a stack item which in m_activeFormattingElements.
It shouldn&apos;t have the code to create a non-HTML element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157450</commentid>
    <comment_count>1</comment_count>
      <attachid>269499</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 15:01:19 -0800</bug_when>
    <thetext>Created attachment 269499
Clenaup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157497</commentid>
    <comment_count>2</comment_count>
      <attachid>269499</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-01-21 16:35:35 -0800</bug_when>
    <thetext>Comment on attachment 269499
Clenaup

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

r=me with comments.

&gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:623
&gt; +    setAttributes(element.ptr(), token, m_parserContentPolicy);

Looks like setAttributes() should take a reference. It&apos;d be nice to do it in this patch if the change is not too large.

&gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:655
&gt; +    return element.releaseNonNull();

HTMLElementFactory::createElement() actually returns a Ref&lt;&gt; so you should change the element variable type above and simply return element here.

&gt; Source/WebCore/html/parser/HTMLConstructionSite.cpp:660
&gt;      RefPtr&lt;Element&gt; element;

Should be dropped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157524</commentid>
    <comment_count>3</comment_count>
      <attachid>269527</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 18:09:08 -0800</bug_when>
    <thetext>Created attachment 269527
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157526</commentid>
    <comment_count>4</comment_count>
      <attachid>269527</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-21 18:10:18 -0800</bug_when>
    <thetext>Comment on attachment 269527
Patch for landing

Rejecting attachment 269527 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 269527, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: http://webkit-queues.webkit.org/results/723503</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157527</commentid>
    <comment_count>5</comment_count>
      <attachid>269528</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 18:10:42 -0800</bug_when>
    <thetext>Created attachment 269528
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157528</commentid>
    <comment_count>6</comment_count>
      <attachid>269528</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-21 18:11:33 -0800</bug_when>
    <thetext>Comment on attachment 269528
Patch for landing

Rejecting attachment 269528 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;apply-attachment&apos;, &apos;--no-update&apos;, &apos;--non-interactive&apos;, 269528, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
WS/WebKit

Parsed 4 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Source/WebCore/ChangeLog.rej
patching file Source/WebCore/html/parser/HTMLConstructionSite.cpp
patching file Source/WebCore/html/parser/HTMLConstructionSite.h
patching file Source/WebCore/html/parser/HTMLTreeBuilder.cpp

Failed to run &quot;[u&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/svn-apply&apos;, &apos;--force&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

Full output: http://webkit-queues.webkit.org/results/723509</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157529</commentid>
    <comment_count>7</comment_count>
      <attachid>269529</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 18:14:29 -0800</bug_when>
    <thetext>Created attachment 269529
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157532</commentid>
    <comment_count>8</comment_count>
      <attachid>269529</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-21 18:17:35 -0800</bug_when>
    <thetext>Comment on attachment 269529
Patch for landing

Rejecting attachment 269529 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-02&apos;, &apos;build&apos;, &apos;--no-clean&apos;, &apos;--no-update&apos;, &apos;--build-style=release&apos;, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
.dia -c /Volumes/Data/EWS/WebKit/Source/WebCore/html/parser/TextDocumentParser.cpp -o /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/TextDocumentParser.o

** BUILD FAILED **


The following build commands failed:
	CompileC /Volumes/Data/EWS/WebKit/WebKitBuild/WebCore.build/Release/WebCore.build/Objects-normal/x86_64/HTMLConstructionSite.o html/parser/HTMLConstructionSite.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Full output: http://webkit-queues.webkit.org/results/723533</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157551</commentid>
    <comment_count>9</comment_count>
      <attachid>269539</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-01-21 18:58:51 -0800</bug_when>
    <thetext>Created attachment 269539
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157556</commentid>
    <comment_count>10</comment_count>
      <attachid>269539</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-21 19:47:48 -0800</bug_when>
    <thetext>Comment on attachment 269539
Patch for landing

Clearing flags on attachment: 269539

Committed r195438: &lt;http://trac.webkit.org/changeset/195438&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1157557</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-01-21 19:47:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269499</attachid>
            <date>2016-01-21 15:01:19 -0800</date>
            <delta_ts>2016-01-21 18:09:04 -0800</delta_ts>
            <desc>Clenaup</desc>
            <filename>bug-153327-20160121150052.patch</filename>
            <type>text/plain</type>
            <size>8604</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYwNGIxNmIyOTIwZjRj
OTc4ZDAwOTZjODBkNmNiNzNmYTA4MmI4Ny4uYTlhYjRjYjFkMDQyYjkyNjI5NTdkYmUzMmI0NDdm
MWY2ZDdjNjkyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDE2LTAxLTIxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGNyZWF0ZUVsZW1lbnRGcm9t
U2F2ZWRUb2tlbiBzaG91bGRuJ3QgaGF2ZSB0aGUgY29kZSB0byBjcmVhdGUgYSBub24tSFRNTCBl
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTMzMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW5jZSBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlz
IG9ubHkgdXNlZCB0byBpbnN0YW50aWF0ZSBhIGZvcm1hdHRpbmcgZWxlbWVudCwKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gc3VwcG9ydCBjcmVhdGluZyBhIG5vbi1IVE1MIGVs
ZW1lbnRzLiBSZW1vdmUgdGhlIGJyYW5jaCBhbmQgYXNzZXJ0IHRoYXQgdGhpcworICAgICAgICBp
cyBpbmRlZWQgdGhlIGNhc2UuCisKKyAgICAgICAgY3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2Vu
IGlzIGNhbGxlZCBpbiBIVE1MVHJlZUJ1aWxkZXI6OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSBhbmQg
SFRNTENvbnN0cnVjdGlvblNpdGUncworICAgICAgICByZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1h
dHRpbmdFbGVtZW50cy4gSW4gYm90aCBjYXNlcywgdGhlIHN0YWNrIGl0ZW0gcGFzc2VkIHRvIGNy
ZWF0ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbgorICAgICAgICBpcyBndWFyYW50ZWVkIHRvIGJlIGlu
IHRoZSBsaXN0IG9mIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzLCB3aGljaCBvbmx5IGNvbnRh
aW5zIGZvcm1hdHRpbmcgZWxlbWVudHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRo
ZXJlIGlzIG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TENvbnN0cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlv
blNpdGU6Omluc2VydEhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29u
c3RydWN0aW9uU2l0ZTo6aW5zZXJ0Rm9ybWF0dGluZ0VsZW1lbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUVsZW1lbnQpOiBSZXR1cm5zIFJlZjxFbGVt
ZW50PiBpbnN0ZWFkIG9mIFBhc3NSZWZQdHI8RWxlbWVudD4uCisgICAgICAgIChXZWJDb3JlOjpI
VE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlSFRNTEVsZW1lbnQpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9r
ZW4pOiBEaXR0by4gUmVtb3ZlZCB0aGUgY29kZSB0byBpbnN0YW50aWF0ZQorICAgICAgICBhIG5v
bi1IVE1MIGVsZW1lbnQuIEFsc28gYXNzZXJ0IHRoYXQgYW4gZWxlbWVudCBjcmVhdGVkIGJ5IHRo
aXMgZnVuY3Rpb24gaXMgYSBmb3JtYXR0aW5nIHRhZy4KKyAgICAgICAgKiBodG1sL3BhcnNlci9I
VE1MQ29uc3RydWN0aW9uU2l0ZS5oOgorICAgICAgICAqIGh0bWwvcGFyc2VyL0hUTUxUcmVlQnVp
bGRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aXNGb3Jt
YXR0aW5nVGFnKTogUHV0IGludG8gSFRNTENvbnN0cnVjdGlvblNpdGUgdG8gYWRkIGFuIGFzc2Vy
dGlvbi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0Zv
ckluQm9keSk6CisKIDIwMTYtMDEtMjAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCBzaG91bGQgYmUgYWJsZSB0byBjcmVh
dGUgYSBjdXN0b20gZWxlbWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCmluZGV4IDZjMjRlZWExOTkyYWIwZDM2MzQyYmRhYzc2
ZTgyMjc5NDI4OTZjZTQuLmViNmE5Yzc4ZTlkYjU1NWYxMzBkN2IzZDFlMzBjMWIxMTdiZmZlZDgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25T
aXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9u
U2l0ZS5jcHAKQEAgLTQ1Miw3ICs0NTIsNyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpp
bnNlcnRDb21tZW50T25IVE1MSHRtbEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbgogdm9p
ZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEhlYWRFbGVtZW50KEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiB7CiAgICAgQVNTRVJUKCFzaG91bGRGb3N0ZXJQYXJlbnQoKSk7Ci0gICAg
bV9oZWFkID0gSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKCpjcmVhdGVIVE1MRWxlbWVudCh0b2tlbiks
ICp0b2tlbik7CisgICAgbV9oZWFkID0gSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKGNyZWF0ZUhUTUxF
bGVtZW50KHRva2VuKSwgKnRva2VuKTsKICAgICBhdHRhY2hMYXRlcigmY3VycmVudE5vZGUoKSwg
Jm1faGVhZC0+ZWxlbWVudCgpKTsKICAgICBtX29wZW5FbGVtZW50cy5wdXNoSFRNTEhlYWRFbGVt
ZW50KG1faGVhZCk7CiB9CkBAIC00OTgsNiArNDk4LDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9u
U2l0ZTo6aW5zZXJ0Rm9ybWF0dGluZ0VsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAg
ICAvLyBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211
bHRpcGFnZS9wYXJzaW5nLmh0bWwjdGhlLXN0YWNrLW9mLW9wZW4tZWxlbWVudHMKICAgICAvLyBQ
b3NzaWJsZSBhY3RpdmUgZm9ybWF0dGluZyBlbGVtZW50cyBpbmNsdWRlOgogICAgIC8vIGEsIGIs
IGJpZywgY29kZSwgZW0sIGZvbnQsIGksIG5vYnIsIHMsIHNtYWxsLCBzdHJpa2UsIHN0cm9uZywg
dHQsIGFuZCB1LgorICAgIEFTU0VSVChpc0Zvcm1hdHRpbmdUYWcodG9rZW4tPm5hbWUoKSkpOwog
ICAgIGluc2VydEhUTUxFbGVtZW50KHRva2VuKTsKICAgICBtX2FjdGl2ZUZvcm1hdHRpbmdFbGVt
ZW50cy5hcHBlbmQoJmN1cnJlbnRTdGFja0l0ZW0oKSk7CiB9CkBAIC02MTUsMTIgKzYxNiwxMiBA
QCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjp0YWtlQWxsQ2hpbGRyZW4oSFRNTFN0YWNrSXRl
bSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudAogICAgIG1fdGFza1F1ZXVlLmFwcGVuZCh0YXNrKTsK
IH0KIAotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxl
bWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFj
ZVVSSSkKK1JlZjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudChB
dG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkK
IHsKICAgICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20sIHRva2VuLT5uYW1lKCksIG5h
bWVzcGFjZVVSSSk7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBvd25lckRvY3VtZW50
Rm9yQ3VycmVudE5vZGUoKS5jcmVhdGVFbGVtZW50KHRhZ05hbWUsIHRydWUpOwotICAgIHNldEF0
dHJpYnV0ZXMoZWxlbWVudC5nZXQoKSwgdG9rZW4sIG1fcGFyc2VyQ29udGVudFBvbGljeSk7Ci0g
ICAgcmV0dXJuIGVsZW1lbnQucmVsZWFzZSgpOworICAgIFJlZjxFbGVtZW50PiBlbGVtZW50ID0g
b3duZXJEb2N1bWVudEZvckN1cnJlbnROb2RlKCkuY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB0cnVl
KTsKKyAgICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQucHRyKCksIHRva2VuLCBtX3BhcnNlckNvbnRl
bnRQb2xpY3kpOworICAgIHJldHVybiBlbGVtZW50OwogfQogCiBpbmxpbmUgRG9jdW1lbnQmIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlOjpvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKQpAQCAtNjMy
LDcgKzYzMyw3IEBAIGlubGluZSBEb2N1bWVudCYgSFRNTENvbnN0cnVjdGlvblNpdGU6Om93bmVy
RG9jdW1lbnRGb3JDdXJyZW50Tm9kZSgpCiAgICAgcmV0dXJuIGN1cnJlbnROb2RlKCkuZG9jdW1l
bnQoKTsKIH0KIAotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3Jl
YXRlSFRNTEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKK1JlZjxFbGVtZW50PiBIVE1M
Q29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlSFRNTEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tl
bikKIHsKICAgICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20sIHRva2VuLT5uYW1lKCks
IHhodG1sTmFtZXNwYWNlVVJJKTsKICAgICAvLyBGSVhNRTogVGhpcyBjYW4ndCB1c2UgSFRNTENv
bnN0cnVjdGlvblNpdGU6OmNyZWF0ZUVsZW1lbnQgYmVjYXVzZSB3ZQpAQCAtNjUxLDE5ICs2NTIs
MTcgQEAgUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlSFRN
TEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2sKIAogICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVu
dC5nZXQoKSwgdG9rZW4sIG1fcGFyc2VyQ29udGVudFBvbGljeSk7CiAgICAgQVNTRVJUKGVsZW1l
bnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0gICAgcmV0dXJuIGVsZW1lbnQucmVsZWFzZSgpOworICAg
IHJldHVybiBlbGVtZW50LnJlbGVhc2VOb25OdWxsKCk7CiB9CiAKLVBhc3NSZWZQdHI8SFRNTFN0
YWNrSXRlbT4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUVsZW1lbnRGcm9tU2F2ZWRUb2tl
bihIVE1MU3RhY2tJdGVtKiBpdGVtKQorUmVmPEhUTUxTdGFja0l0ZW0+IEhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjpjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSogaXRlbSkK
IHsKICAgICBSZWZQdHI8RWxlbWVudD4gZWxlbWVudDsKICAgICAvLyBOT1RFOiBNb3ZpbmcgZnJv
bSBpdGVtIC0+IHRva2VuIC0+IGl0ZW0gY29waWVzIHRoZSBBdHRyaWJ1dGUgdmVjdG9yIHR3aWNl
IQogICAgIEF0b21pY0hUTUxUb2tlbiBmYWtlVG9rZW4oSFRNTFRva2VuOjpTdGFydFRhZywgaXRl
bS0+bG9jYWxOYW1lKCksIFZlY3RvcjxBdHRyaWJ1dGU+KGl0ZW0tPmF0dHJpYnV0ZXMoKSkpOwot
ICAgIGlmIChpdGVtLT5uYW1lc3BhY2VVUkkoKSA9PSBIVE1MTmFtZXM6OnhodG1sTmFtZXNwYWNl
VVJJKQotICAgICAgICBlbGVtZW50ID0gY3JlYXRlSFRNTEVsZW1lbnQoJmZha2VUb2tlbik7Ci0g
ICAgZWxzZQotICAgICAgICBlbGVtZW50ID0gY3JlYXRlRWxlbWVudCgmZmFrZVRva2VuLCBpdGVt
LT5uYW1lc3BhY2VVUkkoKSk7Ci0gICAgcmV0dXJuIEhUTUxTdGFja0l0ZW06OmNyZWF0ZShlbGVt
ZW50LnJlbGVhc2VOb25OdWxsKCksIGZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkpOwor
ICAgIEFTU0VSVChpdGVtLT5uYW1lc3BhY2VVUkkoKSA9PSBIVE1MTmFtZXM6OnhodG1sTmFtZXNw
YWNlVVJJKTsKKyAgICBBU1NFUlQoaXNGb3JtYXR0aW5nVGFnKGl0ZW0tPmxvY2FsTmFtZSgpKSk7
CisgICAgcmV0dXJuIEhUTUxTdGFja0l0ZW06OmNyZWF0ZShjcmVhdGVIVE1MRWxlbWVudCgmZmFr
ZVRva2VuKSwgZmFrZVRva2VuLCBpdGVtLT5uYW1lc3BhY2VVUkkoKSk7CiB9CiAKIGJvb2wgSFRN
TENvbnN0cnVjdGlvblNpdGU6OmluZGV4T2ZGaXJzdFVub3BlbkZvcm1hdHRpbmdFbGVtZW50KHVu
c2lnbmVkJiBmaXJzdFVub3BlbkVsZW1lbnRJbmRleCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCmluZGV4IGFmNzNiZWMzNjgy
YWZiNTI2ZTZmOWU0MjI1Y2U2NzVmNDU1OTczZWUuLjhlMDdkOTA4NzU0YmE1MDkxMmY3ZWIwMDI2
YTgxOWZjYmMxZmY5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRN
TENvbnN0cnVjdGlvblNpdGUuaApAQCAtMTI0LDcgKzEyNCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGluc2VydEFscmVhZHlQYXJzZWRDaGlsZChIVE1MU3RhY2tJdGVtJiBuZXdQYXJlbnQsIEhUTUxF
bGVtZW50U3RhY2s6OkVsZW1lbnRSZWNvcmQmIGNoaWxkKTsKICAgICB2b2lkIHRha2VBbGxDaGls
ZHJlbihIVE1MU3RhY2tJdGVtJiBuZXdQYXJlbnQsIEhUTUxFbGVtZW50U3RhY2s6OkVsZW1lbnRS
ZWNvcmQmIG9sZFBhcmVudCk7CiAKLSAgICBQYXNzUmVmUHRyPEhUTUxTdGFja0l0ZW0+IGNyZWF0
ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbihIVE1MU3RhY2tJdGVtKik7CisgICAgUmVmPEhUTUxTdGFj
a0l0ZW0+IGNyZWF0ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbihIVE1MU3RhY2tJdGVtKik7CiAKICAg
ICBib29sIHNob3VsZEZvc3RlclBhcmVudCgpIGNvbnN0OwogICAgIHZvaWQgZm9zdGVyUGFyZW50
KFBhc3NSZWZQdHI8Tm9kZT4pOwpAQCAtMTgwLDYgKzE4MCw4IEBAIHB1YmxpYzoKICAgICAgICAg
Ym9vbCBtX3dhc1JlZGlyZWN0aW5nQmVmb3JlOwogICAgIH07CiAKKyAgICBzdGF0aWMgYm9vbCBp
c0Zvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5nJik7CisKIHByaXZhdGU6CiAgICAgLy8g
SW4gdGhlIGNvbW1vbiBjYXNlLCB0aGlzIHF1ZXVlIHdpbGwgaGF2ZSBvbmx5IG9uZSB0YXNrIGJl
Y2F1c2UgbW9zdAogICAgIC8vIHRva2VucyBwcm9kdWNlIG9ubHkgb25lIERPTSBtdXRhdGlvbi4K
QEAgLTE5Miw4ICsxOTQsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBmaW5kRm9zdGVyU2l0ZShI
VE1MQ29uc3RydWN0aW9uU2l0ZVRhc2smKTsKIAotICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlSFRNTEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKik7Ci0gICAgUGFzc1JlZlB0cjxFbGVtZW50
PiBjcmVhdGVFbGVtZW50KEF0b21pY0hUTUxUb2tlbiosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFt
ZXNwYWNlVVJJKTsKKyAgICBSZWY8RWxlbWVudD4gY3JlYXRlSFRNTEVsZW1lbnQoQXRvbWljSFRN
TFRva2VuKik7CisgICAgUmVmPEVsZW1lbnQ+IGNyZWF0ZUVsZW1lbnQoQXRvbWljSFRNTFRva2Vu
KiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpOwogCiAgICAgdm9pZCBtZXJnZUF0
dHJpYnV0ZXNGcm9tVG9rZW5JbnRvRWxlbWVudChBdG9taWNIVE1MVG9rZW4qLCBFbGVtZW50Kik7
CiAgICAgdm9pZCBkaXNwYXRjaERvY3VtZW50RWxlbWVudEF2YWlsYWJsZUlmTmVlZGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAppbmRleCBl
ZjI5YjRiYmJhYmI1OGJjY2MwYzA3YzNkNmI5OGY4NTE4YmFjYjg5Li5kYjgxN2E4OGEwZDUyZmRl
NzE3NDhmOTZhYjRjNjQwYjdlMjExZjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFy
c2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKQEAgLTEyMSw3ICsxMjEsNyBAQCBzdGF0aWMgYm9vbCBp
c05vbkFuY2hvckZvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdOYW1lKQogfQog
CiAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNm
b3JtYXR0aW5nCi1zdGF0aWMgYm9vbCBpc0Zvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5n
JiB0YWdOYW1lKQorYm9vbCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aXNGb3JtYXR0aW5nVGFnKGNv
bnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIHsKICAgICByZXR1cm4gdGFnTmFtZSA9PSBhVGFn
IHx8IGlzTm9uQW5jaG9yRm9ybWF0dGluZ1RhZyh0YWdOYW1lKTsKIH0KQEAgLTE4ODMsNyArMTg4
Myw3IEBAIHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW5Cb2R5KEF0b21p
Y0hUTUxUb2tlbiYgdG9rZW4pCiAgICAgICAgIG1fdHJlZS5vcGVuRWxlbWVudHMoKS5wb3BVbnRp
bE51bWJlcmVkSGVhZGVyRWxlbWVudFBvcHBlZCgpOwogICAgICAgICByZXR1cm47CiAgICAgfQot
ICAgIGlmIChpc0Zvcm1hdHRpbmdUYWcodG9rZW4ubmFtZSgpKSkgeworICAgIGlmIChIVE1MQ29u
c3RydWN0aW9uU2l0ZTo6aXNGb3JtYXR0aW5nVGFnKHRva2VuLm5hbWUoKSkpIHsKICAgICAgICAg
Y2FsbFRoZUFkb3B0aW9uQWdlbmN5KHRva2VuKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269527</attachid>
            <date>2016-01-21 18:09:08 -0800</date>
            <delta_ts>2016-01-21 18:10:38 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-153327-20160121180840.patch</filename>
            <type>text/plain</type>
            <size>12028</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYwNGIxNmIyOTIwZjRj
OTc4ZDAwOTZjODBkNmNiNzNmYTA4MmI4Ny4uYzYyYTdkYTY3YzdiNDBlZDdiMjJlZTE0YjA5Nzg1
N2ZlMmRkYzRiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTAxLTIxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGNyZWF0ZUVsZW1lbnRGcm9t
U2F2ZWRUb2tlbiBzaG91bGRuJ3QgaGF2ZSB0aGUgY29kZSB0byBjcmVhdGUgYSBub24tSFRNTCBl
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTMzMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
aW5jZSBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlz
IG9ubHkgdXNlZCB0byBpbnN0YW50aWF0ZSBhIGZvcm1hdHRpbmcgZWxlbWVudCwKKyAgICAgICAg
dGhlcmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gc3VwcG9ydCBjcmVhdGluZyBhIG5vbi1IVE1MIGVs
ZW1lbnRzLiBSZW1vdmUgdGhlIGJyYW5jaCBhbmQgYXNzZXJ0IHRoYXQgdGhpcworICAgICAgICBp
cyBpbmRlZWQgdGhlIGNhc2UuCisKKyAgICAgICAgY3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2Vu
IGlzIGNhbGxlZCBpbiBIVE1MVHJlZUJ1aWxkZXI6OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSBhbmQg
SFRNTENvbnN0cnVjdGlvblNpdGUncworICAgICAgICByZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1h
dHRpbmdFbGVtZW50cy4gSW4gYm90aCBjYXNlcywgdGhlIHN0YWNrIGl0ZW0gcGFzc2VkIHRvIGNy
ZWF0ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbgorICAgICAgICBpcyBndWFyYW50ZWVkIHRvIGJlIGlu
IHRoZSBsaXN0IG9mIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzLCB3aGljaCBvbmx5IGNvbnRh
aW5zIGZvcm1hdHRpbmcgZWxlbWVudHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRo
ZXJlIGlzIG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRN
TENvbnN0cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlv
blNpdGU6Omluc2VydEhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29u
c3RydWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0bWxTdGFydFRhZ0JlZm9yZUhUTUwpOgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEZvcm1hdHRpbmdFbGVtZW50
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50
KTogUmV0dXJucyBSZWY8RWxlbWVudD4gaW5zdGVhZCBvZiBQYXNzUmVmUHRyPEVsZW1lbnQ+Lgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRl
RWxlbWVudEZyb21TYXZlZFRva2VuKTogRGl0dG8uIFJlbW92ZWQgdGhlIGNvZGUgdG8gaW5zdGFu
dGlhdGUKKyAgICAgICAgYSBub24tSFRNTCBlbGVtZW50LiBBbHNvIGFzc2VydCB0aGF0IGFuIGVs
ZW1lbnQgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9ybWF0dGluZyB0YWcuCisgICAg
ICAgICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaDoKKyAgICAgICAgKiBodG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0
cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyk6IFB1dCBpbnRvIEhUTUxDb25zdHJ1Y3Rpb25T
aXRlIHRvIGFkZCBhbiBhc3NlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxk
ZXI6OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorCiAyMDE2LTAxLTIwICBSeW9zdWtlIE5pd2Eg
IDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgc2hv
dWxkIGJlIGFibGUgdG8gY3JlYXRlIGEgY3VzdG9tIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCA2YzI0ZWVh
MTk5MmFiMGQzNjM0MmJkYWM3NmU4MjI3OTQyODk2Y2U0Li40Mjc3NzQyYTc2MTdmNTliMzcyNjg3
MjY0YThmODhmMThmNzBhMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01MSwxMSArNTEsMTEgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50KiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRv
a2VuLCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCitzdGF0aWMgaW5s
aW5lIHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4q
IHRva2VuLCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAg
aWYgKCFzY3JpcHRpbmdDb250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQotICAg
ICAgICBlbGVtZW50LT5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0ZXMo
KSk7Ci0gICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlcyh0b2tlbi0+YXR0cmlidXRlcygp
KTsKKyAgICAgICAgZWxlbWVudC5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJp
YnV0ZXMoKSk7CisgICAgZWxlbWVudC5wYXJzZXJTZXRBdHRyaWJ1dGVzKHRva2VuLT5hdHRyaWJ1
dGVzKCkpOwogfQogCiBzdGF0aWMgYm9vbCBoYXNJbXBsaWVkRW5kVGFnKGNvbnN0IEhUTUxTdGFj
a0l0ZW0mIGl0ZW0pCkBAIC0yNjIsNyArMjYyLDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0
ZTo6ZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgpCiB2b2lkIEhUTUxD
b25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSHRtbFN0YXJ0VGFnQmVmb3JlSFRNTChBdG9taWNI
VE1MVG9rZW4qIHRva2VuKQogewogICAgIFJlZjxIVE1MSHRtbEVsZW1lbnQ+IGVsZW1lbnQgPSBI
VE1MSHRtbEVsZW1lbnQ6OmNyZWF0ZSgqbV9kb2N1bWVudCk7Ci0gICAgc2V0QXR0cmlidXRlcyhl
bGVtZW50LnB0cigpLCB0b2tlbiwgbV9wYXJzZXJDb250ZW50UG9saWN5KTsKKyAgICBzZXRBdHRy
aWJ1dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwogICAg
IGF0dGFjaExhdGVyKG1fYXR0YWNobWVudFJvb3QsIGVsZW1lbnQucHRyKCkpOwogICAgIG1fb3Bl
bkVsZW1lbnRzLnB1c2hIVE1MSHRtbEVsZW1lbnQoSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKGVsZW1l
bnQuY29weVJlZigpLCAqdG9rZW4pKTsKIApAQCAtNDUyLDcgKzQ1Miw3IEBAIHZvaWQgSFRNTENv
bnN0cnVjdGlvblNpdGU6Omluc2VydENvbW1lbnRPbkhUTUxIdG1sRWxlbWVudChBdG9taWNIVE1M
VG9rZW4qIHRva2VuCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSGVhZEVs
ZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBBU1NFUlQoIXNob3VsZEZvc3Rl
clBhcmVudCgpKTsKLSAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoKmNyZWF0ZUhU
TUxFbGVtZW50KHRva2VuKSwgKnRva2VuKTsKKyAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpj
cmVhdGUoY3JlYXRlSFRNTEVsZW1lbnQodG9rZW4pLCAqdG9rZW4pOwogICAgIGF0dGFjaExhdGVy
KCZjdXJyZW50Tm9kZSgpLCAmbV9oZWFkLT5lbGVtZW50KCkpOwogICAgIG1fb3BlbkVsZW1lbnRz
LnB1c2hIVE1MSGVhZEVsZW1lbnQobV9oZWFkKTsKIH0KQEAgLTQ5OCw2ICs0OTgsNyBAQCB2b2lk
IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRGb3JtYXR0aW5nRWxlbWVudChBdG9taWNIVE1M
VG9rZW4qIHRva2VuKQogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBw
cy9jdXJyZW50LXdvcmsvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCN0aGUtc3RhY2stb2Ytb3Blbi1l
bGVtZW50cwogICAgIC8vIFBvc3NpYmxlIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzIGluY2x1
ZGU6CiAgICAgLy8gYSwgYiwgYmlnLCBjb2RlLCBlbSwgZm9udCwgaSwgbm9iciwgcywgc21hbGws
IHN0cmlrZSwgc3Ryb25nLCB0dCwgYW5kIHUuCisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyh0
b2tlbi0+bmFtZSgpKSk7CiAgICAgaW5zZXJ0SFRNTEVsZW1lbnQodG9rZW4pOwogICAgIG1fYWN0
aXZlRm9ybWF0dGluZ0VsZW1lbnRzLmFwcGVuZCgmY3VycmVudFN0YWNrSXRlbSgpKTsKIH0KQEAg
LTUxMSwxMSArNTEyLDExIEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydFNjcmlw
dEVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAvLyB0aG9zZSBmbGFncyBvciBl
ZmZlY3RzIHRoZXJlb2YuCiAgICAgY29uc3QgYm9vbCBwYXJzZXJJbnNlcnRlZCA9IG1fcGFyc2Vy
Q29udGVudFBvbGljeSAhPSBBbGxvd1NjcmlwdGluZ0NvbnRlbnRBbmREb05vdE1hcmtBbHJlYWR5
U3RhcnRlZDsKICAgICBjb25zdCBib29sIGFscmVhZHlTdGFydGVkID0gbV9pc1BhcnNpbmdGcmFn
bWVudCAmJiBwYXJzZXJJbnNlcnRlZDsKLSAgICBSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+IGVs
ZW1lbnQgPSBIVE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKHNjcmlwdFRhZywgb3duZXJEb2N1bWVu
dEZvckN1cnJlbnROb2RlKCksIHBhcnNlckluc2VydGVkLCBhbHJlYWR5U3RhcnRlZCk7CisgICAg
UmVmPEhUTUxTY3JpcHRFbGVtZW50PiBlbGVtZW50ID0gSFRNTFNjcmlwdEVsZW1lbnQ6OmNyZWF0
ZShzY3JpcHRUYWcsIG93bmVyRG9jdW1lbnRGb3JDdXJyZW50Tm9kZSgpLCBwYXJzZXJJbnNlcnRl
ZCwgYWxyZWFkeVN0YXJ0ZWQpOwogICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudC5nZXQoKSwgdG9r
ZW4sIG1fcGFyc2VyQ29udGVudFBvbGljeSk7CiAgICAgaWYgKHNjcmlwdGluZ0NvbnRlbnRJc0Fs
bG93ZWQobV9wYXJzZXJDb250ZW50UG9saWN5KSkKLSAgICAgICAgYXR0YWNoTGF0ZXIoJmN1cnJl
bnROb2RlKCksIGVsZW1lbnQpOwotICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRl
bTo6Y3JlYXRlKGVsZW1lbnQucmVsZWFzZU5vbk51bGwoKSwgKnRva2VuKSk7CisgICAgICAgIGF0
dGFjaExhdGVyKCZjdXJyZW50Tm9kZSgpLCBlbGVtZW50LnB0cigpKTsKKyAgICBtX29wZW5FbGVt
ZW50cy5wdXNoKEhUTUxTdGFja0l0ZW06OmNyZWF0ZShXVEZNb3ZlKGVsZW1lbnQpLCAqdG9rZW4p
KTsKIH0KIAogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0Rm9yZWlnbkVsZW1lbnQo
QXRvbWljSFRNTFRva2VuKiB0b2tlbiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkp
CkBAIC02MTUsMTIgKzYxNiwxMiBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjp0YWtlQWxs
Q2hpbGRyZW4oSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudAogICAgIG1fdGFz
a1F1ZXVlLmFwcGVuZCh0YXNrKTsKIH0KIAotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3Ry
dWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKK1JlZjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9u
U2l0ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNT
dHJpbmcmIG5hbWVzcGFjZVVSSSkKIHsKICAgICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0
b20sIHRva2VuLT5uYW1lKCksIG5hbWVzcGFjZVVSSSk7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVs
ZW1lbnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKS5jcmVhdGVFbGVtZW50KHRhZ05h
bWUsIHRydWUpOworICAgIFJlZjxFbGVtZW50PiBlbGVtZW50ID0gb3duZXJEb2N1bWVudEZvckN1
cnJlbnROb2RlKCkuY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB0cnVlKTsKICAgICBzZXRBdHRyaWJ1
dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwotICAgIHJl
dHVybiBlbGVtZW50LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gZWxlbWVudDsKIH0KIAogaW5saW5l
IERvY3VtZW50JiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6b3duZXJEb2N1bWVudEZvckN1cnJlbnRO
b2RlKCkKQEAgLTYzMiw3ICs2MzMsNyBAQCBpbmxpbmUgRG9jdW1lbnQmIEhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjpvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKQogICAgIHJldHVybiBjdXJyZW50
Tm9kZSgpLmRvY3VtZW50KCk7CiB9CiAKLVBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVj
dGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCitSZWY8
RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hU
TUxUb2tlbiogdG9rZW4pCiB7CiAgICAgUXVhbGlmaWVkTmFtZSB0YWdOYW1lKG51bGxBdG9tLCB0
b2tlbi0+bmFtZSgpLCB4aHRtbE5hbWVzcGFjZVVSSSk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2Fu
J3QgdXNlIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50IGJlY2F1c2Ugd2UKQEAg
LTY0MSwyOSArNjQyLDI2IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNp
dGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rCiAgICAgLy8gaHR0cDov
L3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdHJl
ZS1jb25zdHJ1Y3Rpb24uaHRtbCNjcmVhdGUtYW4tZWxlbWVudC1mb3ItdGhlLXRva2VuCiAgICAg
RG9jdW1lbnQmIG93bmVyRG9jdW1lbnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKTsK
ICAgICBib29sIGluc2lkZVRlbXBsYXRlRWxlbWVudCA9ICFvd25lckRvY3VtZW50LmZyYW1lKCk7
Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0
ZUVsZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5zaWRlVGVtcGxhdGVFbGVtZW50ID8g
bnVsbHB0ciA6IGZvcm0oKSwgdHJ1ZSk7CisgICAgUmVmPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1M
RWxlbWVudEZhY3Rvcnk6OmNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5z
aWRlVGVtcGxhdGVFbGVtZW50ID8gbnVsbHB0ciA6IGZvcm0oKSwgdHJ1ZSk7CiAgICAgCiAgICAg
Ly8gRklYTUU6IFRoaXMgaXMgYSBoYWNrIHRvIGNvbm5lY3QgaW1hZ2VzIHRvIHBpY3R1cmVzIGJl
Zm9yZSB0aGUgaW1hZ2UgaGFzCiAgICAgLy8gYmVlbiBpbnNlcnRlZCBpbnRvIHRoZSBkb2N1bWVu
dC4gSXQgY2FuIGJlIHJlbW92ZWQgb25jZSBhc3luY2hyb25vdXMgaW1hZ2UKICAgICAvLyBsb2Fk
aW5nIGlzIHdvcmtpbmcuCi0gICAgaWYgKGlzPEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5v
ZGUoKSkgJiYgaXM8SFRNTEltYWdlRWxlbWVudD4oKmVsZW1lbnQuZ2V0KCkpKQotICAgICAgICBk
b3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqZWxlbWVudC5nZXQoKSkuc2V0UGljdHVyZUVsZW1l
bnQoJmRvd25jYXN0PEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5vZGUoKSkpOworICAgIGlm
IChpczxIVE1MUGljdHVyZUVsZW1lbnQ+KGN1cnJlbnROb2RlKCkpICYmIGlzPEhUTUxJbWFnZUVs
ZW1lbnQ+KGVsZW1lbnQpKQorICAgICAgICBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVt
ZW50KS5zZXRQaWN0dXJlRWxlbWVudCgmZG93bmNhc3Q8SFRNTFBpY3R1cmVFbGVtZW50PihjdXJy
ZW50Tm9kZSgpKSk7CiAKICAgICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBt
X3BhcnNlckNvbnRlbnRQb2xpY3kpOwotICAgIEFTU0VSVChlbGVtZW50LT5pc0hUTUxFbGVtZW50
KCkpOwotICAgIHJldHVybiBlbGVtZW50LnJlbGVhc2UoKTsKKyAgICBBU1NFUlQoZWxlbWVudC5p
c0hUTUxFbGVtZW50KCkpOworICAgIHJldHVybiBlbGVtZW50OwogfQogCi1QYXNzUmVmUHRyPEhU
TUxTdGFja0l0ZW0+IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50RnJvbVNhdmVk
VG9rZW4oSFRNTFN0YWNrSXRlbSogaXRlbSkKK1JlZjxIVE1MU3RhY2tJdGVtPiBIVE1MQ29uc3Ry
dWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuKEhUTUxTdGFja0l0ZW0qIGl0
ZW0pCiB7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQ7CiAgICAgLy8gTk9URTogTW92aW5n
IGZyb20gaXRlbSAtPiB0b2tlbiAtPiBpdGVtIGNvcGllcyB0aGUgQXR0cmlidXRlIHZlY3RvciB0
d2ljZSEKICAgICBBdG9taWNIVE1MVG9rZW4gZmFrZVRva2VuKEhUTUxUb2tlbjo6U3RhcnRUYWcs
IGl0ZW0tPmxvY2FsTmFtZSgpLCBWZWN0b3I8QXR0cmlidXRlPihpdGVtLT5hdHRyaWJ1dGVzKCkp
KTsKLSAgICBpZiAoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVz
cGFjZVVSSSkKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUhUTUxFbGVtZW50KCZmYWtlVG9rZW4p
OwotICAgIGVsc2UKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoJmZha2VUb2tlbiwg
aXRlbS0+bmFtZXNwYWNlVVJJKCkpOwotICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUo
ZWxlbWVudC5yZWxlYXNlTm9uTnVsbCgpLCBmYWtlVG9rZW4sIGl0ZW0tPm5hbWVzcGFjZVVSSSgp
KTsKKyAgICBBU1NFUlQoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5h
bWVzcGFjZVVSSSk7CisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyhpdGVtLT5sb2NhbE5hbWUo
KSkpOworICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3JlYXRlSFRNTEVsZW1lbnQo
JmZha2VUb2tlbiksIGZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkpOwogfQogCiBib29s
IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbmRleE9mRmlyc3RVbm9wZW5Gb3JtYXR0aW5nRWxlbWVu
dCh1bnNpZ25lZCYgZmlyc3RVbm9wZW5FbGVtZW50SW5kZXgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCBhZjczYmVj
MzY4MmFmYjUyNmU2ZjllNDIyNWNlNjc1ZjQ1NTk3M2VlLi44ZTA3ZDkwODc1NGJhNTA5MTJmN2Vi
MDAyNmE4MTlmY2JjMWZmOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNl
ci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2Vy
L0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBpbnNlcnRBbHJlYWR5UGFyc2VkQ2hpbGQoSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBI
VE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkJiBjaGlsZCk7CiAgICAgdm9pZCB0YWtlQWxs
Q2hpbGRyZW4oSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudFN0YWNrOjpFbGVt
ZW50UmVjb3JkJiBvbGRQYXJlbnQpOwogCi0gICAgUGFzc1JlZlB0cjxIVE1MU3RhY2tJdGVtPiBj
cmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOworICAgIFJlZjxIVE1M
U3RhY2tJdGVtPiBjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOwog
CiAgICAgYm9vbCBzaG91bGRGb3N0ZXJQYXJlbnQoKSBjb25zdDsKICAgICB2b2lkIGZvc3RlclBh
cmVudChQYXNzUmVmUHRyPE5vZGU+KTsKQEAgLTE4MCw2ICsxODAsOCBAQCBwdWJsaWM6CiAgICAg
ICAgIGJvb2wgbV93YXNSZWRpcmVjdGluZ0JlZm9yZTsKICAgICB9OwogCisgICAgc3RhdGljIGJv
b2wgaXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOworCiBwcml2YXRlOgogICAg
IC8vIEluIHRoZSBjb21tb24gY2FzZSwgdGhpcyBxdWV1ZSB3aWxsIGhhdmUgb25seSBvbmUgdGFz
ayBiZWNhdXNlIG1vc3QKICAgICAvLyB0b2tlbnMgcHJvZHVjZSBvbmx5IG9uZSBET00gbXV0YXRp
b24uCkBAIC0xOTIsOCArMTk0LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZmluZEZvc3RlclNp
dGUoSFRNTENvbnN0cnVjdGlvblNpdGVUYXNrJik7CiAKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+
IGNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiopOwotICAgIFBhc3NSZWZQdHI8RWxl
bWVudD4gY3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qLCBjb25zdCBBdG9taWNTdHJpbmcm
IG5hbWVzcGFjZVVSSSk7CisgICAgUmVmPEVsZW1lbnQ+IGNyZWF0ZUhUTUxFbGVtZW50KEF0b21p
Y0hUTUxUb2tlbiopOworICAgIFJlZjxFbGVtZW50PiBjcmVhdGVFbGVtZW50KEF0b21pY0hUTUxU
b2tlbiosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKTsKIAogICAgIHZvaWQgbWVy
Z2VBdHRyaWJ1dGVzRnJvbVRva2VuSW50b0VsZW1lbnQoQXRvbWljSFRNTFRva2VuKiwgRWxlbWVu
dCopOwogICAgIHZvaWQgZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5k
ZXggZWYyOWI0YmJiYWJiNThiY2NjMGMwN2MzZDZiOThmODUxOGJhY2I4OS4uZGI4MTdhODhhMGQ1
MmZkZTcxNzQ4Zjk2YWI0YzY0MGI3ZTIxMWY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGJv
b2wgaXNOb25BbmNob3JGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkK
IH0KIAogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0
bWwjZm9ybWF0dGluZwotc3RhdGljIGJvb2wgaXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0
cmluZyYgdGFnTmFtZSkKK2Jvb2wgSFRNTENvbnN0cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1Rh
Zyhjb25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiB7CiAgICAgcmV0dXJuIHRhZ05hbWUgPT0g
YVRhZyB8fCBpc05vbkFuY2hvckZvcm1hdHRpbmdUYWcodGFnTmFtZSk7CiB9CkBAIC0xODgzLDcg
KzE4ODMsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQm9keShB
dG9taWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9w
VW50aWxOdW1iZXJlZEhlYWRlckVsZW1lbnRQb3BwZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAg
IH0KLSAgICBpZiAoaXNGb3JtYXR0aW5nVGFnKHRva2VuLm5hbWUoKSkpIHsKKyAgICBpZiAoSFRN
TENvbnN0cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyh0b2tlbi5uYW1lKCkpKSB7CiAgICAg
ICAgIGNhbGxUaGVBZG9wdGlvbkFnZW5jeSh0b2tlbik7CiAgICAgICAgIHJldHVybjsKICAgICB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269528</attachid>
            <date>2016-01-21 18:10:42 -0800</date>
            <delta_ts>2016-01-21 18:14:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-153327-20160121181014.patch</filename>
            <type>text/plain</type>
            <size>12247</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYwNGIxNmIyOTIwZjRj
OTc4ZDAwOTZjODBkNmNiNzNmYTA4MmI4Ny4uOTBjNjNkOGUxNjI3MTJhNjQxMWFlMGRhZGRmNzFl
NGEwMjU1NzQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw5ICsxLDM5IEBACisyMDE2LTAxLTIxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGNyZWF0ZUVsZW1lbnRGcm9t
U2F2ZWRUb2tlbiBzaG91bGRuJ3QgaGF2ZSB0aGUgY29kZSB0byBjcmVhdGUgYSBub24tSFRNTCBl
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTMzMjcKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBTaW5j
ZSBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlzIG9u
bHkgdXNlZCB0byBpbnN0YW50aWF0ZSBhIGZvcm1hdHRpbmcgZWxlbWVudCwKKyAgICAgICAgdGhl
cmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gc3VwcG9ydCBjcmVhdGluZyBhIG5vbi1IVE1MIGVsZW1l
bnRzLiBSZW1vdmUgdGhlIGJyYW5jaCBhbmQgYXNzZXJ0IHRoYXQgdGhpcworICAgICAgICBpcyBp
bmRlZWQgdGhlIGNhc2UuCisKKyAgICAgICAgY3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlz
IGNhbGxlZCBpbiBIVE1MVHJlZUJ1aWxkZXI6OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSBhbmQgSFRN
TENvbnN0cnVjdGlvblNpdGUncworICAgICAgICByZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRp
bmdFbGVtZW50cy4gSW4gYm90aCBjYXNlcywgdGhlIHN0YWNrIGl0ZW0gcGFzc2VkIHRvIGNyZWF0
ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbgorICAgICAgICBpcyBndWFyYW50ZWVkIHRvIGJlIGluIHRo
ZSBsaXN0IG9mIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzLCB3aGljaCBvbmx5IGNvbnRhaW5z
IGZvcm1hdHRpbmcgZWxlbWVudHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNp
dGU6Omluc2VydEhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3Ry
dWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0bWxTdGFydFRhZ0JlZm9yZUhUTUwpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEZvcm1hdHRpbmdFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50KTog
UmV0dXJucyBSZWY8RWxlbWVudD4gaW5zdGVhZCBvZiBQYXNzUmVmUHRyPEVsZW1lbnQ+LgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxl
bWVudEZyb21TYXZlZFRva2VuKTogRGl0dG8uIFJlbW92ZWQgdGhlIGNvZGUgdG8gaW5zdGFudGlh
dGUKKyAgICAgICAgYSBub24tSFRNTCBlbGVtZW50LiBBbHNvIGFzc2VydCB0aGF0IGFuIGVsZW1l
bnQgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9ybWF0dGluZyB0YWcuCisgICAgICAg
ICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaDoKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVj
dGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyk6IFB1dCBpbnRvIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
IHRvIGFkZCBhbiBhc3NlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorCiAyMDE2LTAxLTIwICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgc2hvdWxk
IGJlIGFibGUgdG8gY3JlYXRlIGEgY3VzdG9tIGVsZW1lbnQKICAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1MzE3MwogCi0gICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KIAogICAg
ICAgICBBZGRlZCB0aGUgc3VwcG9ydCBmb3IgY29uc3RydWN0aW5nIGEgY3VzdG9tIGVsZW1lbnQg
dmlhIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQuCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCA2YzI0ZWVhMTk5MmFiMGQz
NjM0MmJkYWM3NmU4MjI3OTQyODk2Y2U0Li40Mjc3NzQyYTc2MTdmNTliMzcyNjg3MjY0YThmODhm
MThmNzBhMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuY3BwCkBAIC01MSwxMSArNTEsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5lIHZvaWQgc2V0
QXR0cmlidXRlcyhFbGVtZW50KiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBQYXJz
ZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCitzdGF0aWMgaW5saW5lIHZvaWQg
c2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBQ
YXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAgaWYgKCFzY3Jp
cHRpbmdDb250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQotICAgICAgICBlbGVt
ZW50LT5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0ZXMoKSk7Ci0gICAg
ZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlcyh0b2tlbi0+YXR0cmlidXRlcygpKTsKKyAgICAg
ICAgZWxlbWVudC5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0ZXMoKSk7
CisgICAgZWxlbWVudC5wYXJzZXJTZXRBdHRyaWJ1dGVzKHRva2VuLT5hdHRyaWJ1dGVzKCkpOwog
fQogCiBzdGF0aWMgYm9vbCBoYXNJbXBsaWVkRW5kVGFnKGNvbnN0IEhUTUxTdGFja0l0ZW0mIGl0
ZW0pCkBAIC0yNjIsNyArMjYyLDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6ZGlzcGF0
Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgpCiB2b2lkIEhUTUxDb25zdHJ1Y3Rp
b25TaXRlOjppbnNlcnRIVE1MSHRtbFN0YXJ0VGFnQmVmb3JlSFRNTChBdG9taWNIVE1MVG9rZW4q
IHRva2VuKQogewogICAgIFJlZjxIVE1MSHRtbEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MSHRtbEVs
ZW1lbnQ6OmNyZWF0ZSgqbV9kb2N1bWVudCk7Ci0gICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LnB0
cigpLCB0b2tlbiwgbV9wYXJzZXJDb250ZW50UG9saWN5KTsKKyAgICBzZXRBdHRyaWJ1dGVzKGVs
ZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwogICAgIGF0dGFjaExh
dGVyKG1fYXR0YWNobWVudFJvb3QsIGVsZW1lbnQucHRyKCkpOwogICAgIG1fb3BlbkVsZW1lbnRz
LnB1c2hIVE1MSHRtbEVsZW1lbnQoSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKGVsZW1lbnQuY29weVJl
ZigpLCAqdG9rZW4pKTsKIApAQCAtNDUyLDcgKzQ1Miw3IEBAIHZvaWQgSFRNTENvbnN0cnVjdGlv
blNpdGU6Omluc2VydENvbW1lbnRPbkhUTUxIdG1sRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRv
a2VuCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSGVhZEVsZW1lbnQoQXRv
bWljSFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBBU1NFUlQoIXNob3VsZEZvc3RlclBhcmVudCgp
KTsKLSAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoKmNyZWF0ZUhUTUxFbGVtZW50
KHRva2VuKSwgKnRva2VuKTsKKyAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3Jl
YXRlSFRNTEVsZW1lbnQodG9rZW4pLCAqdG9rZW4pOwogICAgIGF0dGFjaExhdGVyKCZjdXJyZW50
Tm9kZSgpLCAmbV9oZWFkLT5lbGVtZW50KCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1c2hIVE1M
SGVhZEVsZW1lbnQobV9oZWFkKTsKIH0KQEAgLTQ5OCw2ICs0OTgsNyBAQCB2b2lkIEhUTUxDb25z
dHJ1Y3Rpb25TaXRlOjppbnNlcnRGb3JtYXR0aW5nRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRv
a2VuKQogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50
LXdvcmsvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCN0aGUtc3RhY2stb2Ytb3Blbi1lbGVtZW50cwog
ICAgIC8vIFBvc3NpYmxlIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzIGluY2x1ZGU6CiAgICAg
Ly8gYSwgYiwgYmlnLCBjb2RlLCBlbSwgZm9udCwgaSwgbm9iciwgcywgc21hbGwsIHN0cmlrZSwg
c3Ryb25nLCB0dCwgYW5kIHUuCisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyh0b2tlbi0+bmFt
ZSgpKSk7CiAgICAgaW5zZXJ0SFRNTEVsZW1lbnQodG9rZW4pOwogICAgIG1fYWN0aXZlRm9ybWF0
dGluZ0VsZW1lbnRzLmFwcGVuZCgmY3VycmVudFN0YWNrSXRlbSgpKTsKIH0KQEAgLTUxMSwxMSAr
NTEyLDExIEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydFNjcmlwdEVsZW1lbnQo
QXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAvLyB0aG9zZSBmbGFncyBvciBlZmZlY3RzIHRo
ZXJlb2YuCiAgICAgY29uc3QgYm9vbCBwYXJzZXJJbnNlcnRlZCA9IG1fcGFyc2VyQ29udGVudFBv
bGljeSAhPSBBbGxvd1NjcmlwdGluZ0NvbnRlbnRBbmREb05vdE1hcmtBbHJlYWR5U3RhcnRlZDsK
ICAgICBjb25zdCBib29sIGFscmVhZHlTdGFydGVkID0gbV9pc1BhcnNpbmdGcmFnbWVudCAmJiBw
YXJzZXJJbnNlcnRlZDsKLSAgICBSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+IGVsZW1lbnQgPSBI
VE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKHNjcmlwdFRhZywgb3duZXJEb2N1bWVudEZvckN1cnJl
bnROb2RlKCksIHBhcnNlckluc2VydGVkLCBhbHJlYWR5U3RhcnRlZCk7CisgICAgUmVmPEhUTUxT
Y3JpcHRFbGVtZW50PiBlbGVtZW50ID0gSFRNTFNjcmlwdEVsZW1lbnQ6OmNyZWF0ZShzY3JpcHRU
YWcsIG93bmVyRG9jdW1lbnRGb3JDdXJyZW50Tm9kZSgpLCBwYXJzZXJJbnNlcnRlZCwgYWxyZWFk
eVN0YXJ0ZWQpOwogICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudC5nZXQoKSwgdG9rZW4sIG1fcGFy
c2VyQ29udGVudFBvbGljeSk7CiAgICAgaWYgKHNjcmlwdGluZ0NvbnRlbnRJc0FsbG93ZWQobV9w
YXJzZXJDb250ZW50UG9saWN5KSkKLSAgICAgICAgYXR0YWNoTGF0ZXIoJmN1cnJlbnROb2RlKCks
IGVsZW1lbnQpOwotICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRlbTo6Y3JlYXRl
KGVsZW1lbnQucmVsZWFzZU5vbk51bGwoKSwgKnRva2VuKSk7CisgICAgICAgIGF0dGFjaExhdGVy
KCZjdXJyZW50Tm9kZSgpLCBlbGVtZW50LnB0cigpKTsKKyAgICBtX29wZW5FbGVtZW50cy5wdXNo
KEhUTUxTdGFja0l0ZW06OmNyZWF0ZShXVEZNb3ZlKGVsZW1lbnQpLCAqdG9rZW4pKTsKIH0KIAog
dm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0Rm9yZWlnbkVsZW1lbnQoQXRvbWljSFRN
TFRva2VuKiB0b2tlbiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpCkBAIC02MTUs
MTIgKzYxNiwxMiBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjp0YWtlQWxsQ2hpbGRyZW4o
SFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudAogICAgIG1fdGFza1F1ZXVlLmFw
cGVuZCh0YXNrKTsKIH0KIAotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0
ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWVzcGFjZVVSSSkKK1JlZjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3Jl
YXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWVzcGFjZVVSSSkKIHsKICAgICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20sIHRva2Vu
LT5uYW1lKCksIG5hbWVzcGFjZVVSSSk7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBv
d25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKS5jcmVhdGVFbGVtZW50KHRhZ05hbWUsIHRydWUp
OworICAgIFJlZjxFbGVtZW50PiBlbGVtZW50ID0gb3duZXJEb2N1bWVudEZvckN1cnJlbnROb2Rl
KCkuY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB0cnVlKTsKICAgICBzZXRBdHRyaWJ1dGVzKGVsZW1l
bnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwotICAgIHJldHVybiBlbGVt
ZW50LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gZWxlbWVudDsKIH0KIAogaW5saW5lIERvY3VtZW50
JiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6b3duZXJEb2N1bWVudEZvckN1cnJlbnROb2RlKCkKQEAg
LTYzMiw3ICs2MzMsNyBAQCBpbmxpbmUgRG9jdW1lbnQmIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpv
d25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKQogICAgIHJldHVybiBjdXJyZW50Tm9kZSgpLmRv
Y3VtZW50KCk7CiB9CiAKLVBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6
OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCitSZWY8RWxlbWVudD4g
SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiog
dG9rZW4pCiB7CiAgICAgUXVhbGlmaWVkTmFtZSB0YWdOYW1lKG51bGxBdG9tLCB0b2tlbi0+bmFt
ZSgpLCB4aHRtbE5hbWVzcGFjZVVSSSk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2FuJ3QgdXNlIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50IGJlY2F1c2Ugd2UKQEAgLTY0MSwyOSAr
NjQyLDI2IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0
ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rCiAgICAgLy8gaHR0cDovL3d3dy53aGF0
d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdHJlZS1jb25zdHJ1
Y3Rpb24uaHRtbCNjcmVhdGUtYW4tZWxlbWVudC1mb3ItdGhlLXRva2VuCiAgICAgRG9jdW1lbnQm
IG93bmVyRG9jdW1lbnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKTsKICAgICBib29s
IGluc2lkZVRlbXBsYXRlRWxlbWVudCA9ICFvd25lckRvY3VtZW50LmZyYW1lKCk7Ci0gICAgUmVm
UHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZUVsZW1lbnQo
dGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5zaWRlVGVtcGxhdGVFbGVtZW50ID8gbnVsbHB0ciA6
IGZvcm0oKSwgdHJ1ZSk7CisgICAgUmVmPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxlbWVudEZh
Y3Rvcnk6OmNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5zaWRlVGVtcGxh
dGVFbGVtZW50ID8gbnVsbHB0ciA6IGZvcm0oKSwgdHJ1ZSk7CiAgICAgCiAgICAgLy8gRklYTUU6
IFRoaXMgaXMgYSBoYWNrIHRvIGNvbm5lY3QgaW1hZ2VzIHRvIHBpY3R1cmVzIGJlZm9yZSB0aGUg
aW1hZ2UgaGFzCiAgICAgLy8gYmVlbiBpbnNlcnRlZCBpbnRvIHRoZSBkb2N1bWVudC4gSXQgY2Fu
IGJlIHJlbW92ZWQgb25jZSBhc3luY2hyb25vdXMgaW1hZ2UKICAgICAvLyBsb2FkaW5nIGlzIHdv
cmtpbmcuCi0gICAgaWYgKGlzPEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5vZGUoKSkgJiYg
aXM8SFRNTEltYWdlRWxlbWVudD4oKmVsZW1lbnQuZ2V0KCkpKQotICAgICAgICBkb3duY2FzdDxI
VE1MSW1hZ2VFbGVtZW50PigqZWxlbWVudC5nZXQoKSkuc2V0UGljdHVyZUVsZW1lbnQoJmRvd25j
YXN0PEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5vZGUoKSkpOworICAgIGlmIChpczxIVE1M
UGljdHVyZUVsZW1lbnQ+KGN1cnJlbnROb2RlKCkpICYmIGlzPEhUTUxJbWFnZUVsZW1lbnQ+KGVs
ZW1lbnQpKQorICAgICAgICBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50KS5zZXRQ
aWN0dXJlRWxlbWVudCgmZG93bmNhc3Q8SFRNTFBpY3R1cmVFbGVtZW50PihjdXJyZW50Tm9kZSgp
KSk7CiAKICAgICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNv
bnRlbnRQb2xpY3kpOwotICAgIEFTU0VSVChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkpOwotICAg
IHJldHVybiBlbGVtZW50LnJlbGVhc2UoKTsKKyAgICBBU1NFUlQoZWxlbWVudC5pc0hUTUxFbGVt
ZW50KCkpOworICAgIHJldHVybiBlbGVtZW50OwogfQogCi1QYXNzUmVmUHRyPEhUTUxTdGFja0l0
ZW0+IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRN
TFN0YWNrSXRlbSogaXRlbSkKK1JlZjxIVE1MU3RhY2tJdGVtPiBIVE1MQ29uc3RydWN0aW9uU2l0
ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuKEhUTUxTdGFja0l0ZW0qIGl0ZW0pCiB7Ci0g
ICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQ7CiAgICAgLy8gTk9URTogTW92aW5nIGZyb20gaXRl
bSAtPiB0b2tlbiAtPiBpdGVtIGNvcGllcyB0aGUgQXR0cmlidXRlIHZlY3RvciB0d2ljZSEKICAg
ICBBdG9taWNIVE1MVG9rZW4gZmFrZVRva2VuKEhUTUxUb2tlbjo6U3RhcnRUYWcsIGl0ZW0tPmxv
Y2FsTmFtZSgpLCBWZWN0b3I8QXR0cmlidXRlPihpdGVtLT5hdHRyaWJ1dGVzKCkpKTsKLSAgICBp
ZiAoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVSSSkK
LSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUhUTUxFbGVtZW50KCZmYWtlVG9rZW4pOwotICAgIGVs
c2UKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoJmZha2VUb2tlbiwgaXRlbS0+bmFt
ZXNwYWNlVVJJKCkpOwotICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoZWxlbWVudC5y
ZWxlYXNlTm9uTnVsbCgpLCBmYWtlVG9rZW4sIGl0ZW0tPm5hbWVzcGFjZVVSSSgpKTsKKyAgICBB
U1NFUlQoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFjZVVS
SSk7CisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyhpdGVtLT5sb2NhbE5hbWUoKSkpOworICAg
IHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3JlYXRlSFRNTEVsZW1lbnQoJmZha2VUb2tl
biksIGZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkpOwogfQogCiBib29sIEhUTUxDb25z
dHJ1Y3Rpb25TaXRlOjppbmRleE9mRmlyc3RVbm9wZW5Gb3JtYXR0aW5nRWxlbWVudCh1bnNpZ25l
ZCYgZmlyc3RVbm9wZW5FbGVtZW50SW5kZXgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCBhZjczYmVjMzY4MmFmYjUy
NmU2ZjllNDIyNWNlNjc1ZjQ1NTk3M2VlLi44ZTA3ZDkwODc1NGJhNTA5MTJmN2ViMDAyNmE4MTlm
Y2JjMWZmOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29u
c3RydWN0aW9uU2l0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25z
dHJ1Y3Rpb25TaXRlLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnNl
cnRBbHJlYWR5UGFyc2VkQ2hpbGQoSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVu
dFN0YWNrOjpFbGVtZW50UmVjb3JkJiBjaGlsZCk7CiAgICAgdm9pZCB0YWtlQWxsQ2hpbGRyZW4o
SFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3Jk
JiBvbGRQYXJlbnQpOwogCi0gICAgUGFzc1JlZlB0cjxIVE1MU3RhY2tJdGVtPiBjcmVhdGVFbGVt
ZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOworICAgIFJlZjxIVE1MU3RhY2tJdGVt
PiBjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOwogCiAgICAgYm9v
bCBzaG91bGRGb3N0ZXJQYXJlbnQoKSBjb25zdDsKICAgICB2b2lkIGZvc3RlclBhcmVudChQYXNz
UmVmUHRyPE5vZGU+KTsKQEAgLTE4MCw2ICsxODAsOCBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wg
bV93YXNSZWRpcmVjdGluZ0JlZm9yZTsKICAgICB9OwogCisgICAgc3RhdGljIGJvb2wgaXNGb3Jt
YXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOworCiBwcml2YXRlOgogICAgIC8vIEluIHRo
ZSBjb21tb24gY2FzZSwgdGhpcyBxdWV1ZSB3aWxsIGhhdmUgb25seSBvbmUgdGFzayBiZWNhdXNl
IG1vc3QKICAgICAvLyB0b2tlbnMgcHJvZHVjZSBvbmx5IG9uZSBET00gbXV0YXRpb24uCkBAIC0x
OTIsOCArMTk0LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZmluZEZvc3RlclNpdGUoSFRNTENv
bnN0cnVjdGlvblNpdGVUYXNrJik7CiAKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNyZWF0ZUhU
TUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiopOwotICAgIFBhc3NSZWZQdHI8RWxlbWVudD4gY3Jl
YXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFj
ZVVSSSk7CisgICAgUmVmPEVsZW1lbnQ+IGNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tl
biopOworICAgIFJlZjxFbGVtZW50PiBjcmVhdGVFbGVtZW50KEF0b21pY0hUTUxUb2tlbiosIGNv
bnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKTsKIAogICAgIHZvaWQgbWVyZ2VBdHRyaWJ1
dGVzRnJvbVRva2VuSW50b0VsZW1lbnQoQXRvbWljSFRNTFRva2VuKiwgRWxlbWVudCopOwogICAg
IHZvaWQgZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXggZWYyOWI0
YmJiYWJiNThiY2NjMGMwN2MzZDZiOThmODUxOGJhY2I4OS4uZGI4MTdhODhhMGQ1MmZkZTcxNzQ4
Zjk2YWI0YzY0MGI3ZTIxMWY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJz
ZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGJvb2wgaXNOb25B
bmNob3JGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIH0KIAogLy8g
aHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwjZm9ybWF0
dGluZwotc3RhdGljIGJvb2wgaXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFn
TmFtZSkKK2Jvb2wgSFRNTENvbnN0cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyhjb25zdCBB
dG9taWNTdHJpbmcmIHRhZ05hbWUpCiB7CiAgICAgcmV0dXJuIHRhZ05hbWUgPT0gYVRhZyB8fCBp
c05vbkFuY2hvckZvcm1hdHRpbmdUYWcodGFnTmFtZSk7CiB9CkBAIC0xODgzLDcgKzE4ODMsNyBA
QCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQm9keShBdG9taWNIVE1M
VG9rZW4mIHRva2VuKQogICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9wVW50aWxOdW1i
ZXJlZEhlYWRlckVsZW1lbnRQb3BwZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAgICBp
ZiAoaXNGb3JtYXR0aW5nVGFnKHRva2VuLm5hbWUoKSkpIHsKKyAgICBpZiAoSFRNTENvbnN0cnVj
dGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyh0b2tlbi5uYW1lKCkpKSB7CiAgICAgICAgIGNhbGxU
aGVBZG9wdGlvbkFnZW5jeSh0b2tlbik7CiAgICAgICAgIHJldHVybjsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269529</attachid>
            <date>2016-01-21 18:14:29 -0800</date>
            <delta_ts>2016-01-21 18:58:47 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-153327-20160121181401.patch</filename>
            <type>text/plain</type>
            <size>12025</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk1MzkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWYwNGIxNmIyOTIwZjRj
OTc4ZDAwOTZjODBkNmNiNzNmYTA4MmI4Ny4uOTczNjEwZDhlMzFiNWUxMzlmY2NjMzczNGJlNmJl
ZjZkMTZlOTNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTAxLTIxICBSeW9z
dWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGNyZWF0ZUVsZW1lbnRGcm9t
U2F2ZWRUb2tlbiBzaG91bGRuJ3QgaGF2ZSB0aGUgY29kZSB0byBjcmVhdGUgYSBub24tSFRNTCBl
bGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
NTMzMjcKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBTaW5j
ZSBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlzIG9u
bHkgdXNlZCB0byBpbnN0YW50aWF0ZSBhIGZvcm1hdHRpbmcgZWxlbWVudCwKKyAgICAgICAgdGhl
cmUgaXMgbm8gbmVlZCBmb3IgaXQgdG8gc3VwcG9ydCBjcmVhdGluZyBhIG5vbi1IVE1MIGVsZW1l
bnRzLiBSZW1vdmUgdGhlIGJyYW5jaCBhbmQgYXNzZXJ0IHRoYXQgdGhpcworICAgICAgICBpcyBp
bmRlZWQgdGhlIGNhc2UuCisKKyAgICAgICAgY3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlz
IGNhbGxlZCBpbiBIVE1MVHJlZUJ1aWxkZXI6OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSBhbmQgSFRN
TENvbnN0cnVjdGlvblNpdGUncworICAgICAgICByZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRp
bmdFbGVtZW50cy4gSW4gYm90aCBjYXNlcywgdGhlIHN0YWNrIGl0ZW0gcGFzc2VkIHRvIGNyZWF0
ZUVsZW1lbnRGcm9tU2F2ZWRUb2tlbgorICAgICAgICBpcyBndWFyYW50ZWVkIHRvIGJlIGluIHRo
ZSBsaXN0IG9mIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzLCB3aGljaCBvbmx5IGNvbnRhaW5z
IGZvcm1hdHRpbmcgZWxlbWVudHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJl
IGlzIG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENv
bnN0cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNp
dGU6Omluc2VydEhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3Ry
dWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0bWxTdGFydFRhZ0JlZm9yZUhUTUwpOgorICAgICAgICAo
V2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEZvcm1hdHRpbmdFbGVtZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50KTog
UmV0dXJucyBSZWY8RWxlbWVudD4gaW5zdGVhZCBvZiBQYXNzUmVmUHRyPEVsZW1lbnQ+LgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxl
bWVudEZyb21TYXZlZFRva2VuKTogRGl0dG8uIFJlbW92ZWQgdGhlIGNvZGUgdG8gaW5zdGFudGlh
dGUKKyAgICAgICAgYSBub24tSFRNTCBlbGVtZW50LiBBbHNvIGFzc2VydCB0aGF0IGFuIGVsZW1l
bnQgY3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9ybWF0dGluZyB0YWcuCisgICAgICAg
ICogaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaDoKKyAgICAgICAgKiBodG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVj
dGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyk6IFB1dCBpbnRvIEhUTUxDb25zdHJ1Y3Rpb25TaXRl
IHRvIGFkZCBhbiBhc3NlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6
OnByb2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorCiAyMDE2LTAxLTIwICBSeW9zdWtlIE5pd2EgIDxy
bml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgc2hvdWxk
IGJlIGFibGUgdG8gY3JlYXRlIGEgY3VzdG9tIGVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAppbmRleCA2YzI0ZWVhMTk5
MmFiMGQzNjM0MmJkYWM3NmU4MjI3OTQyODk2Y2U0Li40Mjc3NzQyYTc2MTdmNTliMzcyNjg3MjY0
YThmODhmMThmNzBhMTAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MQ29uc3RydWN0aW9uU2l0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIv
SFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCkBAIC01MSwxMSArNTEsMTEgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5lIHZv
aWQgc2V0QXR0cmlidXRlcyhFbGVtZW50KiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRva2Vu
LCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCitzdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRv
a2VuLCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAgaWYg
KCFzY3JpcHRpbmdDb250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQotICAgICAg
ICBlbGVtZW50LT5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0ZXMoKSk7
Ci0gICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlcyh0b2tlbi0+YXR0cmlidXRlcygpKTsK
KyAgICAgICAgZWxlbWVudC5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0
ZXMoKSk7CisgICAgZWxlbWVudC5wYXJzZXJTZXRBdHRyaWJ1dGVzKHRva2VuLT5hdHRyaWJ1dGVz
KCkpOwogfQogCiBzdGF0aWMgYm9vbCBoYXNJbXBsaWVkRW5kVGFnKGNvbnN0IEhUTUxTdGFja0l0
ZW0mIGl0ZW0pCkBAIC0yNjIsNyArMjYyLDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6
ZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgpCiB2b2lkIEhUTUxDb25z
dHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSHRtbFN0YXJ0VGFnQmVmb3JlSFRNTChBdG9taWNIVE1M
VG9rZW4qIHRva2VuKQogewogICAgIFJlZjxIVE1MSHRtbEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1M
SHRtbEVsZW1lbnQ6OmNyZWF0ZSgqbV9kb2N1bWVudCk7Ci0gICAgc2V0QXR0cmlidXRlcyhlbGVt
ZW50LnB0cigpLCB0b2tlbiwgbV9wYXJzZXJDb250ZW50UG9saWN5KTsKKyAgICBzZXRBdHRyaWJ1
dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwogICAgIGF0
dGFjaExhdGVyKG1fYXR0YWNobWVudFJvb3QsIGVsZW1lbnQucHRyKCkpOwogICAgIG1fb3BlbkVs
ZW1lbnRzLnB1c2hIVE1MSHRtbEVsZW1lbnQoSFRNTFN0YWNrSXRlbTo6Y3JlYXRlKGVsZW1lbnQu
Y29weVJlZigpLCAqdG9rZW4pKTsKIApAQCAtNDUyLDcgKzQ1Miw3IEBAIHZvaWQgSFRNTENvbnN0
cnVjdGlvblNpdGU6Omluc2VydENvbW1lbnRPbkhUTUxIdG1sRWxlbWVudChBdG9taWNIVE1MVG9r
ZW4qIHRva2VuCiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSGVhZEVsZW1l
bnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBBU1NFUlQoIXNob3VsZEZvc3RlclBh
cmVudCgpKTsKLSAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoKmNyZWF0ZUhUTUxF
bGVtZW50KHRva2VuKSwgKnRva2VuKTsKKyAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVh
dGUoY3JlYXRlSFRNTEVsZW1lbnQodG9rZW4pLCAqdG9rZW4pOwogICAgIGF0dGFjaExhdGVyKCZj
dXJyZW50Tm9kZSgpLCAmbV9oZWFkLT5lbGVtZW50KCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1
c2hIVE1MSGVhZEVsZW1lbnQobV9oZWFkKTsKIH0KQEAgLTQ5OCw2ICs0OTgsNyBAQCB2b2lkIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRGb3JtYXR0aW5nRWxlbWVudChBdG9taWNIVE1MVG9r
ZW4qIHRva2VuKQogICAgIC8vIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9j
dXJyZW50LXdvcmsvbXVsdGlwYWdlL3BhcnNpbmcuaHRtbCN0aGUtc3RhY2stb2Ytb3Blbi1lbGVt
ZW50cwogICAgIC8vIFBvc3NpYmxlIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzIGluY2x1ZGU6
CiAgICAgLy8gYSwgYiwgYmlnLCBjb2RlLCBlbSwgZm9udCwgaSwgbm9iciwgcywgc21hbGwsIHN0
cmlrZSwgc3Ryb25nLCB0dCwgYW5kIHUuCisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyh0b2tl
bi0+bmFtZSgpKSk7CiAgICAgaW5zZXJ0SFRNTEVsZW1lbnQodG9rZW4pOwogICAgIG1fYWN0aXZl
Rm9ybWF0dGluZ0VsZW1lbnRzLmFwcGVuZCgmY3VycmVudFN0YWNrSXRlbSgpKTsKIH0KQEAgLTUx
MSwxMSArNTEyLDExIEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydFNjcmlwdEVs
ZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKICAgICAvLyB0aG9zZSBmbGFncyBvciBlZmZl
Y3RzIHRoZXJlb2YuCiAgICAgY29uc3QgYm9vbCBwYXJzZXJJbnNlcnRlZCA9IG1fcGFyc2VyQ29u
dGVudFBvbGljeSAhPSBBbGxvd1NjcmlwdGluZ0NvbnRlbnRBbmREb05vdE1hcmtBbHJlYWR5U3Rh
cnRlZDsKICAgICBjb25zdCBib29sIGFscmVhZHlTdGFydGVkID0gbV9pc1BhcnNpbmdGcmFnbWVu
dCAmJiBwYXJzZXJJbnNlcnRlZDsKLSAgICBSZWZQdHI8SFRNTFNjcmlwdEVsZW1lbnQ+IGVsZW1l
bnQgPSBIVE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKHNjcmlwdFRhZywgb3duZXJEb2N1bWVudEZv
ckN1cnJlbnROb2RlKCksIHBhcnNlckluc2VydGVkLCBhbHJlYWR5U3RhcnRlZCk7CisgICAgUmVm
PEhUTUxTY3JpcHRFbGVtZW50PiBlbGVtZW50ID0gSFRNTFNjcmlwdEVsZW1lbnQ6OmNyZWF0ZShz
Y3JpcHRUYWcsIG93bmVyRG9jdW1lbnRGb3JDdXJyZW50Tm9kZSgpLCBwYXJzZXJJbnNlcnRlZCwg
YWxyZWFkeVN0YXJ0ZWQpOwogICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudC5nZXQoKSwgdG9rZW4s
IG1fcGFyc2VyQ29udGVudFBvbGljeSk7CiAgICAgaWYgKHNjcmlwdGluZ0NvbnRlbnRJc0FsbG93
ZWQobV9wYXJzZXJDb250ZW50UG9saWN5KSkKLSAgICAgICAgYXR0YWNoTGF0ZXIoJmN1cnJlbnRO
b2RlKCksIGVsZW1lbnQpOwotICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNrSXRlbTo6
Y3JlYXRlKGVsZW1lbnQucmVsZWFzZU5vbk51bGwoKSwgKnRva2VuKSk7CisgICAgICAgIGF0dGFj
aExhdGVyKCZjdXJyZW50Tm9kZSgpLCBlbGVtZW50LnB0cigpKTsKKyAgICBtX29wZW5FbGVtZW50
cy5wdXNoKEhUTUxTdGFja0l0ZW06OmNyZWF0ZShXVEZNb3ZlKGVsZW1lbnQpLCAqdG9rZW4pKTsK
IH0KIAogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0Rm9yZWlnbkVsZW1lbnQoQXRv
bWljSFRNTFRva2VuKiB0b2tlbiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpCkBA
IC02MTUsMTIgKzYxNiwxMiBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjp0YWtlQWxsQ2hp
bGRyZW4oSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudAogICAgIG1fdGFza1F1
ZXVlLmFwcGVuZCh0YXNrKTsKIH0KIAotUGFzc1JlZlB0cjxFbGVtZW50PiBIVE1MQ29uc3RydWN0
aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKK1JlZjxFbGVtZW50PiBIVE1MQ29uc3RydWN0aW9uU2l0
ZTo6Y3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRva2VuLCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWVzcGFjZVVSSSkKIHsKICAgICBRdWFsaWZpZWROYW1lIHRhZ05hbWUobnVsbEF0b20s
IHRva2VuLT5uYW1lKCksIG5hbWVzcGFjZVVSSSk7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1l
bnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKS5jcmVhdGVFbGVtZW50KHRhZ05hbWUs
IHRydWUpOworICAgIFJlZjxFbGVtZW50PiBlbGVtZW50ID0gb3duZXJEb2N1bWVudEZvckN1cnJl
bnROb2RlKCkuY3JlYXRlRWxlbWVudCh0YWdOYW1lLCB0cnVlKTsKICAgICBzZXRBdHRyaWJ1dGVz
KGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3BhcnNlckNvbnRlbnRQb2xpY3kpOwotICAgIHJldHVy
biBlbGVtZW50LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gZWxlbWVudDsKIH0KIAogaW5saW5lIERv
Y3VtZW50JiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6b3duZXJEb2N1bWVudEZvckN1cnJlbnROb2Rl
KCkKQEAgLTYzMiw3ICs2MzMsNyBAQCBpbmxpbmUgRG9jdW1lbnQmIEhUTUxDb25zdHJ1Y3Rpb25T
aXRlOjpvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKQogICAgIHJldHVybiBjdXJyZW50Tm9k
ZSgpLmRvY3VtZW50KCk7CiB9CiAKLVBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlv
blNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCitSZWY8RWxl
bWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxU
b2tlbiogdG9rZW4pCiB7CiAgICAgUXVhbGlmaWVkTmFtZSB0YWdOYW1lKG51bGxBdG9tLCB0b2tl
bi0+bmFtZSgpLCB4aHRtbE5hbWVzcGFjZVVSSSk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2FuJ3Qg
dXNlIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50IGJlY2F1c2Ugd2UKQEAgLTY0
MSwyOSArNjQyLDI2IEBAIFBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6
OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rCiAgICAgLy8gaHR0cDovL3d3
dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvdHJlZS1j
b25zdHJ1Y3Rpb24uaHRtbCNjcmVhdGUtYW4tZWxlbWVudC1mb3ItdGhlLXRva2VuCiAgICAgRG9j
dW1lbnQmIG93bmVyRG9jdW1lbnQgPSBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKTsKICAg
ICBib29sIGluc2lkZVRlbXBsYXRlRWxlbWVudCA9ICFvd25lckRvY3VtZW50LmZyYW1lKCk7Ci0g
ICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxlbWVudEZhY3Rvcnk6OmNyZWF0ZUVs
ZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5zaWRlVGVtcGxhdGVFbGVtZW50ID8gbnVs
bHB0ciA6IGZvcm0oKSwgdHJ1ZSk7CisgICAgUmVmPEVsZW1lbnQ+IGVsZW1lbnQgPSBIVE1MRWxl
bWVudEZhY3Rvcnk6OmNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgb3duZXJEb2N1bWVudCwgaW5zaWRl
VGVtcGxhdGVFbGVtZW50ID8gbnVsbHB0ciA6IGZvcm0oKSwgdHJ1ZSk7CiAgICAgCiAgICAgLy8g
RklYTUU6IFRoaXMgaXMgYSBoYWNrIHRvIGNvbm5lY3QgaW1hZ2VzIHRvIHBpY3R1cmVzIGJlZm9y
ZSB0aGUgaW1hZ2UgaGFzCiAgICAgLy8gYmVlbiBpbnNlcnRlZCBpbnRvIHRoZSBkb2N1bWVudC4g
SXQgY2FuIGJlIHJlbW92ZWQgb25jZSBhc3luY2hyb25vdXMgaW1hZ2UKICAgICAvLyBsb2FkaW5n
IGlzIHdvcmtpbmcuCi0gICAgaWYgKGlzPEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5vZGUo
KSkgJiYgaXM8SFRNTEltYWdlRWxlbWVudD4oKmVsZW1lbnQuZ2V0KCkpKQotICAgICAgICBkb3du
Y2FzdDxIVE1MSW1hZ2VFbGVtZW50PigqZWxlbWVudC5nZXQoKSkuc2V0UGljdHVyZUVsZW1lbnQo
JmRvd25jYXN0PEhUTUxQaWN0dXJlRWxlbWVudD4oY3VycmVudE5vZGUoKSkpOworICAgIGlmIChp
czxIVE1MUGljdHVyZUVsZW1lbnQ+KGN1cnJlbnROb2RlKCkpICYmIGlzPEhUTUxJbWFnZUVsZW1l
bnQ+KGVsZW1lbnQpKQorICAgICAgICBkb3duY2FzdDxIVE1MSW1hZ2VFbGVtZW50PihlbGVtZW50
KS5zZXRQaWN0dXJlRWxlbWVudCgmZG93bmNhc3Q8SFRNTFBpY3R1cmVFbGVtZW50PihjdXJyZW50
Tm9kZSgpKSk7CiAKICAgICBzZXRBdHRyaWJ1dGVzKGVsZW1lbnQuZ2V0KCksIHRva2VuLCBtX3Bh
cnNlckNvbnRlbnRQb2xpY3kpOwotICAgIEFTU0VSVChlbGVtZW50LT5pc0hUTUxFbGVtZW50KCkp
OwotICAgIHJldHVybiBlbGVtZW50LnJlbGVhc2UoKTsKKyAgICBBU1NFUlQoZWxlbWVudC5pc0hU
TUxFbGVtZW50KCkpOworICAgIHJldHVybiBlbGVtZW50OwogfQogCi1QYXNzUmVmUHRyPEhUTUxT
dGFja0l0ZW0+IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9r
ZW4oSFRNTFN0YWNrSXRlbSogaXRlbSkKK1JlZjxIVE1MU3RhY2tJdGVtPiBIVE1MQ29uc3RydWN0
aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuKEhUTUxTdGFja0l0ZW0qIGl0ZW0p
CiB7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQ7CiAgICAgLy8gTk9URTogTW92aW5nIGZy
b20gaXRlbSAtPiB0b2tlbiAtPiBpdGVtIGNvcGllcyB0aGUgQXR0cmlidXRlIHZlY3RvciB0d2lj
ZSEKICAgICBBdG9taWNIVE1MVG9rZW4gZmFrZVRva2VuKEhUTUxUb2tlbjo6U3RhcnRUYWcsIGl0
ZW0tPmxvY2FsTmFtZSgpLCBWZWN0b3I8QXR0cmlidXRlPihpdGVtLT5hdHRyaWJ1dGVzKCkpKTsK
LSAgICBpZiAoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVzcGFj
ZVVSSSkKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUhUTUxFbGVtZW50KCZmYWtlVG9rZW4pOwot
ICAgIGVsc2UKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQoJmZha2VUb2tlbiwgaXRl
bS0+bmFtZXNwYWNlVVJJKCkpOwotICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoZWxl
bWVudC5yZWxlYXNlTm9uTnVsbCgpLCBmYWtlVG9rZW4sIGl0ZW0tPm5hbWVzcGFjZVVSSSgpKTsK
KyAgICBBU1NFUlQoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVzOjp4aHRtbE5hbWVz
cGFjZVVSSSk7CisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyhpdGVtLT5sb2NhbE5hbWUoKSkp
OworICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3JlYXRlSFRNTEVsZW1lbnQoJmZh
a2VUb2tlbiksIGZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkpOwogfQogCiBib29sIEhU
TUxDb25zdHJ1Y3Rpb25TaXRlOjppbmRleE9mRmlyc3RVbm9wZW5Gb3JtYXR0aW5nRWxlbWVudCh1
bnNpZ25lZCYgZmlyc3RVbm9wZW5FbGVtZW50SW5kZXgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaAppbmRleCBhZjczYmVjMzY4
MmFmYjUyNmU2ZjllNDIyNWNlNjc1ZjQ1NTk3M2VlLi44ZTA3ZDkwODc1NGJhNTA5MTJmN2ViMDAy
NmE4MTlmY2JjMWZmOWRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9I
VE1MQ29uc3RydWN0aW9uU2l0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmgKQEAgLTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBpbnNlcnRBbHJlYWR5UGFyc2VkQ2hpbGQoSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1M
RWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkJiBjaGlsZCk7CiAgICAgdm9pZCB0YWtlQWxsQ2hp
bGRyZW4oSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50
UmVjb3JkJiBvbGRQYXJlbnQpOwogCi0gICAgUGFzc1JlZlB0cjxIVE1MU3RhY2tJdGVtPiBjcmVh
dGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOworICAgIFJlZjxIVE1MU3Rh
Y2tJdGVtPiBjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOwogCiAg
ICAgYm9vbCBzaG91bGRGb3N0ZXJQYXJlbnQoKSBjb25zdDsKICAgICB2b2lkIGZvc3RlclBhcmVu
dChQYXNzUmVmUHRyPE5vZGU+KTsKQEAgLTE4MCw2ICsxODAsOCBAQCBwdWJsaWM6CiAgICAgICAg
IGJvb2wgbV93YXNSZWRpcmVjdGluZ0JlZm9yZTsKICAgICB9OwogCisgICAgc3RhdGljIGJvb2wg
aXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOworCiBwcml2YXRlOgogICAgIC8v
IEluIHRoZSBjb21tb24gY2FzZSwgdGhpcyBxdWV1ZSB3aWxsIGhhdmUgb25seSBvbmUgdGFzayBi
ZWNhdXNlIG1vc3QKICAgICAvLyB0b2tlbnMgcHJvZHVjZSBvbmx5IG9uZSBET00gbXV0YXRpb24u
CkBAIC0xOTIsOCArMTk0LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZmluZEZvc3RlclNpdGUo
SFRNTENvbnN0cnVjdGlvblNpdGVUYXNrJik7CiAKLSAgICBQYXNzUmVmUHRyPEVsZW1lbnQ+IGNy
ZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiopOwotICAgIFBhc3NSZWZQdHI8RWxlbWVu
dD4gY3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qLCBjb25zdCBBdG9taWNTdHJpbmcmIG5h
bWVzcGFjZVVSSSk7CisgICAgUmVmPEVsZW1lbnQ+IGNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hU
TUxUb2tlbiopOworICAgIFJlZjxFbGVtZW50PiBjcmVhdGVFbGVtZW50KEF0b21pY0hUTUxUb2tl
biosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKTsKIAogICAgIHZvaWQgbWVyZ2VB
dHRyaWJ1dGVzRnJvbVRva2VuSW50b0VsZW1lbnQoQXRvbWljSFRNTFRva2VuKiwgRWxlbWVudCop
OwogICAgIHZvaWQgZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFibGVJZk5lZWRlZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxUcmVlQnVpbGRlci5jcHAKaW5kZXgg
ZWYyOWI0YmJiYWJiNThiY2NjMGMwN2MzZDZiOThmODUxOGJhY2I4OS4uZGI4MTdhODhhMGQ1MmZk
ZTcxNzQ4Zjk2YWI0YzY0MGI3ZTIxMWY3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9wYXJzZXIvSFRNTFRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL3Bh
cnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCkBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIGJvb2wg
aXNOb25BbmNob3JGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYgdGFnTmFtZSkKIH0K
IAogLy8gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc3ludGF4Lmh0bWwj
Zm9ybWF0dGluZwotc3RhdGljIGJvb2wgaXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdGFnTmFtZSkKK2Jvb2wgSFRNTENvbnN0cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyhj
b25zdCBBdG9taWNTdHJpbmcmIHRhZ05hbWUpCiB7CiAgICAgcmV0dXJuIHRhZ05hbWUgPT0gYVRh
ZyB8fCBpc05vbkFuY2hvckZvcm1hdHRpbmdUYWcodGFnTmFtZSk7CiB9CkBAIC0xODgzLDcgKzE4
ODMsNyBAQCB2b2lkIEhUTUxUcmVlQnVpbGRlcjo6cHJvY2Vzc0VuZFRhZ0ZvckluQm9keShBdG9t
aWNIVE1MVG9rZW4mIHRva2VuKQogICAgICAgICBtX3RyZWUub3BlbkVsZW1lbnRzKCkucG9wVW50
aWxOdW1iZXJlZEhlYWRlckVsZW1lbnRQb3BwZWQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
LSAgICBpZiAoaXNGb3JtYXR0aW5nVGFnKHRva2VuLm5hbWUoKSkpIHsKKyAgICBpZiAoSFRNTENv
bnN0cnVjdGlvblNpdGU6OmlzRm9ybWF0dGluZ1RhZyh0b2tlbi5uYW1lKCkpKSB7CiAgICAgICAg
IGNhbGxUaGVBZG9wdGlvbkFnZW5jeSh0b2tlbik7CiAgICAgICAgIHJldHVybjsKICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>269539</attachid>
            <date>2016-01-21 18:58:51 -0800</date>
            <delta_ts>2016-01-21 19:47:48 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-153327-20160121185823.patch</filename>
            <type>text/plain</type>
            <size>11477</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5NTI4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE2LTAxLTIxICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGNyZWF0ZUVsZW1lbnRGcm9tU2F2
ZWRUb2tlbiBzaG91bGRuJ3QgaGF2ZSB0aGUgY29kZSB0byBjcmVhdGUgYSBub24tSFRNTCBlbGVt
ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTMz
MjcKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBTaW5jZSBI
VE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlzIG9ubHkg
dXNlZCB0byBpbnN0YW50aWF0ZSBhIGZvcm1hdHRpbmcgZWxlbWVudCwKKyAgICAgICAgdGhlcmUg
aXMgbm8gbmVlZCBmb3IgaXQgdG8gc3VwcG9ydCBjcmVhdGluZyBhIG5vbi1IVE1MIGVsZW1lbnRz
LiBSZW1vdmUgdGhlIGJyYW5jaCBhbmQgYXNzZXJ0IHRoYXQgdGhpcworICAgICAgICBpcyBpbmRl
ZWQgdGhlIGNhc2UuCisKKyAgICAgICAgY3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuIGlzIGNh
bGxlZCBpbiBIVE1MVHJlZUJ1aWxkZXI6OmNhbGxUaGVBZG9wdGlvbkFnZW5jeSBhbmQgSFRNTENv
bnN0cnVjdGlvblNpdGUncworICAgICAgICByZWNvbnN0cnVjdFRoZUFjdGl2ZUZvcm1hdHRpbmdF
bGVtZW50cy4gSW4gYm90aCBjYXNlcywgdGhlIHN0YWNrIGl0ZW0gcGFzc2VkIHRvIGNyZWF0ZUVs
ZW1lbnRGcm9tU2F2ZWRUb2tlbgorICAgICAgICBpcyBndWFyYW50ZWVkIHRvIGJlIGluIHRoZSBs
aXN0IG9mIGFjdGl2ZSBmb3JtYXR0aW5nIGVsZW1lbnRzLCB3aGljaCBvbmx5IGNvbnRhaW5zIGZv
cm1hdHRpbmcgZWxlbWVudHMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJlIGlz
IG5vIGJlaGF2aW9yYWwgY2hhbmdlLgorCisgICAgICAgICogaHRtbC9wYXJzZXIvSFRNTENvbnN0
cnVjdGlvblNpdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6
Omluc2VydEhUTUxIZWFkRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0
aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0bWxTdGFydFRhZ0JlZm9yZUhUTUwpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6Omluc2VydEZvcm1hdHRpbmdFbGVtZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVtZW50KTogUmV0
dXJucyBSZWY8RWxlbWVudD4gaW5zdGVhZCBvZiBQYXNzUmVmUHRyPEVsZW1lbnQ+LgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVu
dEZyb21TYXZlZFRva2VuKTogRGl0dG8uIFJlbW92ZWQgdGhlIGNvZGUgdG8gaW5zdGFudGlhdGUK
KyAgICAgICAgYSBub24tSFRNTCBlbGVtZW50LiBBbHNvIGFzc2VydCB0aGF0IGFuIGVsZW1lbnQg
Y3JlYXRlZCBieSB0aGlzIGZ1bmN0aW9uIGlzIGEgZm9ybWF0dGluZyB0YWcuCisgICAgICAgICog
aHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuaDoKKyAgICAgICAgKiBodG1sL3BhcnNl
ci9IVE1MVHJlZUJ1aWxkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENvbnN0cnVjdGlv
blNpdGU6OmlzRm9ybWF0dGluZ1RhZyk6IFB1dCBpbnRvIEhUTUxDb25zdHJ1Y3Rpb25TaXRlIHRv
IGFkZCBhbiBhc3NlcnRpb24uCisgICAgICAgIChXZWJDb3JlOjpIVE1MVHJlZUJ1aWxkZXI6OnBy
b2Nlc3NFbmRUYWdGb3JJbkJvZHkpOgorCiAyMDE2LTAxLTE5ICBSeW9zdWtlIE5pd2EgIDxybml3
YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFRleHQ6OnNwbGl0VGV4dCBkb2Vzbid0IHVwZGF0ZSBS
YW5nZSBlbmQgcG9pbnRzIGFuY2hvcmVkIG9uIHBhcmVudCBub2RlcwpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVjdGlvblNpdGUuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25TaXRlLmNwcAkocmV2
aXNpb24gMTk1MjgxKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTENvbnN0cnVj
dGlvblNpdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MSwxMSArNTEsMTEgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCi1zdGF0aWMgaW5saW5l
IHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50KiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4qIHRv
a2VuLCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCitzdGF0aWMgaW5s
aW5lIHZvaWQgc2V0QXR0cmlidXRlcyhFbGVtZW50JiBlbGVtZW50LCBBdG9taWNIVE1MVG9rZW4q
IHRva2VuLCBQYXJzZXJDb250ZW50UG9saWN5IHBhcnNlckNvbnRlbnRQb2xpY3kpCiB7CiAgICAg
aWYgKCFzY3JpcHRpbmdDb250ZW50SXNBbGxvd2VkKHBhcnNlckNvbnRlbnRQb2xpY3kpKQotICAg
ICAgICBlbGVtZW50LT5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJpYnV0ZXMo
KSk7Ci0gICAgZWxlbWVudC0+cGFyc2VyU2V0QXR0cmlidXRlcyh0b2tlbi0+YXR0cmlidXRlcygp
KTsKKyAgICAgICAgZWxlbWVudC5zdHJpcFNjcmlwdGluZ0F0dHJpYnV0ZXModG9rZW4tPmF0dHJp
YnV0ZXMoKSk7CisgICAgZWxlbWVudC5wYXJzZXJTZXRBdHRyaWJ1dGVzKHRva2VuLT5hdHRyaWJ1
dGVzKCkpOwogfQogCiBzdGF0aWMgYm9vbCBoYXNJbXBsaWVkRW5kVGFnKGNvbnN0IEhUTUxTdGFj
a0l0ZW0mIGl0ZW0pCkBAIC0yNjIsNyArMjYyLDcgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0
ZTo6ZGlzcGF0Y2hEb2N1bQogdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aW5zZXJ0SFRNTEh0
bWxTdGFydFRhZ0JlZm9yZUhUTUwoQXRvbWljSFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBSZWY8
SFRNTEh0bWxFbGVtZW50PiBlbGVtZW50ID0gSFRNTEh0bWxFbGVtZW50OjpjcmVhdGUoKm1fZG9j
dW1lbnQpOwotICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudC5wdHIoKSwgdG9rZW4sIG1fcGFyc2Vy
Q29udGVudFBvbGljeSk7CisgICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LmdldCgpLCB0b2tlbiwg
bV9wYXJzZXJDb250ZW50UG9saWN5KTsKICAgICBhdHRhY2hMYXRlcihtX2F0dGFjaG1lbnRSb290
LCBlbGVtZW50LnB0cigpKTsKICAgICBtX29wZW5FbGVtZW50cy5wdXNoSFRNTEh0bWxFbGVtZW50
KEhUTUxTdGFja0l0ZW06OmNyZWF0ZShlbGVtZW50LmNvcHlSZWYoKSwgKnRva2VuKSk7CiAKQEAg
LTQ1Miw3ICs0NTIsNyBAQCB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRDb21tZW50
CiB2b2lkIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRIVE1MSGVhZEVsZW1lbnQoQXRvbWlj
SFRNTFRva2VuKiB0b2tlbikKIHsKICAgICBBU1NFUlQoIXNob3VsZEZvc3RlclBhcmVudCgpKTsK
LSAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoKmNyZWF0ZUhUTUxFbGVtZW50KHRv
a2VuKSwgKnRva2VuKTsKKyAgICBtX2hlYWQgPSBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3JlYXRl
SFRNTEVsZW1lbnQodG9rZW4pLCAqdG9rZW4pOwogICAgIGF0dGFjaExhdGVyKCZjdXJyZW50Tm9k
ZSgpLCAmbV9oZWFkLT5lbGVtZW50KCkpOwogICAgIG1fb3BlbkVsZW1lbnRzLnB1c2hIVE1MSGVh
ZEVsZW1lbnQobV9oZWFkKTsKIH0KQEAgLTQ5OCw2ICs0OTgsNyBAQCB2b2lkIEhUTUxDb25zdHJ1
Y3Rpb25TaXRlOjppbnNlcnRGb3JtYXR0CiAgICAgLy8gaHR0cDovL3d3dy53aGF0d2cub3JnL3Nw
ZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0aXBhZ2UvcGFyc2luZy5odG1sI3RoZS1zdGFj
ay1vZi1vcGVuLWVsZW1lbnRzCiAgICAgLy8gUG9zc2libGUgYWN0aXZlIGZvcm1hdHRpbmcgZWxl
bWVudHMgaW5jbHVkZToKICAgICAvLyBhLCBiLCBiaWcsIGNvZGUsIGVtLCBmb250LCBpLCBub2Jy
LCBzLCBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHR0LCBhbmQgdS4KKyAgICBBU1NFUlQoaXNGb3Jt
YXR0aW5nVGFnKHRva2VuLT5uYW1lKCkpKTsKICAgICBpbnNlcnRIVE1MRWxlbWVudCh0b2tlbik7
CiAgICAgbV9hY3RpdmVGb3JtYXR0aW5nRWxlbWVudHMuYXBwZW5kKCZjdXJyZW50U3RhY2tJdGVt
KCkpOwogfQpAQCAtNTExLDExICs1MTIsMTEgQEAgdm9pZCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6
aW5zZXJ0U2NyaXB0RQogICAgIC8vIHRob3NlIGZsYWdzIG9yIGVmZmVjdHMgdGhlcmVvZi4KICAg
ICBjb25zdCBib29sIHBhcnNlckluc2VydGVkID0gbV9wYXJzZXJDb250ZW50UG9saWN5ICE9IEFs
bG93U2NyaXB0aW5nQ29udGVudEFuZERvTm90TWFya0FscmVhZHlTdGFydGVkOwogICAgIGNvbnN0
IGJvb2wgYWxyZWFkeVN0YXJ0ZWQgPSBtX2lzUGFyc2luZ0ZyYWdtZW50ICYmIHBhcnNlckluc2Vy
dGVkOwotICAgIFJlZlB0cjxIVE1MU2NyaXB0RWxlbWVudD4gZWxlbWVudCA9IEhUTUxTY3JpcHRF
bGVtZW50OjpjcmVhdGUoc2NyaXB0VGFnLCBvd25lckRvY3VtZW50Rm9yQ3VycmVudE5vZGUoKSwg
cGFyc2VySW5zZXJ0ZWQsIGFscmVhZHlTdGFydGVkKTsKKyAgICBSZWY8SFRNTFNjcmlwdEVsZW1l
bnQ+IGVsZW1lbnQgPSBIVE1MU2NyaXB0RWxlbWVudDo6Y3JlYXRlKHNjcmlwdFRhZywgb3duZXJE
b2N1bWVudEZvckN1cnJlbnROb2RlKCksIHBhcnNlckluc2VydGVkLCBhbHJlYWR5U3RhcnRlZCk7
CiAgICAgc2V0QXR0cmlidXRlcyhlbGVtZW50LmdldCgpLCB0b2tlbiwgbV9wYXJzZXJDb250ZW50
UG9saWN5KTsKICAgICBpZiAoc2NyaXB0aW5nQ29udGVudElzQWxsb3dlZChtX3BhcnNlckNvbnRl
bnRQb2xpY3kpKQotICAgICAgICBhdHRhY2hMYXRlcigmY3VycmVudE5vZGUoKSwgZWxlbWVudCk7
Ci0gICAgbV9vcGVuRWxlbWVudHMucHVzaChIVE1MU3RhY2tJdGVtOjpjcmVhdGUoZWxlbWVudC5y
ZWxlYXNlTm9uTnVsbCgpLCAqdG9rZW4pKTsKKyAgICAgICAgYXR0YWNoTGF0ZXIoJmN1cnJlbnRO
b2RlKCksIGVsZW1lbnQucHRyKCkpOworICAgIG1fb3BlbkVsZW1lbnRzLnB1c2goSFRNTFN0YWNr
SXRlbTo6Y3JlYXRlKFdURk1vdmUoZWxlbWVudCksICp0b2tlbikpOwogfQogCiB2b2lkIEhUTUxD
b25zdHJ1Y3Rpb25TaXRlOjppbnNlcnRGb3JlaWduRWxlbWVudChBdG9taWNIVE1MVG9rZW4qIHRv
a2VuLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSkKQEAgLTYxNSwxMiArNjE2LDEy
IEBAIHZvaWQgSFRNTENvbnN0cnVjdGlvblNpdGU6OnRha2VBbGxDaGlsZHIKICAgICBtX3Rhc2tR
dWV1ZS5hcHBlbmQodGFzayk7CiB9CiAKLVBhc3NSZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVj
dGlvblNpdGU6OmNyZWF0ZUVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbiwgY29uc3QgQXRv
bWljU3RyaW5nJiBuYW1lc3BhY2VVUkkpCitSZWY8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNp
dGU6OmNyZWF0ZUVsZW1lbnQoQXRvbWljSFRNTFRva2VuKiB0b2tlbiwgY29uc3QgQXRvbWljU3Ry
aW5nJiBuYW1lc3BhY2VVUkkpCiB7CiAgICAgUXVhbGlmaWVkTmFtZSB0YWdOYW1lKG51bGxBdG9t
LCB0b2tlbi0+bmFtZSgpLCBuYW1lc3BhY2VVUkkpOwotICAgIFJlZlB0cjxFbGVtZW50PiBlbGVt
ZW50ID0gb3duZXJEb2N1bWVudEZvckN1cnJlbnROb2RlKCkuY3JlYXRlRWxlbWVudCh0YWdOYW1l
LCB0cnVlKTsKKyAgICBSZWY8RWxlbWVudD4gZWxlbWVudCA9IG93bmVyRG9jdW1lbnRGb3JDdXJy
ZW50Tm9kZSgpLmNyZWF0ZUVsZW1lbnQodGFnTmFtZSwgdHJ1ZSk7CiAgICAgc2V0QXR0cmlidXRl
cyhlbGVtZW50LmdldCgpLCB0b2tlbiwgbV9wYXJzZXJDb250ZW50UG9saWN5KTsKLSAgICByZXR1
cm4gZWxlbWVudC5yZWxlYXNlKCk7CisgICAgcmV0dXJuIGVsZW1lbnQ7CiB9CiAKIGlubGluZSBE
b2N1bWVudCYgSFRNTENvbnN0cnVjdGlvblNpdGU6Om93bmVyRG9jdW1lbnRGb3JDdXJyZW50Tm9k
ZSgpCkBAIC02MzIsNyArNjMzLDcgQEAgaW5saW5lIERvY3VtZW50JiBIVE1MQ29uc3RydWN0aW9u
U2l0ZTo6bwogICAgIHJldHVybiBjdXJyZW50Tm9kZSgpLmRvY3VtZW50KCk7CiB9CiAKLVBhc3NS
ZWZQdHI8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6OmNyZWF0ZUhUTUxFbGVtZW50KEF0
b21pY0hUTUxUb2tlbiogdG9rZW4pCitSZWY8RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGU6
OmNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiogdG9rZW4pCiB7CiAgICAgUXVhbGlm
aWVkTmFtZSB0YWdOYW1lKG51bGxBdG9tLCB0b2tlbi0+bmFtZSgpLCB4aHRtbE5hbWVzcGFjZVVS
SSk7CiAgICAgLy8gRklYTUU6IFRoaXMgY2FuJ3QgdXNlIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpj
cmVhdGVFbGVtZW50IGJlY2F1c2Ugd2UKQEAgLTY0MSwyOSArNjQyLDI2IEBAIFBhc3NSZWZQdHI8
RWxlbWVudD4gSFRNTENvbnN0cnVjdGlvblNpdGUKICAgICAvLyBodHRwOi8vd3d3LndoYXR3Zy5v
cmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS90cmVlLWNvbnN0cnVjdGlv
bi5odG1sI2NyZWF0ZS1hbi1lbGVtZW50LWZvci10aGUtdG9rZW4KICAgICBEb2N1bWVudCYgb3du
ZXJEb2N1bWVudCA9IG93bmVyRG9jdW1lbnRGb3JDdXJyZW50Tm9kZSgpOwogICAgIGJvb2wgaW5z
aWRlVGVtcGxhdGVFbGVtZW50ID0gIW93bmVyRG9jdW1lbnQuZnJhbWUoKTsKLSAgICBSZWZQdHI8
RWxlbWVudD4gZWxlbWVudCA9IEhUTUxFbGVtZW50RmFjdG9yeTo6Y3JlYXRlRWxlbWVudCh0YWdO
YW1lLCBvd25lckRvY3VtZW50LCBpbnNpZGVUZW1wbGF0ZUVsZW1lbnQgPyBudWxscHRyIDogZm9y
bSgpLCB0cnVlKTsKKyAgICBSZWY8RWxlbWVudD4gZWxlbWVudCA9IEhUTUxFbGVtZW50RmFjdG9y
eTo6Y3JlYXRlRWxlbWVudCh0YWdOYW1lLCBvd25lckRvY3VtZW50LCBpbnNpZGVUZW1wbGF0ZUVs
ZW1lbnQgPyBudWxscHRyIDogZm9ybSgpLCB0cnVlKTsKICAgICAKICAgICAvLyBGSVhNRTogVGhp
cyBpcyBhIGhhY2sgdG8gY29ubmVjdCBpbWFnZXMgdG8gcGljdHVyZXMgYmVmb3JlIHRoZSBpbWFn
ZSBoYXMKICAgICAvLyBiZWVuIGluc2VydGVkIGludG8gdGhlIGRvY3VtZW50LiBJdCBjYW4gYmUg
cmVtb3ZlZCBvbmNlIGFzeW5jaHJvbm91cyBpbWFnZQogICAgIC8vIGxvYWRpbmcgaXMgd29ya2lu
Zy4KLSAgICBpZiAoaXM8SFRNTFBpY3R1cmVFbGVtZW50PihjdXJyZW50Tm9kZSgpKSAmJiBpczxI
VE1MSW1hZ2VFbGVtZW50PigqZWxlbWVudC5nZXQoKSkpCi0gICAgICAgIGRvd25jYXN0PEhUTUxJ
bWFnZUVsZW1lbnQ+KCplbGVtZW50LmdldCgpKS5zZXRQaWN0dXJlRWxlbWVudCgmZG93bmNhc3Q8
SFRNTFBpY3R1cmVFbGVtZW50PihjdXJyZW50Tm9kZSgpKSk7CisgICAgaWYgKGlzPEhUTUxQaWN0
dXJlRWxlbWVudD4oY3VycmVudE5vZGUoKSkgJiYgaXM8SFRNTEltYWdlRWxlbWVudD4oZWxlbWVu
dCkpCisgICAgICAgIGRvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KGVsZW1lbnQuZ2V0KCkpLnNl
dFBpY3R1cmVFbGVtZW50KCZkb3duY2FzdDxIVE1MUGljdHVyZUVsZW1lbnQ+KGN1cnJlbnROb2Rl
KCkpKTsKIAogICAgIHNldEF0dHJpYnV0ZXMoZWxlbWVudC5nZXQoKSwgdG9rZW4sIG1fcGFyc2Vy
Q29udGVudFBvbGljeSk7CiAgICAgQVNTRVJUKGVsZW1lbnQtPmlzSFRNTEVsZW1lbnQoKSk7Ci0g
ICAgcmV0dXJuIGVsZW1lbnQucmVsZWFzZSgpOworICAgIHJldHVybiBlbGVtZW50OwogfQogCi1Q
YXNzUmVmUHRyPEhUTUxTdGFja0l0ZW0+IEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjpjcmVhdGVFbGVt
ZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSogaXRlbSkKK1JlZjxIVE1MU3RhY2tJdGVt
PiBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6Y3JlYXRlRWxlbWVudEZyb21TYXZlZFRva2VuKEhUTUxT
dGFja0l0ZW0qIGl0ZW0pCiB7Ci0gICAgUmVmUHRyPEVsZW1lbnQ+IGVsZW1lbnQ7CiAgICAgLy8g
Tk9URTogTW92aW5nIGZyb20gaXRlbSAtPiB0b2tlbiAtPiBpdGVtIGNvcGllcyB0aGUgQXR0cmli
dXRlIHZlY3RvciB0d2ljZSEKICAgICBBdG9taWNIVE1MVG9rZW4gZmFrZVRva2VuKEhUTUxUb2tl
bjo6U3RhcnRUYWcsIGl0ZW0tPmxvY2FsTmFtZSgpLCBWZWN0b3I8QXR0cmlidXRlPihpdGVtLT5h
dHRyaWJ1dGVzKCkpKTsKLSAgICBpZiAoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5hbWVz
Ojp4aHRtbE5hbWVzcGFjZVVSSSkKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUhUTUxFbGVtZW50
KCZmYWtlVG9rZW4pOwotICAgIGVsc2UKLSAgICAgICAgZWxlbWVudCA9IGNyZWF0ZUVsZW1lbnQo
JmZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkpOwotICAgIHJldHVybiBIVE1MU3RhY2tJ
dGVtOjpjcmVhdGUoZWxlbWVudC5yZWxlYXNlTm9uTnVsbCgpLCBmYWtlVG9rZW4sIGl0ZW0tPm5h
bWVzcGFjZVVSSSgpKTsKKyAgICBBU1NFUlQoaXRlbS0+bmFtZXNwYWNlVVJJKCkgPT0gSFRNTE5h
bWVzOjp4aHRtbE5hbWVzcGFjZVVSSSk7CisgICAgQVNTRVJUKGlzRm9ybWF0dGluZ1RhZyhpdGVt
LT5sb2NhbE5hbWUoKSkpOworICAgIHJldHVybiBIVE1MU3RhY2tJdGVtOjpjcmVhdGUoY3JlYXRl
SFRNTEVsZW1lbnQoJmZha2VUb2tlbiksIGZha2VUb2tlbiwgaXRlbS0+bmFtZXNwYWNlVVJJKCkp
OwogfQogCiBib29sIEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppbmRleE9mRmlyc3RVbm9wZW5Gb3Jt
YXR0aW5nRWxlbWVudCh1bnNpZ25lZCYgZmlyc3RVbm9wZW5FbGVtZW50SW5kZXgpIGNvbnN0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1MQ29uc3RydWN0aW9uU2l0ZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hUTUxDb25zdHJ1Y3Rpb25T
aXRlLmgJKHJldmlzaW9uIDE5NTI4MSkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvcGFyc2VyL0hU
TUxDb25zdHJ1Y3Rpb25TaXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNCw3ICsxMjQsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBpbnNlcnRBbHJlYWR5UGFyc2VkQ2hpbGQoSFRNTFN0YWNrSXRlbSYg
bmV3UGFyZW50LCBIVE1MRWxlbWVudFN0YWNrOjpFbGVtZW50UmVjb3JkJiBjaGlsZCk7CiAgICAg
dm9pZCB0YWtlQWxsQ2hpbGRyZW4oSFRNTFN0YWNrSXRlbSYgbmV3UGFyZW50LCBIVE1MRWxlbWVu
dFN0YWNrOjpFbGVtZW50UmVjb3JkJiBvbGRQYXJlbnQpOwogCi0gICAgUGFzc1JlZlB0cjxIVE1M
U3RhY2tJdGVtPiBjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0YWNrSXRlbSopOwor
ICAgIFJlZjxIVE1MU3RhY2tJdGVtPiBjcmVhdGVFbGVtZW50RnJvbVNhdmVkVG9rZW4oSFRNTFN0
YWNrSXRlbSopOwogCiAgICAgYm9vbCBzaG91bGRGb3N0ZXJQYXJlbnQoKSBjb25zdDsKICAgICB2
b2lkIGZvc3RlclBhcmVudChQYXNzUmVmUHRyPE5vZGU+KTsKQEAgLTE4MCw2ICsxODAsOCBAQCBw
dWJsaWM6CiAgICAgICAgIGJvb2wgbV93YXNSZWRpcmVjdGluZ0JlZm9yZTsKICAgICB9OwogCisg
ICAgc3RhdGljIGJvb2wgaXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0b21pY1N0cmluZyYpOworCiBw
cml2YXRlOgogICAgIC8vIEluIHRoZSBjb21tb24gY2FzZSwgdGhpcyBxdWV1ZSB3aWxsIGhhdmUg
b25seSBvbmUgdGFzayBiZWNhdXNlIG1vc3QKICAgICAvLyB0b2tlbnMgcHJvZHVjZSBvbmx5IG9u
ZSBET00gbXV0YXRpb24uCkBAIC0xOTIsOCArMTk0LDggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQg
ZmluZEZvc3RlclNpdGUoSFRNTENvbnN0cnVjdGlvblNpdGVUYXNrJik7CiAKLSAgICBQYXNzUmVm
UHRyPEVsZW1lbnQ+IGNyZWF0ZUhUTUxFbGVtZW50KEF0b21pY0hUTUxUb2tlbiopOwotICAgIFBh
c3NSZWZQdHI8RWxlbWVudD4gY3JlYXRlRWxlbWVudChBdG9taWNIVE1MVG9rZW4qLCBjb25zdCBB
dG9taWNTdHJpbmcmIG5hbWVzcGFjZVVSSSk7CisgICAgUmVmPEVsZW1lbnQ+IGNyZWF0ZUhUTUxF
bGVtZW50KEF0b21pY0hUTUxUb2tlbiopOworICAgIFJlZjxFbGVtZW50PiBjcmVhdGVFbGVtZW50
KEF0b21pY0hUTUxUb2tlbiosIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlVVJJKTsKIAog
ICAgIHZvaWQgbWVyZ2VBdHRyaWJ1dGVzRnJvbVRva2VuSW50b0VsZW1lbnQoQXRvbWljSFRNTFRv
a2VuKiwgRWxlbWVudCopOwogICAgIHZvaWQgZGlzcGF0Y2hEb2N1bWVudEVsZW1lbnRBdmFpbGFi
bGVJZk5lZWRlZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9wYXJzZXIvSFRNTFRyZWVC
dWlsZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL3BhcnNlci9IVE1M
VHJlZUJ1aWxkZXIuY3BwCShyZXZpc2lvbiAxOTUyODEpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1s
L3BhcnNlci9IVE1MVHJlZUJ1aWxkZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjEsNyArMTIx
LDcgQEAgc3RhdGljIGJvb2wgaXNOb25BbmNob3JGb3JtYXR0aW5nVGFnKGNvbgogfQogCiAvLyBo
dHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zeW50YXguaHRtbCNmb3JtYXR0
aW5nCi1zdGF0aWMgYm9vbCBpc0Zvcm1hdHRpbmdUYWcoY29uc3QgQXRvbWljU3RyaW5nJiB0YWdO
YW1lKQorYm9vbCBIVE1MQ29uc3RydWN0aW9uU2l0ZTo6aXNGb3JtYXR0aW5nVGFnKGNvbnN0IEF0
b21pY1N0cmluZyYgdGFnTmFtZSkKIHsKICAgICByZXR1cm4gdGFnTmFtZSA9PSBhVGFnIHx8IGlz
Tm9uQW5jaG9yRm9ybWF0dGluZ1RhZyh0YWdOYW1lKTsKIH0KQEAgLTE4ODMsNyArMTg4Myw3IEBA
IHZvaWQgSFRNTFRyZWVCdWlsZGVyOjpwcm9jZXNzRW5kVGFnRm9ySW4KICAgICAgICAgbV90cmVl
Lm9wZW5FbGVtZW50cygpLnBvcFVudGlsTnVtYmVyZWRIZWFkZXJFbGVtZW50UG9wcGVkKCk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgaWYgKGlzRm9ybWF0dGluZ1RhZyh0b2tlbi5uYW1l
KCkpKSB7CisgICAgaWYgKEhUTUxDb25zdHJ1Y3Rpb25TaXRlOjppc0Zvcm1hdHRpbmdUYWcodG9r
ZW4ubmFtZSgpKSkgewogICAgICAgICBjYWxsVGhlQWRvcHRpb25BZ2VuY3kodG9rZW4pOwogICAg
ICAgICByZXR1cm47CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>