<?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>170204</bug_id>
          
          <creation_ts>2017-03-28 14:45:43 -0700</creation_ts>
          <short_desc>WebAssembly: Worklist should periodically check in to see if there are higher priority jobs to do.</short_desc>
          <delta_ts>2017-03-29 15:43:56 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jfbastien</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1292107</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-28 14:45:43 -0700</bug_when>
    <thetext>This could also happen in Plan.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292542</commentid>
    <comment_count>1</comment_count>
      <attachid>305777</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 13:29:04 -0700</bug_when>
    <thetext>Created attachment 305777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292545</commentid>
    <comment_count>2</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 13:29:44 -0700</bug_when>
    <thetext>WasmBench shows no regression from this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292546</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-03-29 13:30:22 -0700</bug_when>
    <thetext>Attachment 305777 did not pass style-queue:


ERROR: Source/JavaScriptCore/runtime/Options.h:514:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292548</commentid>
    <comment_count>4</comment_count>
      <attachid>305777</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-03-29 13:35:08 -0700</bug_when>
    <thetext>Comment on attachment 305777
Patch

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

&gt; Source/JavaScriptCore/wasm/WasmPlan.cpp:229
&gt; +    if (UNLIKELY(m_functionLocationInBinary.isEmpty())) {
&gt; +        // This is a weird and rare case. We need to lock here, though, otherwise
&gt; +        // one thread may Complete the Plan while another is moving to Compiled and
&gt; +        // we expect state to be monotonically increasing.
&gt; +        LockHolder locker(m_lock);
&gt; +        if (hasWork())
&gt; +            moveToState(State::Compiled);
&gt; +        return;
&gt; +    }

Why does the below code not gracefully handle this? Seems like it should Just Work</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292549</commentid>
    <comment_count>5</comment_count>
      <attachid>305777</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2017-03-29 13:36:08 -0700</bug_when>
    <thetext>Comment on attachment 305777
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:9
&gt; +        to it&apos;s caller. The main use for this is if a user asynchronously compiles a wasm module

