<?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>206557</bug_id>
          
          <creation_ts>2020-01-21 14:47:13 -0800</creation_ts>
          <short_desc>Fix small memory regression caused by r206365</short_desc>
          <delta_ts>2020-01-30 22:56:33 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mjs</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1609306</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2020-01-21 14:47:13 -0800</bug_when>
    <thetext>Put m_giveUpOnObjectToStringValueCache into m_objectToStringValue and use 16 bit fields for m_maxOffset and m_transitionOffset, added to their non-rare counterparts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609355</commentid>
    <comment_count>1</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2020-01-21 16:11:31 -0800</bug_when>
    <thetext>Put StructureRareData::m_giveUpOnObjectToStringValueCache into m_objectToStringValue to prevent increasing StructureRareData&apos;s size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609371</commentid>
    <comment_count>2</comment_count>
      <attachid>388370</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2020-01-21 16:28:54 -0800</bug_when>
    <thetext>Created attachment 388370
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609378</commentid>
    <comment_count>3</comment_count>
      <attachid>388370</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-21 16:40:56 -0800</bug_when>
    <thetext>Comment on attachment 388370
Patch

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

I think this direction is correct. But I found several bugs.

&gt; Source/JavaScriptCore/runtime/StructureRareData.cpp:74
&gt; +    visitor.appendUnbarriered(thisObject-&gt;objectToStringValue());

`appendUnbarriered` assumes that whether the cell pointer is valid or nullptr.
Let&apos;s do the similar thing done for `m_cachedOwnKeys` below.

&gt; Source/JavaScriptCore/runtime/StructureRareData.cpp:97
&gt; +    if (objectToStringValue() == giveUpOnObjectToStringValueCacheValue())

This never happens since `objectToStringValue()` returns nullptr if the stored value is `giveUpOnObjectToStringValueCacheValue`.
Let&apos;s directly read m_objectToStringValue here, and check it carefully.

&gt; Source/JavaScriptCore/runtime/StructureRareData.cpp:159
&gt; +    if (objectToStringValue() != giveUpOnObjectToStringValueCacheValue())

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609415</commentid>
    <comment_count>4</comment_count>
      <attachid>388384</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2020-01-21 17:58:59 -0800</bug_when>
    <thetext>Created attachment 388384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609434</commentid>
    <comment_count>5</comment_count>
      <attachid>388384</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-21 19:22:14 -0800</bug_when>
    <thetext>Comment on attachment 388384
Patch

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

r=me with nits.

&gt; Source/JavaScriptCore/runtime/StructureRareData.h:71
&gt; +    bool doGiveUpOnObjectToStringValueCache() { return m_objectToStringValue.unvalidatedGet() == giveUpOnObjectToStringValueCacheValue(); }

`doGiveUpOnObjectToStringValueCache` sounds like we give up caching by this function. Can you rename it to `canCacheObjectToStringValue()`?

&gt; Source/JavaScriptCore/runtime/StructureRareData.h:72
&gt; +    static JSString* giveUpOnObjectToStringValueCacheValue() { return bitwise_cast&lt;JSString*&gt;(static_cast&lt;uintptr_t&gt;(1)); }

Let&apos;s rename it something like &quot;objectToStringCacheGiveUpMarker()&quot;, otherwise, this function name sounds like we are giving up caching by this function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612616</commentid>
    <comment_count>6</comment_count>
      <attachid>389174</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2020-01-29 12:45:36 -0800</bug_when>
    <thetext>Created attachment 389174
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612637</commentid>
    <comment_count>7</comment_count>
      <attachid>389174</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 13:30:33 -0800</bug_when>
    <thetext>Comment on attachment 389174
Patch

Clearing flags on attachment: 389174

Committed r255380: &lt;https://trac.webkit.org/changeset/255380&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612638</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-29 13:30:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1612639</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-29 13:31:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/59004377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613283</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-01-30 22:54:20 -0800</bug_when>
    <thetext>The cited regression revision here is probably wrong, since &lt;https://trac.webkit.org/changeset/206365/webkit&gt; only changes TestExpectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613284</commentid>
    <comment_count>11</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2020-01-30 22:56:33 -0800</bug_when>
    <thetext>Pretty sure this was meant to reference https://trac.webkit.org/changeset/254760/webkit (which is bug 206365)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388370</attachid>
            <date>2020-01-21 16:28:54 -0800</date>
            <delta_ts>2020-01-21 17:58:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206557-20200121162853.patch</filename>
            <type>text/plain</type>
            <size>7627</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
NTBjNGM3NjYxZTY0NTkzYTgxYzIzYzQzMTYxYzllZDRmMDU0MWE2Li5lOTQxYTQyYTgzOTlhNDJi
ZmM2ZTI1Nzg2MTNkZTk5YmM1ZTYxOWIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMS0yMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgRml4IHNtYWxsIG1lbW9yeSByZWdyZXNzaW9uIGNhdXNlZCBi
eSByMjA2MzY1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDY1NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQdXQgU3RydWN0dXJlUmFyZURhdGE6Om1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2Fj
aGUgaW50byBtX29iamVjdFRvU3RyaW5nVmFsdWUgdG8gcHJldmVudCBpbmNyZWFzaW5nIFN0cnVj
dHVyZVJhcmVEYXRhJ3Mgc2l6ZS4gV2UgbWFrZSBhIHNwZWNpYWwgdmFsdWUgZm9yIHRoZSBwb2lu
dGVyCisgICAgICAgIGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlVmFsdWUoKSB0byBz
aWduYWwgdGhhdCB3ZSBzaG91bGQgbm90IGNhY2hlIHRoZSBzdHJpbmcgdmFsdWUuIEFzIGEgcmVz
dWx0LCBhZGRpbmcgbV90cmFuc2l0aW9uT2Zmc2V0IGRvZXMgbm90IGluY3JlYXNlIHRoZSBzaXpl
IG9mIHRoZSBjbGFzcy4KKworICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVy
ZVJhcmVEYXRhOjpTdHJ1Y3R1cmVSYXJlRGF0YSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVJh
cmVEYXRhOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6
OnNldE9iamVjdFRvU3RyaW5nVmFsdWUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2xlYXJPYmplY3RUb1N0cmluZ1ZhbHVlKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMu
aDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6Om9iamVjdFRvU3RyaW5nVmFsdWUg
Y29uc3QpOgorCiAyMDIwLTAxLTE3ICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFw
cGxlLmNvbT4KIAogICAgICAgICBTZXBhcmF0ZSBzdG9yYWdlIG9mIFN0cnVjdHVyZTo6bV9vZmZz
ZXQgaW50byB0cmFuc2l0aW9uIGFuZCBtYXggb2Zmc2V0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1N0cnVjdHVyZS5oCmluZGV4IDM4ZGMxZDM5ZjFlODY3ZDA0ZjExNTNmZTQ0N2ZlNGM3
MjBjZDU2M2IuLmY4NTViYTg2MTJiNjkzMDBlYTJlYzAxZWZhOTQwMDQzOGZiZTQ0NmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oCkBAIC0xMjMsNiArMTIzLDgg
QEAgcHJpdmF0ZToKIH07CiAKIGNsYXNzIFN0cnVjdHVyZSBmaW5hbCA6IHB1YmxpYyBKU0NlbGwg
eworICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDE2X3Qgc2hvcnRJbnZhbGlkT2Zmc2V0ID0gc3Rk
OjpudW1lcmljX2xpbWl0czx1aW50MTZfdD46Om1heCgpIC0gMTsKKyAgICBzdGF0aWMgY29uc3Rl
eHByIHVpbnQxNl90IHVzZVJhcmVEYXRhRmxhZyA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDE2
X3Q+OjptYXgoKTsKIHB1YmxpYzoKICAgICBmcmllbmQgY2xhc3MgU3RydWN0dXJlVHJhbnNpdGlv
blRhYmxlOwogCkBAIC0zNjEsNyArMzYzLDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJu
IHJhcmVEYXRhKCktPm1fbWF4T2Zmc2V0OwogICAgICAgICByZXR1cm4gbV9tYXhPZmZzZXQ7CiAg
ICAgfQotICAgIAorCiAgICAgdm9pZCBzZXRNYXhPZmZzZXQoVk0mIHZtLCBQcm9wZXJ0eU9mZnNl
dCBvZmZzZXQpCiAgICAgewogICAgICAgICBpZiAob2Zmc2V0ID09IGludmFsaWRPZmZzZXQpCkBA
IC04MjQsOSArODI2LDYgQEAgcHJpdmF0ZToKIAogICAgIENPTVBJTEVfQVNTRVJUKGZpcnN0T3V0
T2ZMaW5lT2Zmc2V0IDwgMjU2LCBmaXJzdE91dE9mTGluZU9mZnNldF9maXRzKTsKIAotICAgIHN0
YXRpYyBjb25zdGV4cHIgdWludDE2X3Qgc2hvcnRJbnZhbGlkT2Zmc2V0ID0gc3RkOjpudW1lcmlj
X2xpbWl0czx1aW50MTZfdD46Om1heCgpOwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDE2X3Qg
dXNlUmFyZURhdGFGbGFnID0gc3RkOjpudW1lcmljX2xpbWl0czx1aW50MTZfdD46Om1heCgpIC0g
MTsKLQogICAgIHVpbnQxNl90IG1fdHJhbnNpdGlvbk9mZnNldDsKICAgICB1aW50MTZfdCBtX21h
eE9mZnNldDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGEuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlUmFyZURhdGEuY3BwCmluZGV4IDA2MjM0OTQ3MzAxYWRlMjQwMDgxM2Q4NjU3MzE5NjEwMzcw
ZGMxNWYuLjk3YjdhZjFkN2YxMWM4NzMwOWEwMjZjMWI4MWRlMjc4ZDI0ZTZjODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAK
QEAgLTU3LDcgKzU3LDYgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZGVzdHJveShKU0NlbGwq
IGNlbGwpCiAKIFN0cnVjdHVyZVJhcmVEYXRhOjpTdHJ1Y3R1cmVSYXJlRGF0YShWTSYgdm0sIFN0
cnVjdHVyZSogcHJldmlvdXMpCiAgICAgOiBKU0NlbGwodm0sIHZtLnN0cnVjdHVyZVJhcmVEYXRh
U3RydWN0dXJlLmdldCgpKQotICAgICwgbV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNo
ZShmYWxzZSkKICAgICAsIG1fbWF4T2Zmc2V0KGludmFsaWRPZmZzZXQpCiAgICAgLCBtX3RyYW5z
aXRpb25PZmZzZXQoaW52YWxpZE9mZnNldCkKIHsKQEAgLTcyLDcgKzcxLDcgQEAgdm9pZCBTdHJ1
Y3R1cmVSYXJlRGF0YTo6dmlzaXRDaGlsZHJlbihKU0NlbGwqIGNlbGwsIFNsb3RWaXNpdG9yJiB2
aXNpdG9yKQogCiAgICAgQmFzZTo6dmlzaXRDaGlsZHJlbih0aGlzT2JqZWN0LCB2aXNpdG9yKTsK
ICAgICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX3ByZXZpb3VzKTsKLSAgICB2aXNpdG9y
LmFwcGVuZCh0aGlzT2JqZWN0LT5tX29iamVjdFRvU3RyaW5nVmFsdWUpOworICAgIHZpc2l0b3Iu
YXBwZW5kVW5iYXJyaWVyZWQodGhpc09iamVjdC0+b2JqZWN0VG9TdHJpbmdWYWx1ZSgpKTsKICAg
ICB2aXNpdG9yLmFwcGVuZCh0aGlzT2JqZWN0LT5tX2NhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0
b3IpOwogICAgIGF1dG8qIGNhY2hlZE93bktleXMgPSB0aGlzT2JqZWN0LT5tX2NhY2hlZE93bktl
eXMudW52YWxpZGF0ZWRHZXQoKTsKICAgICBpZiAoY2FjaGVkT3duS2V5cyAhPSBjYWNoZWRPd25L
ZXlzU2VudGluZWwoKSkKQEAgLTk1LDcgKzk0LDcgQEAgcHJpdmF0ZToKIAogdm9pZCBTdHJ1Y3R1
cmVSYXJlRGF0YTo6c2V0T2JqZWN0VG9TdHJpbmdWYWx1ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBWTSYgdm0sIFN0cnVjdHVyZSogb3duU3RydWN0dXJlLCBKU1N0cmluZyogdmFsdWUs
IFByb3BlcnR5U2xvdCB0b1N0cmluZ1RhZ1N5bWJvbFNsb3QpCiB7Ci0gICAgaWYgKG1fZ2l2ZVVw
T25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUpCisgICAgaWYgKG9iamVjdFRvU3RyaW5nVmFsdWUo
KSA9PSBnaXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZVZhbHVlKCkpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIE9iamVjdFByb3BlcnR5Q29uZGl0aW9uU2V0IGNvbmRpdGlvblNldDsKQEAg
LTExOSw3ICsxMTgsNyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRPYmplY3RUb1N0cmlu
Z1ZhbHVlKEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJgogICAgICAgICByZXR1cm47
CiAKICAgICBpZiAoIWNvbmRpdGlvblNldC5pc1ZhbGlkKCkpIHsKLSAgICAgICAgbV9naXZlVXBP
bk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSA9IHRydWU7CisgICAgICAgIGdpdmVVcE9uT2JqZWN0
VG9TdHJpbmdWYWx1ZUNhY2hlKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTEzMiwx
MSArMTMxLDExIEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldE9iamVjdFRvU3RyaW5nVmFs
dWUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mCiAKICAgICAgICAgICAgIC8vIFRo
ZSBlcXVpdmFsZW5jZSBjb25kaXRpb24gd29uJ3QgYmUgd2F0Y2hhYmxlIGlmIHdlIGhhdmUgYWxy
ZWFkeSBzZWVuIGEgcmVwbGFjZW1lbnQuCiAgICAgICAgICAgICBpZiAoIWVxdWl2Q29uZGl0aW9u
LmlzV2F0Y2hhYmxlKCkpIHsKLSAgICAgICAgICAgICAgICBtX2dpdmVVcE9uT2JqZWN0VG9TdHJp
bmdWYWx1ZUNhY2hlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICBnaXZlVXBPbk9iamVjdFRvU3Ry
aW5nVmFsdWVDYWNoZSgpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfSBlbHNlIGlmICghY29uZGl0aW9uLmlzV2F0Y2hhYmxlKCkpIHsKLSAgICAgICAg
ICAgIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUgPSB0cnVlOworICAgICAgICAg
ICAgZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUoKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQogICAgIH0KQEAgLTE1Nyw3ICsxNTYsOCBAQCB2b2lkIFN0cnVjdHVyZVJh
cmVEYXRhOjpjbGVhck9iamVjdFRvU3RyaW5nVmFsdWUoKQogewogICAgIG1fb2JqZWN0VG9TdHJp
bmdBZGFwdGl2ZVdhdGNocG9pbnRTZXQuY2xlYXIoKTsKICAgICBtX29iamVjdFRvU3RyaW5nQWRh
cHRpdmVJbmZlcnJlZFZhbHVlV2F0Y2hwb2ludC5yZXNldCgpOwotICAgIG1fb2JqZWN0VG9TdHJp
bmdWYWx1ZS5jbGVhcigpOworICAgIGlmIChvYmplY3RUb1N0cmluZ1ZhbHVlKCkgIT0gZ2l2ZVVw
T25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGVWYWx1ZSgpKQorICAgICAgICBtX29iamVjdFRvU3Ry
aW5nVmFsdWUuY2xlYXIoKTsKIH0KIAogdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6ZmluYWxpemVV
bmNvbmRpdGlvbmFsbHkoVk0mIHZtKQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKaW5kZXggNjc5YzllNjE3MmNjMzhkNThiZjU4YTU0Yjg3
ZjY1ZWFmMjljZjlkMy4uNmU2MTA5YjI2NTZhMmNkNmU1NDMwYTMxZDJkZTg4NTczMTM2YjQ3ZCAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGEuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0
YS5oCkBAIC02Nyw2ICs2Nyw4IEBAIHB1YmxpYzoKIAogICAgIEpTU3RyaW5nKiBvYmplY3RUb1N0
cmluZ1ZhbHVlKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRPYmplY3RUb1N0cmluZ1ZhbHVlKEpTR2xv
YmFsT2JqZWN0KiwgVk0mLCBTdHJ1Y3R1cmUqIGJhc2VTdHJ1Y3R1cmUsIEpTU3RyaW5nKiB2YWx1
ZSwgUHJvcGVydHlTbG90IHRvU3RyaW5nVGFnU3ltYm9sU2xvdCk7CisgICAgdm9pZCBnaXZlVXBP
bk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSgpIHsgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLnNldFdp
dGhvdXRXcml0ZUJhcnJpZXIoZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGVWYWx1ZSgp
KTsgfQorICAgIHN0YXRpYyBKU1N0cmluZyogZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2Fj
aGVWYWx1ZSgpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxKU1N0cmluZyo+KHN0YXRpY19jYXN0PHVp
bnRwdHJfdD4oMSkpOyB9CiAKICAgICBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqIGNhY2hlZFBy
b3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2b2lkIHNldENhY2hlZFByb3BlcnR5
TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3IqKTsKQEAgLTExMyw3
ICsxMTUsNiBAQCBwcml2YXRlOgogICAgIEJhZzxPYmplY3RUb1N0cmluZ0FkYXB0aXZlU3RydWN0
dXJlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlV2F0Y2hwb2ludFNldDsKICAg
ICBzdGQ6OnVuaXF1ZV9wdHI8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVycmVkUHJvcGVydHlW
YWx1ZVdhdGNocG9pbnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZUluZmVycmVkVmFsdWVXYXRj
aHBvaW50OwogICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0PiBtX3BvbHlQcm90b1dhdGNocG9p
bnQ7Ci0gICAgYm9vbCBtX2dpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlOwogCiAgICAg
UHJvcGVydHlPZmZzZXQgbV9tYXhPZmZzZXQ7CiAgICAgUHJvcGVydHlPZmZzZXQgbV90cmFuc2l0
aW9uT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3Ry
dWN0dXJlUmFyZURhdGFJbmxpbmVzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9T
dHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaAppbmRleCA0OGNlYjZkNTdjM2ZmNGNlZWRlNWU1NTZk
NzYyZjNmM2E3NDM3ZmE3Li40MGU3OTBlMjcwOWE2ZTJkYWMyODQ2ZWEyMDEwOGZlMDIyNGNjZGI1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJl
RGF0YUlubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1
cmVSYXJlRGF0YUlubGluZXMuaApAQCAtNDQsNyArNDQsMTIgQEAgaW5saW5lIHZvaWQgU3RydWN0
dXJlUmFyZURhdGE6OmNsZWFyUHJldmlvdXNJRCgpCiAKIGlubGluZSBKU1N0cmluZyogU3RydWN0
dXJlUmFyZURhdGE6Om9iamVjdFRvU3RyaW5nVmFsdWUoKSBjb25zdAogewotICAgIHJldHVybiBt
X29iamVjdFRvU3RyaW5nVmFsdWUuZ2V0KCk7CisgICAgYXV0byogdmFsdWUgPSBtX29iamVjdFRv
U3RyaW5nVmFsdWUudW52YWxpZGF0ZWRHZXQoKTsKKyAgICBpZiAodmFsdWUgPT0gZ2l2ZVVwT25P
YmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGVWYWx1ZSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBpZiAodmFsdWUpCisgICAgICAgIHZhbGlkYXRlQ2VsbCh2YWx1ZSk7CisgICAgcmV0dXJu
IHZhbHVlOwogfQogCiBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBTdHJ1Y3R1cmVS
YXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNvbnN0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388384</attachid>
            <date>2020-01-21 17:58:59 -0800</date>
            <delta_ts>2020-01-29 12:45:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206557-20200121175859.patch</filename>
            <type>text/plain</type>
            <size>7670</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