typo: /it&apos;s/its/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292571</commentid>
    <comment_count>6</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 14:19:35 -0700</bug_when>
    <thetext>(In reply to Saam Barati from comment #4)
&gt; Comment on attachment 305777 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=305777&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/wasm/WasmPlan.cpp:229
&gt; &gt; +    if (UNLIKELY(m_functionLocationInBinary.isEmpty())) {
&gt; &gt; +        // This is a weird and rare case. We need to lock here, though, otherwise
&gt; &gt; +        // one thread may Complete the Plan while another is moving to Compiled and
&gt; &gt; +        // we expect state to be monotonically increasing.
&gt; &gt; +        LockHolder locker(m_lock);
&gt; &gt; +        if (hasWork())
&gt; &gt; +            moveToState(State::Compiled);
&gt; &gt; +        return;
&gt; &gt; +    }
&gt; 
&gt; Why does the below code not gracefully handle this? Seems like it should
&gt; Just Work

We need to make sure we move to the compiled state before we exit this function if there is no more work. Previously, this worked because if we didn&apos;t exit this function until everything was compiled so we would always call complete, which set the state to completed. Now, we need to check on exiting compileFunctions that there is still work so we need to accurately report that the function has finished compiling.

I think there is a simpler version of this code though, where we do hasWork() and moveToState inside the loop. I&apos;ll make that change though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292577</commentid>
    <comment_count>7</comment_count>
      <attachid>305790</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 14:25:10 -0700</bug_when>
    <thetext>Created attachment 305790
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292581</commentid>
    <comment_count>8</comment_count>
      <attachid>305792</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 14:30:24 -0700</bug_when>
    <thetext>Created attachment 305792
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292600</commentid>
    <comment_count>9</comment_count>
      <attachid>305792</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-29 15:12:28 -0700</bug_when>
    <thetext>Comment on attachment 305792
Patch for landing

Clearing flags on attachment: 305792

Committed r214566: &lt;http://trac.webkit.org/changeset/214566&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292601</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-29 15:12:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292610</commentid>
    <comment_count>11</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2017-03-29 15:41:42 -0700</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #9)
&gt; Comment on attachment 305792 [details]
&gt; Patch for landing
&gt; 
&gt; Clearing flags on attachment: 305792
&gt; 
&gt; Committed r214566: &lt;http://trac.webkit.org/changeset/214566&gt;

This change appears to have broken the Windows build: https://build.webkit.org/builders/Apple%20Win%20Release%20(Build)/builds/266</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1292611</commentid>
    <comment_count>12</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2017-03-29 15:43:56 -0700</bug_when>
    <thetext>(In reply to Ryan Haddad from comment #11)
&gt; (In reply to WebKit Commit Bot from comment #9)
&gt; &gt; Comment on attachment 305792 [details]
&gt; &gt; Patch for landing
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 305792
&gt; &gt; 
&gt; &gt; Committed r214566: &lt;http://trac.webkit.org/changeset/214566&gt;
&gt; 
&gt; This change appears to have broken the Windows build:
&gt; https://build.webkit.org/builders/Apple%20Win%20Release%20(Build)/builds/266

Weird, I&apos;ll take a look.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305777</attachid>
            <date>2017-03-29 13:29:04 -0700</date>
            <delta_ts>2017-03-29 14:25:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-170204-20170329132903.patch</filename>
            <type>text/plain</type>
            <size>8219</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZGRlYTkwOGEwYmY3NjNjNzQ2MjIwZTQ0OTg1M2Q2MmU4ODAwMDJkLi4zNGQ1NzBkMDQ3ZDAwMDZj
MGVhNTljNDFlOWU0Y2M4ZmYwNGJiODA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNy0wMy0yOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJBc3NlbWJseTogV29ya2xpc3Qgc2hvdWxkIHBlcmlvZGljYWxs
eSBjaGVjayBpbiB0byBzZWUgaWYgdGhlcmUgYXJlIGhpZ2hlciBwcmlvcml0eSBqb2JzIHRvIGRv
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBw
YXRjaCBtYWtlcyBpdCBzbyB0aGF0IFdhc206OlBsYW4ncyBjb21waWxlRnVuY3Rpb25zIG1ldGhv
ZCBjYW4gcmV0dXJuIHBlcmlvZGljYWxseQorICAgICAgICB0byBpdCdzIGNhbGxlci4gVGhlIG1h
aW4gdXNlIGZvciB0aGlzIGlzIGlmIGEgdXNlciBhc3luY2hyb25vdXNseSBjb21waWxlcyBhIHdh
c20gbW9kdWxlCisgICAgICAgIHRoZW4gbGF0ZXIgc3luY2hyb25vdXNseSBjb21waWxlcyBhbm90
aGVyIG1vZHVsZS4gSW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBwYXVzZQorICAg
ICAgICBjb21waWxhdGlvbiBvZiBvdGhlciB3b3JrbGlzdHMuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igc2l6ZV90IE9wdGlvbnMuCisKKyAgICAgICAgKiBydW50
aW1lL09wdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpwYXJzZSk6CisgICAgICAgIChKU0M6Ok9w
dGlvbjo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok9wdGlvbjo6b3BlcmF0b3I9PSk6CisgICAgICAg
ICogcnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogd2FzbS9XYXNtUGxhbi5jcHA6CisgICAg
ICAgIChKU0M6Oldhc206OlBsYW46Om1vdmVUb1N0YXRlKToKKyAgICAgICAgKEpTQzo6V2FzbTo6
UGxhbjo6VGhyZWFkQ291bnRIb2xkZXI6On5UaHJlYWRDb3VudEhvbGRlcik6CisgICAgICAgIChK
U0M6Oldhc206OlBsYW46OmNvbXBpbGVGdW5jdGlvbnMpOgorICAgICAgICAqIHdhc20vV2FzbVBs
YW4uaDoKKyAgICAgICAgKiB3YXNtL1dhc21Xb3JrbGlzdC5jcHA6CisKIDIwMTctMDMtMjkgIEpG
IEJhc3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBh
ZGQgc2hlbGwtb25seSBNZW1vcnkgbW9kZSBoZWxwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvT3B0aW9ucy5jcHAKaW5kZXggYmNlNTdiZmEwZTRjZmVlMTVhNmNkNmU4MjEyNmM3ODY0
ZjA3MjIxMy4uMmI2MGY3YWViZDczODVkMDYxNjg3ZmJlNWQ5NWYxZTZkODFkNmEyNyAxMDA2NDQK
LS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKQEAgLTg5LDYgKzg5LDExIEBA
IHN0YXRpYyBib29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQmIHZhbHVlKQog
ICAgIHJldHVybiBzc2NhbmYoc3RyaW5nLCAiJXUiLCAmdmFsdWUpID09IDE7CiB9CiAKK3N0YXRp
YyBib29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgc2l6ZV90JiB2YWx1ZSkKK3sKKyAgICBy
ZXR1cm4gc3NjYW5mKHN0cmluZywgIiV6dSIsICZ2YWx1ZSk7Cit9CisKIHN0YXRpYyBib29sIHBh
cnNlKGNvbnN0IGNoYXIqIHN0cmluZywgZG91YmxlJiB2YWx1ZSkKIHsKICAgICByZXR1cm4gc3Nj
YW5mKHN0cmluZywgIiVsZiIsICZ2YWx1ZSkgPT0gMTsKQEAgLTgxNCw2ICs4MTksOSBAQCB2b2lk
IE9wdGlvbjo6ZHVtcChTdHJpbmdCdWlsZGVyJiBidWlsZGVyKSBjb25zdAogICAgIGNhc2UgT3B0
aW9uczo6VHlwZTo6dW5zaWduZWRUeXBlOgogICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlciht
X2VudHJ5LnVuc2lnbmVkVmFsKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcHRpb25zOjpU
eXBlOjpzaXplVHlwZToKKyAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9lbnRyeS5zaXpl
VmFsKTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPcHRpb25zOjpUeXBlOjpkb3VibGVUeXBl
OgogICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2VudHJ5LmRvdWJsZVZhbCk7CiAgICAg
ICAgIGJyZWFrOwpAQCAtODQ2LDYgKzg1NCw4IEBAIGJvb2wgT3B0aW9uOjpvcGVyYXRvcj09KGNv
bnN0IE9wdGlvbiYgb3RoZXIpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2VudHJ5LmJvb2xWYWwg
PT0gb3RoZXIubV9lbnRyeS5ib29sVmFsOwogICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6dW5zaWdu
ZWRUeXBlOgogICAgICAgICByZXR1cm4gbV9lbnRyeS51bnNpZ25lZFZhbCA9PSBvdGhlci5tX2Vu
dHJ5LnVuc2lnbmVkVmFsOworICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6c2l6ZVR5cGU6CisgICAg
ICAgIHJldHVybiBtX2VudHJ5LnNpemVWYWwgPT0gb3RoZXIubV9lbnRyeS5zaXplVmFsOwogICAg
IGNhc2UgT3B0aW9uczo6VHlwZTo6ZG91YmxlVHlwZToKICAgICAgICAgcmV0dXJuIChtX2VudHJ5
LmRvdWJsZVZhbCA9PSBvdGhlci5tX2VudHJ5LmRvdWJsZVZhbCkgfHwgKHN0ZDo6aXNuYW4obV9l
bnRyeS5kb3VibGVWYWwpICYmIHN0ZDo6aXNuYW4ob3RoZXIubV9lbnRyeS5kb3VibGVWYWwpKTsK
ICAgICBjYXNlIE9wdGlvbnM6OlR5cGU6OmludDMyVHlwZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09wdGlvbnMuaAppbmRleCBlOGFiMWVlNGNiYzI2YTVhMTM1NWNlZTJhMDNjYzZjY2Nk
YjE5MzY2Li42N2I5MGUzNzQyNDg5YTBhNzlkYTc3YzllYmNjODI3NmMyMzUxNDBlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00MzEsNiArNDMxLDcgQEAgdHlw
ZWRlZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB1c2VXZWJBc3NlbWJs
eSwgdHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWJBc3NlbWJseSBnbG9iYWwgb2JqZWN0LiIp
IFwKICAgICBcCiAgICAgdihib29sLCBmYWlsVG9Db21waWxlV2ViQXNzZW1ibHlDb2RlLCBmYWxz
ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgbm8gV2FzbTo6UGxhbiB3aWxsIHN1Y2Vzc2Z1bGx5IGNvbXBp
bGUgYSBmdW5jdGlvbi4iKSBcCisgICAgdihzaXplLCB3ZWJBc3NlbWJseVBhcnRpYWxDb21waWxl
TGltaXQsIDUwMDAsIE5vcm1hbCwgIkxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYnl0ZXMgYSBXYXNt
OjpQbGFuOjpjb21waWxlIHNob3VsZCBhdHRlbXB0IGJlZm9yZSBjaGVja2luZyBmb3Igb3RoZXIg
d29yay4iKSBcCiAgICAgXAogICAgIHYoYm9vbCwgc2ltdWxhdGVXZWJBc3NlbWJseUxvd01lbW9y
eSwgZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHRoZSBNZW1vcnkgb2JqZWN0IHdvbid0IG1tYXAg
dGhlIGZ1bGwgJ21heGltdW0nIHJhbmdlIGFuZCBpbnN0ZWFkIHdpbGwgYWxsb2NhdGUgdGhlIG1p
bmltdW0gcmVxdWlyZWQgYW1vdW50LiIpIFwKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5RmFz
dE1lbW9yeSwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB0cnkgdG8gdXNlIGEgMzIt
Yml0IGFkZHJlc3Mgc3BhY2Ugd2l0aCBhIHNpZ25hbCBoYW5kbGVyIHRvIGJvdW5kcyBjaGVjayB3
YXNtIG1lbW9yeS4iKSBcCkBAIC00OTQsNiArNDk1LDcgQEAgcHVibGljOgogICAgIC8vIFRoaXMg
dHlwZWRlZiBpcyB0byBhbGxvdyB1cyB0byBlbGltaW5hdGUgdGhlICdfJyBpbiB0aGUgZmllbGQg
bmFtZSBpbgogICAgIC8vIHVuaW9uIGluc2lkZSBFbnRyeS4gVGhpcyBpcyBuZWVkZWQgdG8ga2Vl
cCB0aGUgc3R5bGUgY2hlY2tlciBoYXBweS4KICAgICB0eXBlZGVmIGludDMyX3QgaW50MzI7Cisg
ICAgdHlwZWRlZiBzaXplX3Qgc2l6ZTsKIAogICAgIC8vIERlY2xhcmUgdGhlIG9wdGlvbiBJRHM6
CiAgICAgZW51bSBJRCB7CkBAIC01MDksNiArNTExLDcgQEAgcHVibGljOgogICAgICAgICB1bnNp
Z25lZFR5cGUsCiAgICAgICAgIGRvdWJsZVR5cGUsCiAgICAgICAgIGludDMyVHlwZSwKKyAgICAg
ICAgc2l6ZVR5cGUsCiAgICAgICAgIG9wdGlvblJhbmdlVHlwZSwKICAgICAgICAgb3B0aW9uU3Ry
aW5nVHlwZSwKICAgICAgICAgZ2NMb2dMZXZlbFR5cGUsCkBAIC01NDgsNiArNTUxLDcgQEAgcHJp
dmF0ZToKICAgICAgICAgdW5zaWduZWQgdW5zaWduZWRWYWw7CiAgICAgICAgIGRvdWJsZSBkb3Vi
bGVWYWw7CiAgICAgICAgIGludDMyIGludDMyVmFsOworICAgICAgICBzaXplIHNpemVWYWw7CiAg
ICAgICAgIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlVmFsOwogICAgICAgICBjb25zdCBjaGFyKiBv
cHRpb25TdHJpbmdWYWw7CiAgICAgICAgIEdDTG9nZ2luZzo6TGV2ZWwgZ2NMb2dMZXZlbFZhbDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmNwcAppbmRleCAzODUzODJkYmE0ZWQw
NTJmYjUyZWYyOGZmODA4Y2Y0MDJjMDA0ZmUzLi40YzFiM2Y4Mjc3OGRjMmJiYzlhZGMwZGY5MWJi
MTMwYzlkMWUzZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNt
UGxhbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uY3BwCkBA
IC04Myw4ICs4Myw4IEBAIGNvbnN0IGNoYXIqIFBsYW46OnN0YXRlU3RyaW5nKFN0YXRlIHN0YXRl
KQogCiB2b2lkIFBsYW46Om1vdmVUb1N0YXRlKFN0YXRlIHN0YXRlKQogewotICAgIEFTU0VSVChz
dGF0ZSA+IG1fc3RhdGUpOwotICAgIGRhdGFMb2dMbklmKHZlcmJvc2UsICJtb3ZpbmcgdG8gc3Rh
dGU6ICIsIHN0YXRlU3RyaW5nKHN0YXRlKSwgIiBmcm9tIHN0YXRlOiAiLCBzdGF0ZVN0cmluZyht
X3N0YXRlKSk7CisgICAgQVNTRVJUKHN0YXRlID49IG1fc3RhdGUpOworICAgIGRhdGFMb2dMbklm
KHZlcmJvc2UgJiYgc3RhdGUgIT0gbV9zdGF0ZSwgIm1vdmluZyB0byBzdGF0ZTogIiwgc3RhdGVT
dHJpbmcoc3RhdGUpLCAiIGZyb20gc3RhdGU6ICIsIHN0YXRlU3RyaW5nKG1fc3RhdGUpKTsKICAg
ICBtX3N0YXRlID0gc3RhdGU7CiB9CiAKQEAgLTIwMSwyMyArMjAxLDM4IEBAIHB1YmxpYzoKICAg
ICAgICAgTG9ja0hvbGRlciBsb2NrZXIobV9wbGFuLm1fbG9jayk7CiAgICAgICAgIG1fcGxhbi5t
X251bWJlck9mQWN0aXZlVGhyZWFkcy0tOwogCi0gICAgICAgIGlmICghbV9wbGFuLm1fbnVtYmVy
T2ZBY3RpdmVUaHJlYWRzKQorICAgICAgICBpZiAoIW1fcGxhbi5tX251bWJlck9mQWN0aXZlVGhy
ZWFkcyAmJiAhbV9wbGFuLmhhc1dvcmsoKSkKICAgICAgICAgICAgIG1fcGxhbi5jb21wbGV0ZShs
b2NrZXIpOwogICAgIH0KIAogICAgIFBsYW4mIG1fcGxhbjsKIH07CiAKLXZvaWQgUGxhbjo6Y29t
cGlsZUZ1bmN0aW9ucygpCit2b2lkIFBsYW46OmNvbXBpbGVGdW5jdGlvbnMoQ29tcGlsYXRpb25F
ZmZvcnQgZWZmb3J0KQogewogICAgIEFTU0VSVChtX3N0YXRlID49IFN0YXRlOjpQcmVwYXJlZCk7
CiAgICAgZGF0YUxvZ0xuSWYodmVyYm9zZSwgIlN0YXJ0aW5nIGNvbXBpbGF0aW9uIik7CiAKLSAg
ICBpZiAobV9zdGF0ZSA+PSBTdGF0ZTo6Q29tcGlsZWQpCisgICAgaWYgKCFoYXNXb3JrKCkpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIFRocmVhZENvdW50SG9sZGVyIGhvbGRlcigqdGhpcyk7CisK
KyAgICBpZiAoVU5MSUtFTFkobV9mdW5jdGlvbkxvY2F0aW9uSW5CaW5hcnkuaXNFbXB0eSgpKSkg
eworICAgICAgICAvLyBUaGlzIGlzIGEgd2VpcmQgYW5kIHJhcmUgY2FzZS4gV2UgbmVlZCB0byBs
b2NrIGhlcmUsIHRob3VnaCwgb3RoZXJ3aXNlCisgICAgICAgIC8vIG9uZSB0aHJlYWQgbWF5IENv
bXBsZXRlIHRoZSBQbGFuIHdoaWxlIGFub3RoZXIgaXMgbW92aW5nIHRvIENvbXBpbGVkIGFuZAor
ICAgICAgICAvLyB3ZSBleHBlY3Qgc3RhdGUgdG8gYmUgbW9ub3RvbmljYWxseSBpbmNyZWFzaW5n
LgorICAgICAgICBMb2NrSG9sZGVyIGxvY2tlcihtX2xvY2spOworICAgICAgICBpZiAoaGFzV29y
aygpKQorICAgICAgICAgICAgbW92ZVRvU3RhdGUoU3RhdGU6OkNvbXBpbGVkKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIHNpemVfdCBieXRlc0NvbXBpbGVkID0gMDsKICAgICB3aGls
ZSAodHJ1ZSkgeworICAgICAgICBpZiAoZWZmb3J0ID09IFBhcnRpYWwgJiYgYnl0ZXNDb21waWxl
ZCA+PSBPcHRpb25zOjp3ZWJBc3NlbWJseVBhcnRpYWxDb21waWxlTGltaXQoKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKwogICAgICAgICB1aW50MzJfdCBmdW5jdGlvbkluZGV4OwogICAgICAgICB7
CiAgICAgICAgICAgICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1fbG9jayk7CkBAIC0yNTIsNiAr
MjY3LDcgQEAgdm9pZCBQbGFuOjpjb21waWxlRnVuY3Rpb25zKCkKICAgICAgICAgfQogCiAgICAg
ICAgIG1fd2FzbUludGVybmFsRnVuY3Rpb25zW2Z1bmN0aW9uSW5kZXhdID0gV1RGTW92ZSgqcGFy
c2VBbmRDb21waWxlUmVzdWx0KTsKKyAgICAgICAgYnl0ZXNDb21waWxlZCArPSBmdW5jdGlvbkxl
bmd0aDsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21QbGFuLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5oCmluZGV4
IDlkYjE0ZWE2OTU5YTU3NjJhOGMzOWM4M2YyN2RiZjg5NWMyMzRhNzAuLjYzMjEyOGRhYzYyN2Y4
NWU3N2M4Y2M3MmExZGYxZDRiNGYwYmU2NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93YXNtL1dhc21QbGFuLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bVBsYW4uaApAQCAtNTgsNyArNTgsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBwYXJzZUFuZFZhbGlk
YXRlTW9kdWxlKCk7CiAKICAgICBKU19FWFBPUlRfUFJJVkFURSB2b2lkIHByZXBhcmUoKTsKLSAg
ICB2b2lkIGNvbXBpbGVGdW5jdGlvbnMoKTsKKyAgICBlbnVtIENvbXBpbGF0aW9uRWZmb3J0IHsg
QWxsLCBQYXJ0aWFsIH07CisgICAgdm9pZCBjb21waWxlRnVuY3Rpb25zKENvbXBpbGF0aW9uRWZm
b3J0ID0gQWxsKTsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+CiAgICAgdm9pZCBp
bml0aWFsaXplQ2FsbGVlcyhjb25zdCBGdW5jdG9yJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbVdvcmtsaXN0LmNwcAppbmRleCA5ZTE3NmY3YmM4NzNhYmU1MDM1NTIyNDk0NzRl
YjZiNmEzNzI4NzBkLi4wNDM2ZGIwMTE2YzNmY2QxODdlODEzMzkwOGE5MDU0MmFjNWViNGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAKQEAgLTExNCw3
ICsxMTQsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgLy8gRklYTUU6IHRoaXMgc2hvdWxkIGNo
ZWNrIGluIG9jY2FzaW9uYWxseSB0byBzZWUgaWYgdGhlcmUgYXJlIG5ldywgaGlnaGVyIHByaW9y
aXR5IGUuZy4gc3luY2hyb25vdXMsIHBsYW5zIHRoYXQgbmVlZCB0byBiZSBydW4uCiAgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzAyMDQKLSAgICAg
ICAgcGxhbi0+Y29tcGlsZUZ1bmN0aW9ucygpOworICAgICAgICBwbGFuLT5jb21waWxlRnVuY3Rp
b25zKFBsYW46OlBhcnRpYWwpOwogICAgICAgICBBU1NFUlQoIXBsYW4tPmhhc1dvcmsoKSk7CiAK
ICAgICAgICAgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305790</attachid>
            <date>2017-03-29 14:25:10 -0700</date>
            <delta_ts>2017-03-29 14:30:21 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-170204-20170329142509.patch</filename>
            <type>text/plain</type>
            <size>8371</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZGRlYTkwOGEwYmY3NjNjNzQ2MjIwZTQ0OTg1M2Q2MmU4ODAwMDJkLi4wMmVlYTliM2JlZjZhN2Rm
OGFjOTRmMjY0YjFjZDRlODcwMjFjOGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNy0wMy0yOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJBc3NlbWJseTogV29ya2xpc3Qgc2hvdWxkIHBlcmlvZGljYWxs
eSBjaGVjayBpbiB0byBzZWUgaWYgdGhlcmUgYXJlIGhpZ2hlciBwcmlvcml0eSBqb2JzIHRvIGRv
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtYWtlcyBpdCBzbyB0aGF0IFdhc206OlBsYW4ncyBjb21waWxlRnVuY3Rpb25zIG1ldGhvZCBj
YW4gcmV0dXJuIHBlcmlvZGljYWxseQorICAgICAgICB0byBpdCdzIGNhbGxlci4gVGhlIG1haW4g
dXNlIGZvciB0aGlzIGlzIGlmIGEgdXNlciBhc3luY2hyb25vdXNseSBjb21waWxlcyBhIHdhc20g
bW9kdWxlCisgICAgICAgIHRoZW4gbGF0ZXIgc3luY2hyb25vdXNseSBjb21waWxlcyBhbm90aGVy
IG1vZHVsZS4gSW4gdGhpcyBjYXNlIHdlIHdhbnQgdG8gYmUgYWJsZSB0byBwYXVzZQorICAgICAg
ICBjb21waWxhdGlvbiBvZiBvdGhlciB3b3JrbGlzdHMuCisKKyAgICAgICAgVGhpcyBwYXRjaCBh
bHNvIGFkZHMgc3VwcG9ydCBmb3Igc2l6ZV90IE9wdGlvbnMuCisKKyAgICAgICAgKiBydW50aW1l
L09wdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpwYXJzZSk6CisgICAgICAgIChKU0M6Ok9wdGlv
bjo6ZHVtcCk6CisgICAgICAgIChKU0M6Ok9wdGlvbjo6b3BlcmF0b3I9PSk6CisgICAgICAgICog
cnVudGltZS9PcHRpb25zLmg6CisgICAgICAgICogd2FzbS9XYXNtUGxhbi5jcHA6CisgICAgICAg
IChKU0M6Oldhc206OlBsYW46Om1vdmVUb1N0YXRlKToKKyAgICAgICAgKEpTQzo6V2FzbTo6UGxh
bjo6VGhyZWFkQ291bnRIb2xkZXI6On5UaHJlYWRDb3VudEhvbGRlcik6CisgICAgICAgIChKU0M6
Oldhc206OlBsYW46OmNvbXBpbGVGdW5jdGlvbnMpOgorICAgICAgICAqIHdhc20vV2FzbVBsYW4u
aDoKKyAgICAgICAgKiB3YXNtL1dhc21Xb3JrbGlzdC5jcHA6CisKIDIwMTctMDMtMjkgIEpGIEJh
c3RpZW4gIDxqZmJhc3RpZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkFzc2VtYmx5OiBhZGQg
c2hlbGwtb25seSBNZW1vcnkgbW9kZSBoZWxwZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL09wdGlvbnMuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5jcHAKaW5kZXggYmNlNTdiZmEwZTRjZmVlMTVhNmNkNmU4MjEyNmM3ODY0ZjA3
MjIxMy4uMmI2MGY3YWViZDczODVkMDYxNjg3ZmJlNWQ5NWYxZTZkODFkNmEyNyAxMDA2NDQKLS0t
IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKKysrIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAKQEAgLTg5LDYgKzg5LDExIEBAIHN0
YXRpYyBib29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgdW5zaWduZWQmIHZhbHVlKQogICAg
IHJldHVybiBzc2NhbmYoc3RyaW5nLCAiJXUiLCAmdmFsdWUpID09IDE7CiB9CiAKK3N0YXRpYyBi
b29sIHBhcnNlKGNvbnN0IGNoYXIqIHN0cmluZywgc2l6ZV90JiB2YWx1ZSkKK3sKKyAgICByZXR1
cm4gc3NjYW5mKHN0cmluZywgIiV6dSIsICZ2YWx1ZSk7Cit9CisKIHN0YXRpYyBib29sIHBhcnNl
KGNvbnN0IGNoYXIqIHN0cmluZywgZG91YmxlJiB2YWx1ZSkKIHsKICAgICByZXR1cm4gc3NjYW5m
KHN0cmluZywgIiVsZiIsICZ2YWx1ZSkgPT0gMTsKQEAgLTgxNCw2ICs4MTksOSBAQCB2b2lkIE9w
dGlvbjo6ZHVtcChTdHJpbmdCdWlsZGVyJiBidWlsZGVyKSBjb25zdAogICAgIGNhc2UgT3B0aW9u
czo6VHlwZTo6dW5zaWduZWRUeXBlOgogICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2Vu
dHJ5LnVuc2lnbmVkVmFsKTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBPcHRpb25zOjpUeXBl
OjpzaXplVHlwZToKKyAgICAgICAgYnVpbGRlci5hcHBlbmROdW1iZXIobV9lbnRyeS5zaXplVmFs
KTsKKyAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBPcHRpb25zOjpUeXBlOjpkb3VibGVUeXBlOgog
ICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2VudHJ5LmRvdWJsZVZhbCk7CiAgICAgICAg
IGJyZWFrOwpAQCAtODQ2LDYgKzg1NCw4IEBAIGJvb2wgT3B0aW9uOjpvcGVyYXRvcj09KGNvbnN0
IE9wdGlvbiYgb3RoZXIpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX2VudHJ5LmJvb2xWYWwgPT0g
b3RoZXIubV9lbnRyeS5ib29sVmFsOwogICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6dW5zaWduZWRU
eXBlOgogICAgICAgICByZXR1cm4gbV9lbnRyeS51bnNpZ25lZFZhbCA9PSBvdGhlci5tX2VudHJ5
LnVuc2lnbmVkVmFsOworICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6c2l6ZVR5cGU6CisgICAgICAg
IHJldHVybiBtX2VudHJ5LnNpemVWYWwgPT0gb3RoZXIubV9lbnRyeS5zaXplVmFsOwogICAgIGNh
c2UgT3B0aW9uczo6VHlwZTo6ZG91YmxlVHlwZToKICAgICAgICAgcmV0dXJuIChtX2VudHJ5LmRv
dWJsZVZhbCA9PSBvdGhlci5tX2VudHJ5LmRvdWJsZVZhbCkgfHwgKHN0ZDo6aXNuYW4obV9lbnRy
eS5kb3VibGVWYWwpICYmIHN0ZDo6aXNuYW4ob3RoZXIubV9lbnRyeS5kb3VibGVWYWwpKTsKICAg
ICBjYXNlIE9wdGlvbnM6OlR5cGU6OmludDMyVHlwZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09wdGlvbnMuaAppbmRleCBlOGFiMWVlNGNiYzI2YTVhMTM1NWNlZTJhMDNjYzZjY2NkYjE5
MzY2Li42N2I5MGUzNzQyNDg5YTBhNzlkYTc3YzllYmNjODI3NmMyMzUxNDBlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCkBAIC00MzEsNiArNDMxLDcgQEAgdHlwZWRl
ZiBjb25zdCBjaGFyKiBvcHRpb25TdHJpbmc7CiAgICAgdihib29sLCB1c2VXZWJBc3NlbWJseSwg
dHJ1ZSwgTm9ybWFsLCAiRXhwb3NlIHRoZSBXZWJBc3NlbWJseSBnbG9iYWwgb2JqZWN0LiIpIFwK
ICAgICBcCiAgICAgdihib29sLCBmYWlsVG9Db21waWxlV2ViQXNzZW1ibHlDb2RlLCBmYWxzZSwg
Tm9ybWFsLCAiSWYgdHJ1ZSwgbm8gV2FzbTo6UGxhbiB3aWxsIHN1Y2Vzc2Z1bGx5IGNvbXBpbGUg
YSBmdW5jdGlvbi4iKSBcCisgICAgdihzaXplLCB3ZWJBc3NlbWJseVBhcnRpYWxDb21waWxlTGlt
aXQsIDUwMDAsIE5vcm1hbCwgIkxpbWl0IG9uIHRoZSBudW1iZXIgb2YgYnl0ZXMgYSBXYXNtOjpQ
bGFuOjpjb21waWxlIHNob3VsZCBhdHRlbXB0IGJlZm9yZSBjaGVja2luZyBmb3Igb3RoZXIgd29y
ay4iKSBcCiAgICAgXAogICAgIHYoYm9vbCwgc2ltdWxhdGVXZWJBc3NlbWJseUxvd01lbW9yeSwg
ZmFsc2UsIE5vcm1hbCwgIklmIHRydWUsIHRoZSBNZW1vcnkgb2JqZWN0IHdvbid0IG1tYXAgdGhl
IGZ1bGwgJ21heGltdW0nIHJhbmdlIGFuZCBpbnN0ZWFkIHdpbGwgYWxsb2NhdGUgdGhlIG1pbmlt
dW0gcmVxdWlyZWQgYW1vdW50LiIpIFwKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5RmFzdE1l
bW9yeSwgdHJ1ZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgd2Ugd2lsbCB0cnkgdG8gdXNlIGEgMzItYml0
IGFkZHJlc3Mgc3BhY2Ugd2l0aCBhIHNpZ25hbCBoYW5kbGVyIHRvIGJvdW5kcyBjaGVjayB3YXNt
IG1lbW9yeS4iKSBcCkBAIC00OTQsNiArNDk1LDcgQEAgcHVibGljOgogICAgIC8vIFRoaXMgdHlw
ZWRlZiBpcyB0byBhbGxvdyB1cyB0byBlbGltaW5hdGUgdGhlICdfJyBpbiB0aGUgZmllbGQgbmFt
ZSBpbgogICAgIC8vIHVuaW9uIGluc2lkZSBFbnRyeS4gVGhpcyBpcyBuZWVkZWQgdG8ga2VlcCB0
aGUgc3R5bGUgY2hlY2tlciBoYXBweS4KICAgICB0eXBlZGVmIGludDMyX3QgaW50MzI7CisgICAg
dHlwZWRlZiBzaXplX3Qgc2l6ZTsKIAogICAgIC8vIERlY2xhcmUgdGhlIG9wdGlvbiBJRHM6CiAg
ICAgZW51bSBJRCB7CkBAIC01MDksNiArNTExLDcgQEAgcHVibGljOgogICAgICAgICB1bnNpZ25l
ZFR5cGUsCiAgICAgICAgIGRvdWJsZVR5cGUsCiAgICAgICAgIGludDMyVHlwZSwKKyAgICAgICAg
c2l6ZVR5cGUsCiAgICAgICAgIG9wdGlvblJhbmdlVHlwZSwKICAgICAgICAgb3B0aW9uU3RyaW5n
VHlwZSwKICAgICAgICAgZ2NMb2dMZXZlbFR5cGUsCkBAIC01NDgsNiArNTUxLDcgQEAgcHJpdmF0
ZToKICAgICAgICAgdW5zaWduZWQgdW5zaWduZWRWYWw7CiAgICAgICAgIGRvdWJsZSBkb3VibGVW
YWw7CiAgICAgICAgIGludDMyIGludDMyVmFsOworICAgICAgICBzaXplIHNpemVWYWw7CiAgICAg
ICAgIE9wdGlvblJhbmdlIG9wdGlvblJhbmdlVmFsOwogICAgICAgICBjb25zdCBjaGFyKiBvcHRp
b25TdHJpbmdWYWw7CiAgICAgICAgIEdDTG9nZ2luZzo6TGV2ZWwgZ2NMb2dMZXZlbFZhbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmNwcAppbmRleCAzODUzODJkYmE0ZWQwNTJm
YjUyZWYyOGZmODA4Y2Y0MDJjMDA0ZmUzLi4xZGRjNjkzMmY5MGY3NmY0MzQxMjBlZjQ4MGQ5YmQ1
ZGMzODYwZTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxh
bi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uY3BwCkBAIC04
Myw4ICs4Myw4IEBAIGNvbnN0IGNoYXIqIFBsYW46OnN0YXRlU3RyaW5nKFN0YXRlIHN0YXRlKQog
CiB2b2lkIFBsYW46Om1vdmVUb1N0YXRlKFN0YXRlIHN0YXRlKQogewotICAgIEFTU0VSVChzdGF0
ZSA+IG1fc3RhdGUpOwotICAgIGRhdGFMb2dMbklmKHZlcmJvc2UsICJtb3ZpbmcgdG8gc3RhdGU6
ICIsIHN0YXRlU3RyaW5nKHN0YXRlKSwgIiBmcm9tIHN0YXRlOiAiLCBzdGF0ZVN0cmluZyhtX3N0
YXRlKSk7CisgICAgQVNTRVJUKHN0YXRlID49IG1fc3RhdGUpOworICAgIGRhdGFMb2dMbklmKHZl
cmJvc2UgJiYgc3RhdGUgIT0gbV9zdGF0ZSwgIm1vdmluZyB0byBzdGF0ZTogIiwgc3RhdGVTdHJp
bmcoc3RhdGUpLCAiIGZyb20gc3RhdGU6ICIsIHN0YXRlU3RyaW5nKG1fc3RhdGUpKTsKICAgICBt
X3N0YXRlID0gc3RhdGU7CiB9CiAKQEAgLTIwMSwzMiArMjAxLDM4IEBAIHB1YmxpYzoKICAgICAg
ICAgTG9ja0hvbGRlciBsb2NrZXIobV9wbGFuLm1fbG9jayk7CiAgICAgICAgIG1fcGxhbi5tX251
bWJlck9mQWN0aXZlVGhyZWFkcy0tOwogCi0gICAgICAgIGlmICghbV9wbGFuLm1fbnVtYmVyT2ZB
Y3RpdmVUaHJlYWRzKQorICAgICAgICBpZiAoIW1fcGxhbi5tX251bWJlck9mQWN0aXZlVGhyZWFk
cyAmJiAhbV9wbGFuLmhhc1dvcmsoKSkKICAgICAgICAgICAgIG1fcGxhbi5jb21wbGV0ZShsb2Nr
ZXIpOwogICAgIH0KIAogICAgIFBsYW4mIG1fcGxhbjsKIH07CiAKLXZvaWQgUGxhbjo6Y29tcGls
ZUZ1bmN0aW9ucygpCit2b2lkIFBsYW46OmNvbXBpbGVGdW5jdGlvbnMoQ29tcGlsYXRpb25FZmZv
cnQgZWZmb3J0KQogewogICAgIEFTU0VSVChtX3N0YXRlID49IFN0YXRlOjpQcmVwYXJlZCk7CiAg
ICAgZGF0YUxvZ0xuSWYodmVyYm9zZSwgIlN0YXJ0aW5nIGNvbXBpbGF0aW9uIik7CiAKLSAgICBp
ZiAobV9zdGF0ZSA+PSBTdGF0ZTo6Q29tcGlsZWQpCisgICAgaWYgKCFoYXNXb3JrKCkpCiAgICAg
ICAgIHJldHVybjsKIAogICAgIFRocmVhZENvdW50SG9sZGVyIGhvbGRlcigqdGhpcyk7CisKKyAg
ICBzaXplX3QgYnl0ZXNDb21waWxlZCA9IDA7CiAgICAgd2hpbGUgKHRydWUpIHsKKyAgICAgICAg
aWYgKGVmZm9ydCA9PSBQYXJ0aWFsICYmIGJ5dGVzQ29tcGlsZWQgPj0gT3B0aW9uczo6d2ViQXNz
ZW1ibHlQYXJ0aWFsQ29tcGlsZUxpbWl0KCkpCisgICAgICAgICAgICByZXR1cm47CisKICAgICAg
ICAgdWludDMyX3QgZnVuY3Rpb25JbmRleDsKICAgICAgICAgewogICAgICAgICAgICAgYXV0byBs
b2NrZXIgPSBob2xkTG9jayhtX2xvY2spOwotICAgICAgICAgICAgaWYgKG1fY3VycmVudEluZGV4
ID49IG1fZnVuY3Rpb25Mb2NhdGlvbkluQmluYXJ5LnNpemUoKSkKKyAgICAgICAgICAgIGlmICht
X2N1cnJlbnRJbmRleCA+PSBtX2Z1bmN0aW9uTG9jYXRpb25JbkJpbmFyeS5zaXplKCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoaGFzV29yaygpKQorICAgICAgICAgICAgICAgICAgICBtb3ZlVG9T
dGF0ZShTdGF0ZTo6Q29tcGlsZWQpOwogICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIGZ1bmN0aW9uSW5kZXggPSBtX2N1cnJlbnRJbmRleDsKICAgICAg
ICAgICAgICsrbV9jdXJyZW50SW5kZXg7Ci0gICAgICAgICAgICBpZiAobV9jdXJyZW50SW5kZXgg
PT0gbV9mdW5jdGlvbkxvY2F0aW9uSW5CaW5hcnkuc2l6ZSgpKQotICAgICAgICAgICAgICAgIG1v
dmVUb1N0YXRlKFN0YXRlOjpDb21waWxlZCk7CiAgICAgICAgIH0KIAogICAgICAgICBjb25zdCB1
aW50OF90KiBmdW5jdGlvblN0YXJ0ID0gbV9zb3VyY2UgKyBtX2Z1bmN0aW9uTG9jYXRpb25JbkJp
bmFyeVtmdW5jdGlvbkluZGV4XS5zdGFydDsKQEAgLTI1Miw2ICsyNTgsNyBAQCB2b2lkIFBsYW46
OmNvbXBpbGVGdW5jdGlvbnMoKQogICAgICAgICB9CiAKICAgICAgICAgbV93YXNtSW50ZXJuYWxG
dW5jdGlvbnNbZnVuY3Rpb25JbmRleF0gPSBXVEZNb3ZlKCpwYXJzZUFuZENvbXBpbGVSZXN1bHQp
OworICAgICAgICBieXRlc0NvbXBpbGVkICs9IGZ1bmN0aW9uTGVuZ3RoOwogICAgIH0KIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmgKaW5kZXggOWRiMTRlYTY5NTlhNTc2MmE4
YzM5YzgzZjI3ZGJmODk1YzIzNGE3MC4uNjMyMTI4ZGFjNjI3Zjg1ZTc3YzhjYzcyYTFkZjFkNGI0
ZjBiZTY0YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4u
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5oCkBAIC01OCw3ICs1
OCw4IEBAIHB1YmxpYzoKICAgICBib29sIHBhcnNlQW5kVmFsaWRhdGVNb2R1bGUoKTsKIAogICAg
IEpTX0VYUE9SVF9QUklWQVRFIHZvaWQgcHJlcGFyZSgpOwotICAgIHZvaWQgY29tcGlsZUZ1bmN0
aW9ucygpOworICAgIGVudW0gQ29tcGlsYXRpb25FZmZvcnQgeyBBbGwsIFBhcnRpYWwgfTsKKyAg
ICB2b2lkIGNvbXBpbGVGdW5jdGlvbnMoQ29tcGlsYXRpb25FZmZvcnQgPSBBbGwpOwogCiAgICAg
dGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rvcj4KICAgICB2b2lkIGluaXRpYWxpemVDYWxsZWVzKGNv
bnN0IEZ1bmN0b3ImKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dh
c21Xb3JrbGlzdC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtV29ya2xpc3Qu
Y3BwCmluZGV4IDllMTc2ZjdiYzg3M2FiZTUwMzU1MjI0OTQ3NGViNmI2YTM3Mjg3MGQuLjA0MzZk
YjAxMTZjM2ZjZDE4N2U4MTMzOTA4YTkwNTQyYWM1ZWI0Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3dhc20vV2FzbVdvcmtsaXN0LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHByb3RlY3Rl
ZDoKIAogICAgICAgICAvLyBGSVhNRTogdGhpcyBzaG91bGQgY2hlY2sgaW4gb2NjYXNpb25hbGx5
IHRvIHNlZSBpZiB0aGVyZSBhcmUgbmV3LCBoaWdoZXIgcHJpb3JpdHkgZS5nLiBzeW5jaHJvbm91
cywgcGxhbnMgdGhhdCBuZWVkIHRvIGJlIHJ1bi4KICAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MDIwNAotICAgICAgICBwbGFuLT5jb21waWxlRnVu
Y3Rpb25zKCk7CisgICAgICAgIHBsYW4tPmNvbXBpbGVGdW5jdGlvbnMoUGxhbjo6UGFydGlhbCk7
CiAgICAgICAgIEFTU0VSVCghcGxhbi0+aGFzV29yaygpKTsKIAogICAgICAgICB7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>305792</attachid>
            <date>2017-03-29 14:30:24 -0700</date>
            <delta_ts>2017-03-29 15:12:28 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-170204-20170329143023.patch</filename>
            <type>text/plain</type>
            <size>8370</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE0NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
ZGRlYTkwOGEwYmY3NjNjNzQ2MjIwZTQ0OTg1M2Q2MmU4ODAwMDJkLi4xZjg3MjIwZDhkNDI2MTdi
MmFhMTJmMGI3ZDQ4ZmMyZDBiNTI5ZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyOSBAQAorMjAxNy0wMy0yOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJBc3NlbWJseTogV29ya2xpc3Qgc2hvdWxkIHBlcmlvZGljYWxs
eSBjaGVjayBpbiB0byBzZWUgaWYgdGhlcmUgYXJlIGhpZ2hlciBwcmlvcml0eSBqb2JzIHRvIGRv
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjA0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2FhbSBCYXJhdGkuCisKKyAgICAgICAgVGhpcyBwYXRj
aCBtYWtlcyBpdCBzbyB0aGF0IFdhc206OlBsYW4ncyBjb21waWxlRnVuY3Rpb25zIG1ldGhvZCBj
YW4gcmV0dXJuIHBlcmlvZGljYWxseQorICAgICAgICB0byBpdHMgY2FsbGVyLiBUaGUgbWFpbiB1
c2UgZm9yIHRoaXMgaXMgaWYgYSB1c2VyIGFzeW5jaHJvbm91c2x5IGNvbXBpbGVzIGEgd2FzbSBt
b2R1bGUKKyAgICAgICAgdGhlbiBsYXRlciBzeW5jaHJvbm91c2x5IGNvbXBpbGVzIGFub3RoZXIg
bW9kdWxlLiBJbiB0aGlzIGNhc2Ugd2Ugd2FudCB0byBiZSBhYmxlIHRvIHBhdXNlCisgICAgICAg
IGNvbXBpbGF0aW9uIG9mIG90aGVyIHdvcmtsaXN0cy4KKworICAgICAgICBUaGlzIHBhdGNoIGFs
c28gYWRkcyBzdXBwb3J0IGZvciBzaXplX3QgT3B0aW9ucy4KKworICAgICAgICAqIHJ1bnRpbWUv
T3B0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OnBhcnNlKToKKyAgICAgICAgKEpTQzo6T3B0aW9u
OjpkdW1wKToKKyAgICAgICAgKEpTQzo6T3B0aW9uOjpvcGVyYXRvcj09KToKKyAgICAgICAgKiBy
dW50aW1lL09wdGlvbnMuaDoKKyAgICAgICAgKiB3YXNtL1dhc21QbGFuLmNwcDoKKyAgICAgICAg
KEpTQzo6V2FzbTo6UGxhbjo6bW92ZVRvU3RhdGUpOgorICAgICAgICAoSlNDOjpXYXNtOjpQbGFu
OjpUaHJlYWRDb3VudEhvbGRlcjo6flRocmVhZENvdW50SG9sZGVyKToKKyAgICAgICAgKEpTQzo6
V2FzbTo6UGxhbjo6Y29tcGlsZUZ1bmN0aW9ucyk6CisgICAgICAgICogd2FzbS9XYXNtUGxhbi5o
OgorICAgICAgICAqIHdhc20vV2FzbVdvcmtsaXN0LmNwcDoKKwogMjAxNy0wMy0yOSAgSkYgQmFz
dGllbiAgPGpmYmFzdGllbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6IGFkZCBz
aGVsbC1vbmx5IE1lbW9yeSBtb2RlIGhlbHBlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9PcHRpb25zLmNwcAppbmRleCBiY2U1N2JmYTBlNGNmZWUxNWE2Y2Q2ZTgyMTI2Yzc4NjRmMDcy
MjEzLi4yYjYwZjdhZWJkNzM4NWQwNjE2ODdmYmU1ZDk1ZjFlNmQ4MWQ2YTI3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcApAQCAtODksNiArODksMTEgQEAgc3Rh
dGljIGJvb2wgcGFyc2UoY29uc3QgY2hhciogc3RyaW5nLCB1bnNpZ25lZCYgdmFsdWUpCiAgICAg
cmV0dXJuIHNzY2FuZihzdHJpbmcsICIldSIsICZ2YWx1ZSkgPT0gMTsKIH0KIAorc3RhdGljIGJv
b2wgcGFyc2UoY29uc3QgY2hhciogc3RyaW5nLCBzaXplX3QmIHZhbHVlKQoreworICAgIHJldHVy
biBzc2NhbmYoc3RyaW5nLCAiJXp1IiwgJnZhbHVlKTsKK30KKwogc3RhdGljIGJvb2wgcGFyc2Uo
Y29uc3QgY2hhciogc3RyaW5nLCBkb3VibGUmIHZhbHVlKQogewogICAgIHJldHVybiBzc2NhbmYo
c3RyaW5nLCAiJWxmIiwgJnZhbHVlKSA9PSAxOwpAQCAtODE0LDYgKzgxOSw5IEBAIHZvaWQgT3B0
aW9uOjpkdW1wKFN0cmluZ0J1aWxkZXImIGJ1aWxkZXIpIGNvbnN0CiAgICAgY2FzZSBPcHRpb25z
OjpUeXBlOjp1bnNpZ25lZFR5cGU6CiAgICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fZW50
cnkudW5zaWduZWRWYWwpOwogICAgICAgICBicmVhazsKKyAgICBjYXNlIE9wdGlvbnM6OlR5cGU6
OnNpemVUeXBlOgorICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihtX2VudHJ5LnNpemVWYWwp
OworICAgICAgICBicmVhazsKICAgICBjYXNlIE9wdGlvbnM6OlR5cGU6OmRvdWJsZVR5cGU6CiAg
ICAgICAgIGJ1aWxkZXIuYXBwZW5kTnVtYmVyKG1fZW50cnkuZG91YmxlVmFsKTsKICAgICAgICAg
YnJlYWs7CkBAIC04NDYsNiArODU0LDggQEAgYm9vbCBPcHRpb246Om9wZXJhdG9yPT0oY29uc3Qg
T3B0aW9uJiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIG1fZW50cnkuYm9vbFZhbCA9PSBv
dGhlci5tX2VudHJ5LmJvb2xWYWw7CiAgICAgY2FzZSBPcHRpb25zOjpUeXBlOjp1bnNpZ25lZFR5
cGU6CiAgICAgICAgIHJldHVybiBtX2VudHJ5LnVuc2lnbmVkVmFsID09IG90aGVyLm1fZW50cnku
dW5zaWduZWRWYWw7CisgICAgY2FzZSBPcHRpb25zOjpUeXBlOjpzaXplVHlwZToKKyAgICAgICAg
cmV0dXJuIG1fZW50cnkuc2l6ZVZhbCA9PSBvdGhlci5tX2VudHJ5LnNpemVWYWw7CiAgICAgY2Fz
ZSBPcHRpb25zOjpUeXBlOjpkb3VibGVUeXBlOgogICAgICAgICByZXR1cm4gKG1fZW50cnkuZG91
YmxlVmFsID09IG90aGVyLm1fZW50cnkuZG91YmxlVmFsKSB8fCAoc3RkOjppc25hbihtX2VudHJ5
LmRvdWJsZVZhbCkgJiYgc3RkOjppc25hbihvdGhlci5tX2VudHJ5LmRvdWJsZVZhbCkpOwogICAg
IGNhc2UgT3B0aW9uczo6VHlwZTo6aW50MzJUeXBlOgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvT3B0aW9ucy5oCmluZGV4IGU4YWIxZWU0Y2JjMjZhNWExMzU1Y2VlMmEwM2NjNmNjY2RiMTkz
NjYuLjY3YjkwZTM3NDI0ODlhMGE3OWRhNzdjOWViY2M4Mjc2YzIzNTE0MGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL09wdGlvbnMuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKQEAgLTQzMSw2ICs0MzEsNyBAQCB0eXBlZGVm
IGNvbnN0IGNoYXIqIG9wdGlvblN0cmluZzsKICAgICB2KGJvb2wsIHVzZVdlYkFzc2VtYmx5LCB0
cnVlLCBOb3JtYWwsICJFeHBvc2UgdGhlIFdlYkFzc2VtYmx5IGdsb2JhbCBvYmplY3QuIikgXAog
ICAgIFwKICAgICB2KGJvb2wsIGZhaWxUb0NvbXBpbGVXZWJBc3NlbWJseUNvZGUsIGZhbHNlLCBO
b3JtYWwsICJJZiB0cnVlLCBubyBXYXNtOjpQbGFuIHdpbGwgc3VjZXNzZnVsbHkgY29tcGlsZSBh
IGZ1bmN0aW9uLiIpIFwKKyAgICB2KHNpemUsIHdlYkFzc2VtYmx5UGFydGlhbENvbXBpbGVMaW1p
dCwgNTAwMCwgTm9ybWFsLCAiTGltaXQgb24gdGhlIG51bWJlciBvZiBieXRlcyBhIFdhc206OlBs
YW46OmNvbXBpbGUgc2hvdWxkIGF0dGVtcHQgYmVmb3JlIGNoZWNraW5nIGZvciBvdGhlciB3b3Jr
LiIpIFwKICAgICBcCiAgICAgdihib29sLCBzaW11bGF0ZVdlYkFzc2VtYmx5TG93TWVtb3J5LCBm
YWxzZSwgTm9ybWFsLCAiSWYgdHJ1ZSwgdGhlIE1lbW9yeSBvYmplY3Qgd29uJ3QgbW1hcCB0aGUg
ZnVsbCAnbWF4aW11bScgcmFuZ2UgYW5kIGluc3RlYWQgd2lsbCBhbGxvY2F0ZSB0aGUgbWluaW11
bSByZXF1aXJlZCBhbW91bnQuIikgXAogICAgIHYoYm9vbCwgdXNlV2ViQXNzZW1ibHlGYXN0TWVt
b3J5LCB0cnVlLCBOb3JtYWwsICJJZiB0cnVlLCB3ZSB3aWxsIHRyeSB0byB1c2UgYSAzMi1iaXQg
YWRkcmVzcyBzcGFjZSB3aXRoIGEgc2lnbmFsIGhhbmRsZXIgdG8gYm91bmRzIGNoZWNrIHdhc20g
bWVtb3J5LiIpIFwKQEAgLTQ5NCw2ICs0OTUsNyBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyB0eXBl
ZGVmIGlzIHRvIGFsbG93IHVzIHRvIGVsaW1pbmF0ZSB0aGUgJ18nIGluIHRoZSBmaWVsZCBuYW1l
IGluCiAgICAgLy8gdW5pb24gaW5zaWRlIEVudHJ5LiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRo
ZSBzdHlsZSBjaGVja2VyIGhhcHB5LgogICAgIHR5cGVkZWYgaW50MzJfdCBpbnQzMjsKKyAgICB0
eXBlZGVmIHNpemVfdCBzaXplOwogCiAgICAgLy8gRGVjbGFyZSB0aGUgb3B0aW9uIElEczoKICAg
ICBlbnVtIElEIHsKQEAgLTUwOSw2ICs1MTEsNyBAQCBwdWJsaWM6CiAgICAgICAgIHVuc2lnbmVk
VHlwZSwKICAgICAgICAgZG91YmxlVHlwZSwKICAgICAgICAgaW50MzJUeXBlLAorICAgICAgICBz
aXplVHlwZSwKICAgICAgICAgb3B0aW9uUmFuZ2VUeXBlLAogICAgICAgICBvcHRpb25TdHJpbmdU
eXBlLAogICAgICAgICBnY0xvZ0xldmVsVHlwZSwKQEAgLTU0OCw2ICs1NTEsNyBAQCBwcml2YXRl
OgogICAgICAgICB1bnNpZ25lZCB1bnNpZ25lZFZhbDsKICAgICAgICAgZG91YmxlIGRvdWJsZVZh
bDsKICAgICAgICAgaW50MzIgaW50MzJWYWw7CisgICAgICAgIHNpemUgc2l6ZVZhbDsKICAgICAg
ICAgT3B0aW9uUmFuZ2Ugb3B0aW9uUmFuZ2VWYWw7CiAgICAgICAgIGNvbnN0IGNoYXIqIG9wdGlv
blN0cmluZ1ZhbDsKICAgICAgICAgR0NMb2dnaW5nOjpMZXZlbCBnY0xvZ0xldmVsVmFsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uY3BwCmluZGV4IDM4NTM4MmRiYTRlZDA1MmZi
NTJlZjI4ZmY4MDhjZjQwMmMwMDRmZTMuLjFkZGM2OTMyZjkwZjc2ZjQzNDEyMGVmNDgwZDliZDVk
YzM4NjBlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFu
LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5jcHAKQEAgLTgz
LDggKzgzLDggQEAgY29uc3QgY2hhciogUGxhbjo6c3RhdGVTdHJpbmcoU3RhdGUgc3RhdGUpCiAK
IHZvaWQgUGxhbjo6bW92ZVRvU3RhdGUoU3RhdGUgc3RhdGUpCiB7Ci0gICAgQVNTRVJUKHN0YXRl
ID4gbV9zdGF0ZSk7Ci0gICAgZGF0YUxvZ0xuSWYodmVyYm9zZSwgIm1vdmluZyB0byBzdGF0ZTog
Iiwgc3RhdGVTdHJpbmcoc3RhdGUpLCAiIGZyb20gc3RhdGU6ICIsIHN0YXRlU3RyaW5nKG1fc3Rh
dGUpKTsKKyAgICBBU1NFUlQoc3RhdGUgPj0gbV9zdGF0ZSk7CisgICAgZGF0YUxvZ0xuSWYodmVy
Ym9zZSAmJiBzdGF0ZSAhPSBtX3N0YXRlLCAibW92aW5nIHRvIHN0YXRlOiAiLCBzdGF0ZVN0cmlu
ZyhzdGF0ZSksICIgZnJvbSBzdGF0ZTogIiwgc3RhdGVTdHJpbmcobV9zdGF0ZSkpOwogICAgIG1f
c3RhdGUgPSBzdGF0ZTsKIH0KIApAQCAtMjAxLDMyICsyMDEsMzggQEAgcHVibGljOgogICAgICAg
ICBMb2NrSG9sZGVyIGxvY2tlcihtX3BsYW4ubV9sb2NrKTsKICAgICAgICAgbV9wbGFuLm1fbnVt
YmVyT2ZBY3RpdmVUaHJlYWRzLS07CiAKLSAgICAgICAgaWYgKCFtX3BsYW4ubV9udW1iZXJPZkFj
dGl2ZVRocmVhZHMpCisgICAgICAgIGlmICghbV9wbGFuLm1fbnVtYmVyT2ZBY3RpdmVUaHJlYWRz
ICYmICFtX3BsYW4uaGFzV29yaygpKQogICAgICAgICAgICAgbV9wbGFuLmNvbXBsZXRlKGxvY2tl
cik7CiAgICAgfQogCiAgICAgUGxhbiYgbV9wbGFuOwogfTsKIAotdm9pZCBQbGFuOjpjb21waWxl
RnVuY3Rpb25zKCkKK3ZvaWQgUGxhbjo6Y29tcGlsZUZ1bmN0aW9ucyhDb21waWxhdGlvbkVmZm9y
dCBlZmZvcnQpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPj0gU3RhdGU6OlByZXBhcmVkKTsKICAg
ICBkYXRhTG9nTG5JZih2ZXJib3NlLCAiU3RhcnRpbmcgY29tcGlsYXRpb24iKTsKIAotICAgIGlm
IChtX3N0YXRlID49IFN0YXRlOjpDb21waWxlZCkKKyAgICBpZiAoIWhhc1dvcmsoKSkKICAgICAg
ICAgcmV0dXJuOwogCiAgICAgVGhyZWFkQ291bnRIb2xkZXIgaG9sZGVyKCp0aGlzKTsKKworICAg
IHNpemVfdCBieXRlc0NvbXBpbGVkID0gMDsKICAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBp
ZiAoZWZmb3J0ID09IFBhcnRpYWwgJiYgYnl0ZXNDb21waWxlZCA+PSBPcHRpb25zOjp3ZWJBc3Nl
bWJseVBhcnRpYWxDb21waWxlTGltaXQoKSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAg
ICB1aW50MzJfdCBmdW5jdGlvbkluZGV4OwogICAgICAgICB7CiAgICAgICAgICAgICBhdXRvIGxv
Y2tlciA9IGhvbGRMb2NrKG1fbG9jayk7Ci0gICAgICAgICAgICBpZiAobV9jdXJyZW50SW5kZXgg
Pj0gbV9mdW5jdGlvbkxvY2F0aW9uSW5CaW5hcnkuc2l6ZSgpKQorICAgICAgICAgICAgaWYgKG1f
Y3VycmVudEluZGV4ID49IG1fZnVuY3Rpb25Mb2NhdGlvbkluQmluYXJ5LnNpemUoKSkgeworICAg
ICAgICAgICAgICAgIGlmIChoYXNXb3JrKCkpCisgICAgICAgICAgICAgICAgICAgIG1vdmVUb1N0
YXRlKFN0YXRlOjpDb21waWxlZCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQogICAgICAgICAgICAgZnVuY3Rpb25JbmRleCA9IG1fY3VycmVudEluZGV4OwogICAgICAg
ICAgICAgKyttX2N1cnJlbnRJbmRleDsKLSAgICAgICAgICAgIGlmIChtX2N1cnJlbnRJbmRleCA9
PSBtX2Z1bmN0aW9uTG9jYXRpb25JbkJpbmFyeS5zaXplKCkpCi0gICAgICAgICAgICAgICAgbW92
ZVRvU3RhdGUoU3RhdGU6OkNvbXBpbGVkKTsKICAgICAgICAgfQogCiAgICAgICAgIGNvbnN0IHVp
bnQ4X3QqIGZ1bmN0aW9uU3RhcnQgPSBtX3NvdXJjZSArIG1fZnVuY3Rpb25Mb2NhdGlvbkluQmlu
YXJ5W2Z1bmN0aW9uSW5kZXhdLnN0YXJ0OwpAQCAtMjUyLDYgKzI1OCw3IEBAIHZvaWQgUGxhbjo6
Y29tcGlsZUZ1bmN0aW9ucygpCiAgICAgICAgIH0KIAogICAgICAgICBtX3dhc21JbnRlcm5hbEZ1
bmN0aW9uc1tmdW5jdGlvbkluZGV4XSA9IFdURk1vdmUoKnBhcnNlQW5kQ29tcGlsZVJlc3VsdCk7
CisgICAgICAgIGJ5dGVzQ29tcGlsZWQgKz0gZnVuY3Rpb25MZW5ndGg7CiAgICAgfQogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbVBsYW4uaAppbmRleCA5ZGIxNGVhNjk1OWE1NzYyYThj
MzljODNmMjdkYmY4OTVjMjM0YTcwLi42MzIxMjhkYWM2MjdmODVlNzdjOGNjNzJhMWRmMWQ0YjRm
MGJlNjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtUGxhbi5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21QbGFuLmgKQEAgLTU4LDcgKzU4
LDggQEAgcHVibGljOgogICAgIGJvb2wgcGFyc2VBbmRWYWxpZGF0ZU1vZHVsZSgpOwogCiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgdm9pZCBwcmVwYXJlKCk7Ci0gICAgdm9pZCBjb21waWxlRnVuY3Rp
b25zKCk7CisgICAgZW51bSBDb21waWxhdGlvbkVmZm9ydCB7IEFsbCwgUGFydGlhbCB9OworICAg
IHZvaWQgY29tcGlsZUZ1bmN0aW9ucyhDb21waWxhdGlvbkVmZm9ydCA9IEFsbCk7CiAKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBGdW5jdG9yPgogICAgIHZvaWQgaW5pdGlhbGl6ZUNhbGxlZXMoY29u
c3QgRnVuY3RvciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bVdvcmtsaXN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21Xb3JrbGlzdC5j
cHAKaW5kZXggOWUxNzZmN2JjODczYWJlNTAzNTUyMjQ5NDc0ZWI2YjZhMzcyODcwZC4uMDQzNmRi
MDExNmMzZmNkMTg3ZTgxMzM5MDhhOTA1NDJhYzVlYjRjYiAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbVdvcmtsaXN0LmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd2FzbS9XYXNtV29ya2xpc3QuY3BwCkBAIC0xMTQsNyArMTE0LDcgQEAgcHJvdGVjdGVk
OgogCiAgICAgICAgIC8vIEZJWE1FOiB0aGlzIHNob3VsZCBjaGVjayBpbiBvY2Nhc2lvbmFsbHkg
dG8gc2VlIGlmIHRoZXJlIGFyZSBuZXcsIGhpZ2hlciBwcmlvcml0eSBlLmcuIHN5bmNocm9ub3Vz
LCBwbGFucyB0aGF0IG5lZWQgdG8gYmUgcnVuLgogICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTcwMjA0Ci0gICAgICAgIHBsYW4tPmNvbXBpbGVGdW5j
dGlvbnMoKTsKKyAgICAgICAgcGxhbi0+Y29tcGlsZUZ1bmN0aW9ucyhQbGFuOjpQYXJ0aWFsKTsK
ICAgICAgICAgQVNTRVJUKCFwbGFuLT5oYXNXb3JrKCkpOwogCiAgICAgICAgIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>