OTIzZTJlNzllMGZhMDMwZmFjOWMyY2RmMTk1ZDczZTU3ZTExMjllLi40NWU2NDBlMDdmZTUzNTM0
NmVhM2I1OGQyZTJhNjk2ZjNlYjQ1NTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMS0yMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgRml4IHNtYWxsIG1lbW9yeSByZWdyZXNzaW9uIGNhdXNlZCBi
eSByMjA2MzY1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDY1NTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBQdXQgU3RydWN0dXJlUmFyZURhdGE6Om1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2Fj
aGUgaW50byBtX29iamVjdFRvU3RyaW5nVmFsdWUgdG8gcHJldmVudCBpbmNyZWFzaW5nIFN0cnVj
dHVyZVJhcmVEYXRhJ3Mgc2l6ZS4gV2UgbWFrZSBhIHNwZWNpYWwgdmFsdWUgZm9yIHRoZSBwb2lu
dGVyCisgICAgICAgIGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlVmFsdWUoKSB0byBz
aWduYWwgdGhhdCB3ZSBzaG91bGQgbm90IGNhY2hlIHRoZSBzdHJpbmcgdmFsdWUuIEFzIGEgcmVz
dWx0LCBhZGRpbmcgbV90cmFuc2l0aW9uT2Zmc2V0IGRvZXMgbm90IGluY3JlYXNlIHRoZSBzaXpl
IG9mIHRoZSBjbGFzcy4KKworICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlLmg6CisgICAgICAg
ICogcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHA6CisgICAgICAgIChKU0M6OlN0cnVjdHVy
ZVJhcmVEYXRhOjpTdHJ1Y3R1cmVSYXJlRGF0YSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVJh
cmVEYXRhOjp2aXNpdENoaWxkcmVuKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6
OnNldE9iamVjdFRvU3RyaW5nVmFsdWUpOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVSYXJlRGF0
YTo6Y2xlYXJPYmplY3RUb1N0cmluZ1ZhbHVlKToKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmg6CisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMu
aDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6Om9iamVjdFRvU3RyaW5nVmFsdWUg
Y29uc3QpOgorCiAyMDIwLTAxLTIxICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgQWRkIGJ1aWxkIGZsYWcgZm9yIHN0YWxlLXdoaWxlLXJldmFsaWRhdGUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZS5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKaW5kZXggMzhkYzFkMzlmMWU4NjdkMDRm
MTE1M2ZlNDQ3ZmU0YzcyMGNkNTYzYi4uZjg1NWJhODYxMmI2OTMwMGVhMmVjMDFlZmE5NDAwNDM4
ZmJlNDQ2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlLmgKQEAg
LTEyMyw2ICsxMjMsOCBAQCBwcml2YXRlOgogfTsKIAogY2xhc3MgU3RydWN0dXJlIGZpbmFsIDog
cHVibGljIEpTQ2VsbCB7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50MTZfdCBzaG9ydEludmFs
aWRPZmZzZXQgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQxNl90Pjo6bWF4KCkgLSAxOworICAg
IHN0YXRpYyBjb25zdGV4cHIgdWludDE2X3QgdXNlUmFyZURhdGFGbGFnID0gc3RkOjpudW1lcmlj
X2xpbWl0czx1aW50MTZfdD46Om1heCgpOwogcHVibGljOgogICAgIGZyaWVuZCBjbGFzcyBTdHJ1
Y3R1cmVUcmFuc2l0aW9uVGFibGU7CiAKQEAgLTM2MSw3ICszNjMsNyBAQCBwdWJsaWM6CiAgICAg
ICAgICAgICByZXR1cm4gcmFyZURhdGEoKS0+bV9tYXhPZmZzZXQ7CiAgICAgICAgIHJldHVybiBt
X21heE9mZnNldDsKICAgICB9Ci0gICAgCisKICAgICB2b2lkIHNldE1heE9mZnNldChWTSYgdm0s
IFByb3BlcnR5T2Zmc2V0IG9mZnNldCkKICAgICB7CiAgICAgICAgIGlmIChvZmZzZXQgPT0gaW52
YWxpZE9mZnNldCkKQEAgLTgyNCw5ICs4MjYsNiBAQCBwcml2YXRlOgogCiAgICAgQ09NUElMRV9B
U1NFUlQoZmlyc3RPdXRPZkxpbmVPZmZzZXQgPCAyNTYsIGZpcnN0T3V0T2ZMaW5lT2Zmc2V0X2Zp
dHMpOwogCi0gICAgc3RhdGljIGNvbnN0ZXhwciB1aW50MTZfdCBzaG9ydEludmFsaWRPZmZzZXQg
PSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQxNl90Pjo6bWF4KCk7Ci0gICAgc3RhdGljIGNvbnN0
ZXhwciB1aW50MTZfdCB1c2VSYXJlRGF0YUZsYWcgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQx
Nl90Pjo6bWF4KCkgLSAxOwotCiAgICAgdWludDE2X3QgbV90cmFuc2l0aW9uT2Zmc2V0OwogICAg
IHVpbnQxNl90IG1fbWF4T2Zmc2V0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKaW5kZXggMDYyMzQ5NDczMDFhZGUyNDAwODEz
ZDg2NTczMTk2MTAzNzBkYzE1Zi4uNDU2NmYxODVjMWE4YTQ3Zjg3NzU3YjkzZDU0NGFmMTIyYWM5
MzRhNiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJl
UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVy
ZVJhcmVEYXRhLmNwcApAQCAtNTcsNyArNTcsNiBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpk
ZXN0cm95KEpTQ2VsbCogY2VsbCkKIAogU3RydWN0dXJlUmFyZURhdGE6OlN0cnVjdHVyZVJhcmVE
YXRhKFZNJiB2bSwgU3RydWN0dXJlKiBwcmV2aW91cykKICAgICA6IEpTQ2VsbCh2bSwgdm0uc3Ry
dWN0dXJlUmFyZURhdGFTdHJ1Y3R1cmUuZ2V0KCkpCi0gICAgLCBtX2dpdmVVcE9uT2JqZWN0VG9T
dHJpbmdWYWx1ZUNhY2hlKGZhbHNlKQogICAgICwgbV9tYXhPZmZzZXQoaW52YWxpZE9mZnNldCkK
ICAgICAsIG1fdHJhbnNpdGlvbk9mZnNldChpbnZhbGlkT2Zmc2V0KQogewpAQCAtNzIsNyArNzEs
NyBAQCB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjp2aXNpdENoaWxkcmVuKEpTQ2VsbCogY2VsbCwg
U2xvdFZpc2l0b3ImIHZpc2l0b3IpCiAKICAgICBCYXNlOjp2aXNpdENoaWxkcmVuKHRoaXNPYmpl
Y3QsIHZpc2l0b3IpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fcHJldmlvdXMp
OwotICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fb2JqZWN0VG9TdHJpbmdWYWx1ZSk7
CisgICAgdmlzaXRvci5hcHBlbmRVbmJhcnJpZXJlZCh0aGlzT2JqZWN0LT5vYmplY3RUb1N0cmlu
Z1ZhbHVlKCkpOwogICAgIHZpc2l0b3IuYXBwZW5kKHRoaXNPYmplY3QtPm1fY2FjaGVkUHJvcGVy
dHlOYW1lRW51bWVyYXRvcik7CiAgICAgYXV0byogY2FjaGVkT3duS2V5cyA9IHRoaXNPYmplY3Qt
Pm1fY2FjaGVkT3duS2V5cy51bnZhbGlkYXRlZEdldCgpOwogICAgIGlmIChjYWNoZWRPd25LZXlz
ICE9IGNhY2hlZE93bktleXNTZW50aW5lbCgpKQpAQCAtOTUsNyArOTQsNyBAQCBwcml2YXRlOgog
CiB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRPYmplY3RUb1N0cmluZ1ZhbHVlKEpTR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0dXJlKiBvd25TdHJ1Y3R1cmUsIEpT
U3RyaW5nKiB2YWx1ZSwgUHJvcGVydHlTbG90IHRvU3RyaW5nVGFnU3ltYm9sU2xvdCkKIHsKLSAg
ICBpZiAobV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSkKKyAgICBpZiAoZG9HaXZl
VXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSgpKQogICAgICAgICByZXR1cm47CiAKICAgICBP
YmplY3RQcm9wZXJ0eUNvbmRpdGlvblNldCBjb25kaXRpb25TZXQ7CkBAIC0xMTksNyArMTE4LDcg
QEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6c2V0T2JqZWN0VG9TdHJpbmdWYWx1ZShKU0dsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYKICAgICAgICAgcmV0dXJuOwogCiAgICAgaWYgKCFj
b25kaXRpb25TZXQuaXNWYWxpZCgpKSB7Ci0gICAgICAgIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmlu
Z1ZhbHVlQ2FjaGUgPSB0cnVlOworICAgICAgICBnaXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVD
YWNoZSgpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMzIsMTEgKzEzMSwxMSBAQCB2
b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpzZXRPYmplY3RUb1N0cmluZ1ZhbHVlKEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFZNJgogCiAgICAgICAgICAgICAvLyBUaGUgZXF1aXZhbGVuY2Ug
Y29uZGl0aW9uIHdvbid0IGJlIHdhdGNoYWJsZSBpZiB3ZSBoYXZlIGFscmVhZHkgc2VlbiBhIHJl
cGxhY2VtZW50LgogICAgICAgICAgICAgaWYgKCFlcXVpdkNvbmRpdGlvbi5pc1dhdGNoYWJsZSgp
KSB7Ci0gICAgICAgICAgICAgICAgbV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSA9
IHRydWU7CisgICAgICAgICAgICAgICAgZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUo
KTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxz
ZSBpZiAoIWNvbmRpdGlvbi5pc1dhdGNoYWJsZSgpKSB7Ci0gICAgICAgICAgICBtX2dpdmVVcE9u
T2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlID0gdHJ1ZTsKKyAgICAgICAgICAgIGdpdmVVcE9uT2Jq
ZWN0VG9TdHJpbmdWYWx1ZUNhY2hlKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0K
ICAgICB9CkBAIC0xNTcsNyArMTU2LDggQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2xlYXJP
YmplY3RUb1N0cmluZ1ZhbHVlKCkKIHsKICAgICBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVXYXRj
aHBvaW50U2V0LmNsZWFyKCk7CiAgICAgbV9vYmplY3RUb1N0cmluZ0FkYXB0aXZlSW5mZXJyZWRW
YWx1ZVdhdGNocG9pbnQucmVzZXQoKTsKLSAgICBtX29iamVjdFRvU3RyaW5nVmFsdWUuY2xlYXIo
KTsKKyAgICBpZiAoIWRvR2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUoKSkKKyAgICAg
ICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKIHZvaWQgU3RydWN0dXJlUmFy
ZURhdGE6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KFZNJiB2bSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCmluZGV4IDY3OWM5ZTYxNzJj
YzM4ZDU4YmY1OGE1NGI4N2Y2NWVhZjI5Y2Y5ZDMuLjA3Y2ViZmI4ZTBhOGE1MjkxYmNkN2ZlNGIw
Y2NmZDJhMWMzZWIyN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N0cnVjdHVyZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U3RydWN0dXJlUmFyZURhdGEuaApAQCAtNjcsNiArNjcsOSBAQCBwdWJsaWM6CiAKICAgICBKU1N0
cmluZyogb2JqZWN0VG9TdHJpbmdWYWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0T2JqZWN0VG9T
dHJpbmdWYWx1ZShKU0dsb2JhbE9iamVjdCosIFZNJiwgU3RydWN0dXJlKiBiYXNlU3RydWN0dXJl
LCBKU1N0cmluZyogdmFsdWUsIFByb3BlcnR5U2xvdCB0b1N0cmluZ1RhZ1N5bWJvbFNsb3QpOwor
ICAgIHZvaWQgZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUoKSB7IG1fb2JqZWN0VG9T
dHJpbmdWYWx1ZS5zZXRXaXRob3V0V3JpdGVCYXJyaWVyKGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdW
YWx1ZUNhY2hlVmFsdWUoKSk7IH0KKyAgICBib29sIGRvR2l2ZVVwT25PYmplY3RUb1N0cmluZ1Zh
bHVlQ2FjaGUoKSB7IHJldHVybiBtX29iamVjdFRvU3RyaW5nVmFsdWUudW52YWxpZGF0ZWRHZXQo
KSA9PSBnaXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZVZhbHVlKCk7IH0KKyAgICBzdGF0
aWMgSlNTdHJpbmcqIGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hlVmFsdWUoKSB7IHJl
dHVybiBiaXR3aXNlX2Nhc3Q8SlNTdHJpbmcqPihzdGF0aWNfY2FzdDx1aW50cHRyX3Q+KDEpKTsg
fQogCiAgICAgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKiBjYWNoZWRQcm9wZXJ0eU5hbWVFbnVt
ZXJhdG9yKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9y
KFZNJiwgSlNQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKik7CkBAIC0xMTMsNyArMTE2LDYgQEAgcHJp
dmF0ZToKICAgICBCYWc8T2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVN0cnVjdHVyZVdhdGNocG9pbnQ+
IG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2ZVdhdGNocG9pbnRTZXQ7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPE9iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFByb3BlcnR5VmFsdWVXYXRjaHBvaW50
PiBtX29iamVjdFRvU3RyaW5nQWRhcHRpdmVJbmZlcnJlZFZhbHVlV2F0Y2hwb2ludDsKICAgICBC
b3g8SW5saW5lV2F0Y2hwb2ludFNldD4gbV9wb2x5UHJvdG9XYXRjaHBvaW50OwotICAgIGJvb2wg
bV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZTsKIAogICAgIFByb3BlcnR5T2Zmc2V0
IG1fbWF4T2Zmc2V0OwogICAgIFByb3BlcnR5T2Zmc2V0IG1fdHJhbnNpdGlvbk9mZnNldDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRh
SW5saW5lcy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGFJbmxpbmVzLmgKaW5kZXggNDhjZWI2ZDU3YzNmZjRjZWVkZTVlNTU2ZDc2MmYzZjNhNzQzN2Zh
Ny4uNDBlNzkwZTI3MDlhNmUyZGFjMjg0NmVhMjAxMDhmZTAyMjRjY2RiNSAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGFJbmxp
bmVzLmgKQEAgLTQ0LDcgKzQ0LDEyIEBAIGlubGluZSB2b2lkIFN0cnVjdHVyZVJhcmVEYXRhOjpj
bGVhclByZXZpb3VzSUQoKQogCiBpbmxpbmUgSlNTdHJpbmcqIFN0cnVjdHVyZVJhcmVEYXRhOjpv
YmplY3RUb1N0cmluZ1ZhbHVlKCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9vYmplY3RUb1N0cmlu
Z1ZhbHVlLmdldCgpOworICAgIGF1dG8qIHZhbHVlID0gbV9vYmplY3RUb1N0cmluZ1ZhbHVlLnVu
dmFsaWRhdGVkR2V0KCk7CisgICAgaWYgKHZhbHVlID09IGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdW
YWx1ZUNhY2hlVmFsdWUoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgaWYgKHZhbHVl
KQorICAgICAgICB2YWxpZGF0ZUNlbGwodmFsdWUpOworICAgIHJldHVybiB2YWx1ZTsKIH0KIAog
aW5saW5lIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvciogU3RydWN0dXJlUmFyZURhdGE6OmNhY2hl
ZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389174</attachid>
            <date>2020-01-29 12:45:36 -0800</date>
            <delta_ts>2020-01-29 13:30:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206557-20200129124536.patch</filename>
            <type>text/plain</type>
            <size>7642</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MzI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
YjdmNzRlNDAxZjgyZmU2MTU2NzRhMTA4NGMxZjhmZjU0ZGViNjlkLi4yNmUwZjcwZGM3MWRiNGQy
ZGZmZmE0MWIwMTkzNDY1NTA0ZDk5NzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAyMC0wMS0yOSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgRml4IHNtYWxsIG1lbW9yeSByZWdyZXNzaW9uIGNhdXNlZCBi
eSByMjA2MzY1CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMDY1NTcKKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisgICAgICAg
IFB1dCBTdHJ1Y3R1cmVSYXJlRGF0YTo6bV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNo
ZSBpbnRvIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZSB0byBwcmV2ZW50IGluY3JlYXNpbmcgU3RydWN0
dXJlUmFyZURhdGEncyBzaXplLiBXZSBtYWtlIGEgc3BlY2lhbCB2YWx1ZSBmb3IgdGhlIHBvaW50
ZXIKKyAgICAgICAgb2JqZWN0VG9TdHJpbmdDYWNoZUdpdmVVcE1hcmtlcigpIHRvIHNpZ25hbCB0
aGF0IHdlIHNob3VsZCBub3QgY2FjaGUgdGhlIHN0cmluZyB2YWx1ZS4gQXMgYSByZXN1bHQsIGFk
ZGluZyBtX3RyYW5zaXRpb25PZmZzZXQgZG9lcyBub3QgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhl
IGNsYXNzLgorCisgICAgICAgICogcnVudGltZS9TdHJ1Y3R1cmUuaDoKKyAgICAgICAgKiBydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURh
dGE6OlN0cnVjdHVyZVJhcmVEYXRhKToKKyAgICAgICAgKEpTQzo6U3RydWN0dXJlUmFyZURhdGE6
OnZpc2l0Q2hpbGRyZW4pOgorICAgICAgICAoSlNDOjpTdHJ1Y3R1cmVSYXJlRGF0YTo6c2V0T2Jq
ZWN0VG9TdHJpbmdWYWx1ZSk6CisgICAgICAgIChKU0M6OlN0cnVjdHVyZVJhcmVEYXRhOjpjbGVh
ck9iamVjdFRvU3RyaW5nVmFsdWUpOgorICAgICAgICAqIHJ1bnRpbWUvU3RydWN0dXJlUmFyZURh
dGEuaDoKKyAgICAgICAgKiBydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhSW5saW5lcy5oOgorICAg
ICAgICAoSlNDOjpTdHJ1Y3R1cmVSYXJlRGF0YTo6b2JqZWN0VG9TdHJpbmdWYWx1ZSBjb25zdCk6
CisKIDIwMjAtMDEtMjggIFJvYmluIE1vcmlzc2V0ICA8cm1vcmlzc2V0QGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgdGhlIGluY2x1ZGUgb2YgQnl0ZWNvZGVHZW5lcmF0b3IuaCBpbiBDb2Rl
Q2FjaGUuaApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0
dXJlLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmUuaAppbmRleCAz
OGRjMWQzOWYxZTg2N2QwNGYxMTUzZmU0NDdmZTRjNzIwY2Q1NjNiLi5mODU1YmE4NjEyYjY5MzAw
ZWEyZWMwMWVmYTk0MDA0MzhmYmU0NDZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9TdHJ1Y3R1cmUuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TdHJ1Y3R1cmUuaApAQCAtMTIzLDYgKzEyMyw4IEBAIHByaXZhdGU6CiB9OwogCiBjbGFzcyBT
dHJ1Y3R1cmUgZmluYWwgOiBwdWJsaWMgSlNDZWxsIHsKKyAgICBzdGF0aWMgY29uc3RleHByIHVp
bnQxNl90IHNob3J0SW52YWxpZE9mZnNldCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDE2X3Q+
OjptYXgoKSAtIDE7CisgICAgc3RhdGljIGNvbnN0ZXhwciB1aW50MTZfdCB1c2VSYXJlRGF0YUZs
YWcgPSBzdGQ6Om51bWVyaWNfbGltaXRzPHVpbnQxNl90Pjo6bWF4KCk7CiBwdWJsaWM6CiAgICAg
ZnJpZW5kIGNsYXNzIFN0cnVjdHVyZVRyYW5zaXRpb25UYWJsZTsKIApAQCAtMzYxLDcgKzM2Myw3
IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiByYXJlRGF0YSgpLT5tX21heE9mZnNldDsK
ICAgICAgICAgcmV0dXJuIG1fbWF4T2Zmc2V0OwogICAgIH0KLSAgICAKKwogICAgIHZvaWQgc2V0
TWF4T2Zmc2V0KFZNJiB2bSwgUHJvcGVydHlPZmZzZXQgb2Zmc2V0KQogICAgIHsKICAgICAgICAg
aWYgKG9mZnNldCA9PSBpbnZhbGlkT2Zmc2V0KQpAQCAtODI0LDkgKzgyNiw2IEBAIHByaXZhdGU6
CiAKICAgICBDT01QSUxFX0FTU0VSVChmaXJzdE91dE9mTGluZU9mZnNldCA8IDI1NiwgZmlyc3RP
dXRPZkxpbmVPZmZzZXRfZml0cyk7CiAKLSAgICBzdGF0aWMgY29uc3RleHByIHVpbnQxNl90IHNo
b3J0SW52YWxpZE9mZnNldCA9IHN0ZDo6bnVtZXJpY19saW1pdHM8dWludDE2X3Q+OjptYXgoKTsK
LSAgICBzdGF0aWMgY29uc3RleHByIHVpbnQxNl90IHVzZVJhcmVEYXRhRmxhZyA9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8dWludDE2X3Q+OjptYXgoKSAtIDE7Ci0KICAgICB1aW50MTZfdCBtX3RyYW5z
aXRpb25PZmZzZXQ7CiAgICAgdWludDE2X3QgbV9tYXhPZmZzZXQ7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmNwcAppbmRleCAwNjIz
NDk0NzMwMWFkZTI0MDA4MTNkODY1NzMxOTYxMDM3MGRjMTVmLi5iNWE5OGRiZTRjOWIzMmJhZmZh
NmY0OGMyYmNlNDcwNmEwMTEwNDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGEuY3BwCkBAIC01Nyw3ICs1Nyw2IEBAIHZvaWQgU3Ry
dWN0dXJlUmFyZURhdGE6OmRlc3Ryb3koSlNDZWxsKiBjZWxsKQogCiBTdHJ1Y3R1cmVSYXJlRGF0
YTo6U3RydWN0dXJlUmFyZURhdGEoVk0mIHZtLCBTdHJ1Y3R1cmUqIHByZXZpb3VzKQogICAgIDog
SlNDZWxsKHZtLCB2bS5zdHJ1Y3R1cmVSYXJlRGF0YVN0cnVjdHVyZS5nZXQoKSkKLSAgICAsIG1f
Z2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUoZmFsc2UpCiAgICAgLCBtX21heE9mZnNl
dChpbnZhbGlkT2Zmc2V0KQogICAgICwgbV90cmFuc2l0aW9uT2Zmc2V0KGludmFsaWRPZmZzZXQp
CiB7CkBAIC03Miw3ICs3MSw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnZpc2l0Q2hpbGRy
ZW4oSlNDZWxsKiBjZWxsLCBTbG90VmlzaXRvciYgdmlzaXRvcikKIAogICAgIEJhc2U6OnZpc2l0
Q2hpbGRyZW4odGhpc09iamVjdCwgdmlzaXRvcik7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09i
amVjdC0+bV9wcmV2aW91cyk7Ci0gICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVjdC0+bV9vYmpl
Y3RUb1N0cmluZ1ZhbHVlKTsKKyAgICB2aXNpdG9yLmFwcGVuZFVuYmFycmllcmVkKHRoaXNPYmpl
Y3QtPm9iamVjdFRvU3RyaW5nVmFsdWUoKSk7CiAgICAgdmlzaXRvci5hcHBlbmQodGhpc09iamVj
dC0+bV9jYWNoZWRQcm9wZXJ0eU5hbWVFbnVtZXJhdG9yKTsKICAgICBhdXRvKiBjYWNoZWRPd25L
ZXlzID0gdGhpc09iamVjdC0+bV9jYWNoZWRPd25LZXlzLnVudmFsaWRhdGVkR2V0KCk7CiAgICAg
aWYgKGNhY2hlZE93bktleXMgIT0gY2FjaGVkT3duS2V5c1NlbnRpbmVsKCkpCkBAIC05NSw3ICs5
NCw3IEBAIHByaXZhdGU6CiAKIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldE9iamVjdFRvU3Ry
aW5nVmFsdWUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUq
IG93blN0cnVjdHVyZSwgSlNTdHJpbmcqIHZhbHVlLCBQcm9wZXJ0eVNsb3QgdG9TdHJpbmdUYWdT
eW1ib2xTbG90KQogewotICAgIGlmIChtX2dpdmVVcE9uT2JqZWN0VG9TdHJpbmdWYWx1ZUNhY2hl
KQorICAgIGlmIChjYW5DYWNoZU9iamVjdFRvU3RyaW5nVmFsdWUoKSkKICAgICAgICAgcmV0dXJu
OwogCiAgICAgT2JqZWN0UHJvcGVydHlDb25kaXRpb25TZXQgY29uZGl0aW9uU2V0OwpAQCAtMTE5
LDcgKzExOCw3IEBAIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OnNldE9iamVjdFRvU3RyaW5nVmFs
dWUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mCiAgICAgICAgIHJldHVybjsKIAog
ICAgIGlmICghY29uZGl0aW9uU2V0LmlzVmFsaWQoKSkgewotICAgICAgICBtX2dpdmVVcE9uT2Jq
ZWN0VG9TdHJpbmdWYWx1ZUNhY2hlID0gdHJ1ZTsKKyAgICAgICAgZ2l2ZVVwT25PYmplY3RUb1N0
cmluZ1ZhbHVlQ2FjaGUoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMTMyLDExICsx
MzEsMTEgQEAgdm9pZCBTdHJ1Y3R1cmVSYXJlRGF0YTo6c2V0T2JqZWN0VG9TdHJpbmdWYWx1ZShK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYKIAogICAgICAgICAgICAgLy8gVGhlIGVx
dWl2YWxlbmNlIGNvbmRpdGlvbiB3b24ndCBiZSB3YXRjaGFibGUgaWYgd2UgaGF2ZSBhbHJlYWR5
IHNlZW4gYSByZXBsYWNlbWVudC4KICAgICAgICAgICAgIGlmICghZXF1aXZDb25kaXRpb24uaXNX
YXRjaGFibGUoKSkgewotICAgICAgICAgICAgICAgIG1fZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1Zh
bHVlQ2FjaGUgPSB0cnVlOworICAgICAgICAgICAgICAgIGdpdmVVcE9uT2JqZWN0VG9TdHJpbmdW
YWx1ZUNhY2hlKCk7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAg
ICAgICB9IGVsc2UgaWYgKCFjb25kaXRpb24uaXNXYXRjaGFibGUoKSkgewotICAgICAgICAgICAg
bV9naXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSA9IHRydWU7CisgICAgICAgICAgICBn
aXZlVXBPbk9iamVjdFRvU3RyaW5nVmFsdWVDYWNoZSgpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAgICAgfQpAQCAtMTU3LDcgKzE1Niw4IEBAIHZvaWQgU3RydWN0dXJlUmFyZURh
dGE6OmNsZWFyT2JqZWN0VG9TdHJpbmdWYWx1ZSgpCiB7CiAgICAgbV9vYmplY3RUb1N0cmluZ0Fk
YXB0aXZlV2F0Y2hwb2ludFNldC5jbGVhcigpOwogICAgIG1fb2JqZWN0VG9TdHJpbmdBZGFwdGl2
ZUluZmVycmVkVmFsdWVXYXRjaHBvaW50LnJlc2V0KCk7Ci0gICAgbV9vYmplY3RUb1N0cmluZ1Zh
bHVlLmNsZWFyKCk7CisgICAgaWYgKCFjYW5DYWNoZU9iamVjdFRvU3RyaW5nVmFsdWUoKSkKKyAg
ICAgICAgbV9vYmplY3RUb1N0cmluZ1ZhbHVlLmNsZWFyKCk7CiB9CiAKIHZvaWQgU3RydWN0dXJl
UmFyZURhdGE6OmZpbmFsaXplVW5jb25kaXRpb25hbGx5KFZNJiB2bSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmggYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YS5oCmluZGV4IDY3OWM5ZTYx
NzJjYzM4ZDU4YmY1OGE1NGI4N2Y2NWVhZjI5Y2Y5ZDMuLjA3ZWQ5MDRkZTc4ZDdkNDg5NTYwYWU4
ODRkYzliZjk4MTRkZTEwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1N0cnVjdHVyZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3RydWN0dXJlUmFyZURhdGEuaApAQCAtNjcsNiArNjcsOSBAQCBwdWJsaWM6CiAKICAgICBK
U1N0cmluZyogb2JqZWN0VG9TdHJpbmdWYWx1ZSgpIGNvbnN0OwogICAgIHZvaWQgc2V0T2JqZWN0
VG9TdHJpbmdWYWx1ZShKU0dsb2JhbE9iamVjdCosIFZNJiwgU3RydWN0dXJlKiBiYXNlU3RydWN0
dXJlLCBKU1N0cmluZyogdmFsdWUsIFByb3BlcnR5U2xvdCB0b1N0cmluZ1RhZ1N5bWJvbFNsb3Qp
OworICAgIHZvaWQgZ2l2ZVVwT25PYmplY3RUb1N0cmluZ1ZhbHVlQ2FjaGUoKSB7IG1fb2JqZWN0
VG9TdHJpbmdWYWx1ZS5zZXRXaXRob3V0V3JpdGVCYXJyaWVyKG9iamVjdFRvU3RyaW5nQ2FjaGVH
aXZlVXBNYXJrZXIoKSk7IH0KKyAgICBib29sIGNhbkNhY2hlT2JqZWN0VG9TdHJpbmdWYWx1ZSgp
IHsgcmV0dXJuIG1fb2JqZWN0VG9TdHJpbmdWYWx1ZS51bnZhbGlkYXRlZEdldCgpID09IG9iamVj
dFRvU3RyaW5nQ2FjaGVHaXZlVXBNYXJrZXIoKTsgfQorICAgIHN0YXRpYyBKU1N0cmluZyogb2Jq
ZWN0VG9TdHJpbmdDYWNoZUdpdmVVcE1hcmtlcigpIHsgcmV0dXJuIGJpdHdpc2VfY2FzdDxKU1N0
cmluZyo+KHN0YXRpY19jYXN0PHVpbnRwdHJfdD4oMSkpOyB9CiAKICAgICBKU1Byb3BlcnR5TmFt
ZUVudW1lcmF0b3IqIGNhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoKSBjb25zdDsKICAgICB2
b2lkIHNldENhY2hlZFByb3BlcnR5TmFtZUVudW1lcmF0b3IoVk0mLCBKU1Byb3BlcnR5TmFtZUVu
dW1lcmF0b3IqKTsKQEAgLTExMyw3ICsxMTYsNiBAQCBwcml2YXRlOgogICAgIEJhZzxPYmplY3RU
b1N0cmluZ0FkYXB0aXZlU3RydWN0dXJlV2F0Y2hwb2ludD4gbV9vYmplY3RUb1N0cmluZ0FkYXB0
aXZlV2F0Y2hwb2ludFNldDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8T2JqZWN0VG9TdHJpbmdBZGFw
dGl2ZUluZmVycmVkUHJvcGVydHlWYWx1ZVdhdGNocG9pbnQ+IG1fb2JqZWN0VG9TdHJpbmdBZGFw
dGl2ZUluZmVycmVkVmFsdWVXYXRjaHBvaW50OwogICAgIEJveDxJbmxpbmVXYXRjaHBvaW50U2V0
PiBtX3BvbHlQcm90b1dhdGNocG9pbnQ7Ci0gICAgYm9vbCBtX2dpdmVVcE9uT2JqZWN0VG9TdHJp
bmdWYWx1ZUNhY2hlOwogCiAgICAgUHJvcGVydHlPZmZzZXQgbV9tYXhPZmZzZXQ7CiAgICAgUHJv
cGVydHlPZmZzZXQgbV90cmFuc2l0aW9uT2Zmc2V0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvU3RydWN0dXJlUmFyZURhdGFJbmxpbmVzLmggYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaAppbmRleCA0OGNl
YjZkNTdjM2ZmNGNlZWRlNWU1NTZkNzYyZjNmM2E3NDM3ZmE3Li5lMmZkNTA0YWM2YmExOGY0ZGIy
ZDdhOTMxMDA3MzBjNTA5YTFmZGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9TdHJ1Y3R1cmVSYXJlRGF0YUlubGluZXMuaApAQCAtNDQsNyArNDQsMTIg
QEAgaW5saW5lIHZvaWQgU3RydWN0dXJlUmFyZURhdGE6OmNsZWFyUHJldmlvdXNJRCgpCiAKIGlu
bGluZSBKU1N0cmluZyogU3RydWN0dXJlUmFyZURhdGE6Om9iamVjdFRvU3RyaW5nVmFsdWUoKSBj
b25zdAogewotICAgIHJldHVybiBtX29iamVjdFRvU3RyaW5nVmFsdWUuZ2V0KCk7CisgICAgYXV0
byogdmFsdWUgPSBtX29iamVjdFRvU3RyaW5nVmFsdWUudW52YWxpZGF0ZWRHZXQoKTsKKyAgICBp
ZiAodmFsdWUgPT0gb2JqZWN0VG9TdHJpbmdDYWNoZUdpdmVVcE1hcmtlcigpKQorICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKKyAgICBpZiAodmFsdWUpCisgICAgICAgIHZhbGlkYXRlQ2VsbCh2YWx1
ZSk7CisgICAgcmV0dXJuIHZhbHVlOwogfQogCiBpbmxpbmUgSlNQcm9wZXJ0eU5hbWVFbnVtZXJh
dG9yKiBTdHJ1Y3R1cmVSYXJlRGF0YTo6Y2FjaGVkUHJvcGVydHlOYW1lRW51bWVyYXRvcigpIGNv
bnN0Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>