<?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>205697</bug_id>
          
          <creation_ts>2020-01-02 15:16:27 -0800</creation_ts>
          <short_desc>AI rule for PutById can only observe transitions when it watches the condition</short_desc>
          <delta_ts>2020-01-03 01:20:57 -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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</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>1602255</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-02 15:16:27 -0800</bug_when>
    <thetext>otherwise, it has no way to know that the transition it reports is valid at runtime</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602272</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-02 15:48:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/56814254&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602276</commentid>
    <comment_count>2</comment_count>
      <attachid>386644</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-02 16:05:10 -0800</bug_when>
    <thetext>Created attachment 386644
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602283</commentid>
    <comment_count>3</comment_count>
      <attachid>386644</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-01-02 16:36:31 -0800</bug_when>
    <thetext>Comment on attachment 386644
patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:3771
&gt; +            bool isOK = true;

I recommend using `allGood` instead of `isOK` to align the name to the constant-folding phase one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602284</commentid>
    <comment_count>4</comment_count>
      <attachid>386644</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-02 16:41:09 -0800</bug_when>
    <thetext>Comment on attachment 386644
patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:3771
&gt;&gt; +            bool isOK = true;
&gt; 
&gt; I recommend using `allGood` instead of `isOK` to align the name to the constant-folding phase one.

will do</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602285</commentid>
    <comment_count>5</comment_count>
      <attachid>386646</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2020-01-02 16:42:11 -0800</bug_when>
    <thetext>Created attachment 386646
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602355</commentid>
    <comment_count>6</comment_count>
      <attachid>386646</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-03 01:20:55 -0800</bug_when>
    <thetext>Comment on attachment 386646
patch for landing

Clearing flags on attachment: 386646

Committed r253991: &lt;https://trac.webkit.org/changeset/253991&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1602356</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-03 01:20:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386644</attachid>
            <date>2020-01-02 16:05:10 -0800</date>
            <delta_ts>2020-01-02 16:42:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9828</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTM5ODQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDIwLTAxLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEFJIHJ1bGUgZm9yIFB1dEJ5SWQgY2FuIG9ubHkgb2JzZXJ2ZSB0cmFu
c2l0aW9ucyB3aGVuIGl0IHdhdGNoZXMgdGhlIGNvbmRpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1Njk3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS81NjgxNDI1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHN0cmVzcy9vbmx5LXRyYW5zaXRpb24tc3RydWN0dXJlcy1mb3ItcHV0LWJ5LWlk
LWluLUFJLWlmLXdhdGNoYWJsZS5qczogQWRkZWQuCisgICAgICAgIChsZXQucyk6CisgICAgICAg
ICh0ZXN0Mik6CisKIDIwMjAtMDEtMDIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjUzODY3KTogU2l4IHRlc3QyNjIgdGVzdHMgYnJv
a2VuCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9vbmx5LXRyYW5zaXRpb24tc3RydWN0dXJlcy1mb3It
cHV0LWJ5LWlkLWluLUFJLWlmLXdhdGNoYWJsZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0
cmVzcy9vbmx5LXRyYW5zaXRpb24tc3RydWN0dXJlcy1mb3ItcHV0LWJ5LWlkLWluLUFJLWlmLXdh
dGNoYWJsZS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9vbmx5LXRyYW5zaXRp
b24tc3RydWN0dXJlcy1mb3ItcHV0LWJ5LWlkLWluLUFJLWlmLXdhdGNoYWJsZS5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDIzIEBACisvL0AgcnVuRGVmYXVsdCgiLS11c2VBY2Nlc3NJbmxp
bmluZz0wIiwgIi0taml0UG9saWN5U2NhbGU9MCIpCisKK2xldCBzID0gYAorZnVuY3Rpb24gQ3Rv
cigpIHsKKyAgdGhpcy5iID0gMDsKK30KKworZnVuY3Rpb24gdGVzdDIoKSB7CisgIGxldCBhID0g
bmV3IEN0b3IoKTsKKyAgfmEuYjsKK30KKwordGVzdDIoKTsKK3Rlc3QyKCk7CitnYygpOwordGVz
dDIoKTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShDdG9yLnByb3RvdHlwZSwgJ2InLCB7fSk7CitP
YmplY3QuZGVmaW5lUHJvcGVydHkoQ3Rvci5wcm90b3R5cGUsICcwJywge30pOwordGVzdDIoKTsK
K2AKK2ZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CisgICAgcnVuU3RyaW5nKHMpOwor
fQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNTM5NzUpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAg
QEAKKzIwMjAtMDEtMDIgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CisKKyAgICAg
ICAgQUkgcnVsZSBmb3IgUHV0QnlJZCBjYW4gb25seSBvYnNlcnZlIHRyYW5zaXRpb25zIHdoZW4g
aXQgd2F0Y2hlcyB0aGUgY29uZGl0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDU2OTcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU2ODE0MjU0
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJl
IHdhcyBhIGJ1ZyBpbiBBSSB3aGVyZSB3ZSB3ZXJlIGNhcHR1cmluZyBhIFB1dEJ5SWRTdGF0dXMg
YW5kCisgICAgICAgIGVtaXR0aW5nIGEgc3RydWN0dXJlIHRyYW5zaXRpb24gaW4gQUkgc3RhdGUg
YmFzZWQgb24gdGhlIHZhcmlhbnRzIGluc2lkZSB0aGlzCisgICAgICAgIFB1dEJ5SWRTdGF0dXMu
IFRoaXMsIGluIHByaW5jaXBhbCwgaXMgYSB2YWxpZCBzdGF0aWMgYW5hbHlzaXMgdG8gcGVyZm9y
bS4KKyAgICAgICAgSG93ZXZlciwgd2UgY2FuIG9ubHkgZG8gdGhpcyBpZiB3ZSBlbnN1cmUgdGhh
dCB0aGUgc25hcHNob3Qgd2UgaGF2ZSBpbiB0aGUKKyAgICAgICAgUHV0QnlJZFN0YXR1cyBob2xk
cyBhdCBydW50aW1lLiBXZSBjYW4gZG8gdGhpcyBieSB3YXRjaGluZyB0aGUgcHJvcGVydHkgY29u
ZGl0aW9ucworICAgICAgICBmb3IgdGhlIHZhcmlvdXMgdmFyaWFudHMuIEFJIGZvcmdvdCB0byB3
YXRjaCB0aGVzZSBjb25kaXRpb25zLiBUaGlzIHBhdGNoIGZpeGVzIHRoYXQuCisgICAgICAgIElu
IHByYWN0aWNlLCB0aGlzIGFsc28gbWVhbnMgd2UgbmVlZCB0byBiZSBzbGlnaHRseSBtb3JlIHN0
cmljdCBhYm91dCBzdGF0aW5nIHRvCisgICAgICAgIEFJIHdoZW4gd2UgdHJhbnNpdGlvbiBzaW5j
ZSBzb21lIG9iamVjdCBwcm9wZXJ0eSBjb25kaXRpb25zIGFyZW4ndCB3YXRjaGFibGUsIGFuZCBu
ZWVkCisgICAgICAgIHRvIGJlIHZlcmlmaWVkIGF0IHJ1bnRpbWUgdmlhIHN0cnVjdHVyZSBjaGVj
a3MuIFRoaXMgaXMgb2sgaW4gcHJhY3RpY2UsIHNpbmNlCisgICAgICAgIHdlJ2xsIGVtaXQgdGhl
IGNvZGUgdG8gZG8gdGhhdCBpbnNpZGUgY29uc3RhbnQgZm9sZGluZyAoY29uc3RhbnQgZm9sZGlu
ZyB3YXMKKyAgICAgICAgYWxyZWFkeSBkb2luZyB0aGlzKSwgd2hpY2ggd2lsbCBjb250aW51ZSB0
byByZXBvcnQgdGhlIHByZWNpc2UgdHJhbnNpdGlvbiBpbgorICAgICAgICB0aGUgYWJzdHJhY3Qg
c3RhdGUuCisKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlci5oOgorICAgICAg
ICAqIGRmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpE
Rkc6OkFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5cGU+OjpleGVjdXRlRWZmZWN0
cyk6CisgICAgICAgICogZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcDoKKyAgICAgICAg
KEpTQzo6REZHOjpDb25zdGFudEZvbGRpbmdQaGFzZTo6Zm9sZENvbnN0YW50cyk6CisKIDIwMjAt
MDEtMDIgIFNhbSBXZWluaWcgIDx3ZWluaWdAYXBwbGUuY29tPgogCiAgICAgICAgIFNpbXBsaWZ5
IFN0cmluZ0J1aWxkZXIgQVBJL2FsaWduIHdpdGggbWFrZVN0cmluZyBieSByZW1vdmluZyBhcHBl
bmRGaXhlZCogZnVuY3Rpb25zIGFuZCB1c2luZyBGb3JtYXROdW1iZXIgc3RydWN0IGluc3RlYWQK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRl
cnByZXRlci5oCShyZXZpc2lvbiAyNTM5NzUpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjE1LDkgKzIxNSw5
IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIGZpbHRlcklDU3RhdHVzKE5vZGUqKTsKICAgICAK
LXByaXZhdGU6CiAgICAgdm9pZCBjbG9iYmVyV29ybGQoKTsKICAgICB2b2lkIGRpZEZvbGRDbG9i
YmVyV29ybGQoKTsKK3ByaXZhdGU6CiAgICAgCiAgICAgYm9vbCBoYW5kbGVDb25zdGFudEJpbmFy
eUJpdHdpc2VPcChOb2RlKik7CiAKQEAgLTIyOCw3ICsyMjgsOSBAQCBwcml2YXRlOgogICAgIHZv
aWQgZGlkRm9sZENsb2JiZXJTdHJ1Y3R1cmVzKCk7CiAgICAgCiAgICAgdm9pZCBvYnNlcnZlVHJh
bnNpdGlvbih1bnNpZ25lZCBpbmRleEluQmxvY2ssIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgZnJvbSwg
UmVnaXN0ZXJlZFN0cnVjdHVyZSB0byk7CitwdWJsaWM6CiAgICAgdm9pZCBvYnNlcnZlVHJhbnNp
dGlvbnModW5zaWduZWQgaW5kZXhJbkJsb2NrLCBjb25zdCBUcmFuc2l0aW9uVmVjdG9yJik7Citw
cml2YXRlOgogICAgIAogICAgIGVudW0gQm9vbGVhblJlc3VsdCB7CiAgICAgICAgIFVua25vd25C
b29sZWFuUmVzdWx0LApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAkocmV2aXNpb24gMjUzOTc1KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5l
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNzY4LDEyICszNzY4LDIyIEBAIGJvb2wgQWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgICAgICBtX2dyYXBoLmlkZW50
aWZpZXJzKClbbm9kZS0+aWRlbnRpZmllck51bWJlcigpXSwKICAgICAgICAgICAgICAgICBub2Rl
LT5vcCgpID09IFB1dEJ5SWREaXJlY3QpOwogCisgICAgICAgICAgICBib29sIGlzT0sgPSB0cnVl
OwogICAgICAgICAgICAgaWYgKHN0YXR1cy5pc1NpbXBsZSgpKSB7CiAgICAgICAgICAgICAgICAg
UmVnaXN0ZXJlZFN0cnVjdHVyZVNldCBuZXdTZXQ7CiAgICAgICAgICAgICAgICAgVHJhbnNpdGlv
blZlY3RvciB0cmFuc2l0aW9uczsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSBzdGF0dXMubnVtVmFyaWFudHMoKTsgaS0tOykgewotICAgICAgICAg
ICAgICAgICAgICBjb25zdCBQdXRCeUlkVmFyaWFudCYgdmFyaWFudCA9IHN0YXR1c1tpXTsKKyAg
ICAgICAgICAgICAgICBmb3IgKGNvbnN0IFB1dEJ5SWRWYXJpYW50JiB2YXJpYW50IDogc3RhdHVz
LnZhcmlhbnRzKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBPYmplY3RQcm9w
ZXJ0eUNvbmRpdGlvbiYgY29uZGl0aW9uIDogdmFyaWFudC5jb25kaXRpb25TZXQoKSkgeworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKCFtX2dyYXBoLndhdGNoQ29uZGl0aW9uKGNvbmRpdGlv
bikpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc09LID0gZmFsc2U7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAgICBpZiAoIWlzT0spCisg
ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKwogICAgICAgICAgICAgICAgICAgICBpZiAo
dmFyaWFudC5raW5kKCkgPT0gUHV0QnlJZFZhcmlhbnQ6OlRyYW5zaXRpb24pIHsKICAgICAgICAg
ICAgICAgICAgICAgICAgIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgbmV3U3RydWN0dXJlID0gbV9ncmFw
aC5yZWdpc3RlclN0cnVjdHVyZSh2YXJpYW50Lm5ld1N0cnVjdHVyZSgpKTsKICAgICAgICAgICAg
ICAgICAgICAgICAgIHRyYW5zaXRpb25zLmFwcGVuZCgKQEAgLTM3ODksMTEgKzM3OTksMTMgQEAg
Ym9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgICAg
IGlmIChzdGF0dXMubnVtVmFyaWFudHMoKSA9PSAxIHx8IG1fZ3JhcGgubV9wbGFuLmlzRlRMKCkp
CiAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGUuc2V0U2hvdWxkVHJ5Q29uc3RhbnRGb2xkaW5n
KHRydWUpOwogICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGRpZEZvbGRDbG9iYmVy
V29ybGQoKTsKLSAgICAgICAgICAgICAgICBvYnNlcnZlVHJhbnNpdGlvbnMoY2xvYmJlckxpbWl0
LCB0cmFuc2l0aW9ucyk7Ci0gICAgICAgICAgICAgICAgaWYgKGZvck5vZGUobm9kZS0+Y2hpbGQx
KCkpLmNoYW5nZVN0cnVjdHVyZShtX2dyYXBoLCBuZXdTZXQpID09IENvbnRyYWRpY3Rpb24pCi0g
ICAgICAgICAgICAgICAgICAgIG1fc3RhdGUuc2V0SXNWYWxpZChmYWxzZSk7Ci0gICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgaWYgKGlzT0spIHsKKyAgICAgICAgICAgICAg
ICAgICAgZGlkRm9sZENsb2JiZXJXb3JsZCgpOworICAgICAgICAgICAgICAgICAgICBvYnNlcnZl
VHJhbnNpdGlvbnMoY2xvYmJlckxpbWl0LCB0cmFuc2l0aW9ucyk7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5jaGFuZ2VTdHJ1Y3R1cmUobV9ncmFwaCwg
bmV3U2V0KSA9PSBDb250cmFkaWN0aW9uKQorICAgICAgICAgICAgICAgICAgICAgICAgbV9zdGF0
ZS5zZXRJc1ZhbGlkKGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFzZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb25zdGFudEZvbGRpbmdQaGFz
ZS5jcHAJKHJldmlzaW9uIDI1Mzk3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MDYsMTggKzYwNiwx
NSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIEFic3RyYWN0VmFsdWUgYmFzZVZhbHVlID0g
bV9zdGF0ZS5mb3JOb2RlKGNoaWxkKTsKICAgICAgICAgICAgICAgICBBYnN0cmFjdFZhbHVlIHZh
bHVlVmFsdWUgPSBtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQyKCkpOwogCi0gICAgICAgICAg
ICAgICAgbV9pbnRlcnByZXRlci5leGVjdXRlKGluZGV4SW5CbG9jayk7IC8vIFB1c2ggQ0ZBIG92
ZXIgdGhpcyBub2RlIGFmdGVyIHdlIGdldCB0aGUgc3RhdGUgYmVmb3JlLgotICAgICAgICAgICAg
ICAgIGFscmVhZHlIYW5kbGVkID0gdHJ1ZTsgLy8gRG9uJ3QgYWxsb3cgdGhlIGRlZmF1bHQgY29u
c3RhbnQgZm9sZGVyIHRvIGRvIHRoaW5ncyB0byB0aGlzLgotCiAgICAgICAgICAgICAgICAgaWYg
KCFiYXNlVmFsdWUubV9zdHJ1Y3R1cmUuaXNGaW5pdGUoKSkKICAgICAgICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgCisKICAgICAgICAgICAgICAgICBQdXRCeUlkU3RhdHVz
IHN0YXR1cyA9IFB1dEJ5SWRTdGF0dXM6OmNvbXB1dGVGb3IoCiAgICAgICAgICAgICAgICAgICAg
IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG9yaWdpbi5zZW1hbnRpYyksCiAgICAgICAgICAgICAg
ICAgICAgIGJhc2VWYWx1ZS5tX3N0cnVjdHVyZS50b1N0cnVjdHVyZVNldCgpLAogICAgICAgICAg
ICAgICAgICAgICBtX2dyYXBoLmlkZW50aWZpZXJzKClbaWRlbnRpZmllck51bWJlcl0sCiAgICAg
ICAgICAgICAgICAgICAgIG5vZGUtPm9wKCkgPT0gUHV0QnlJZERpcmVjdCk7Ci0gICAgICAgICAg
ICAgICAgCisKICAgICAgICAgICAgICAgICBpZiAoIXN0YXR1cy5pc1NpbXBsZSgpKQogICAgICAg
ICAgICAgICAgICAgICBicmVhazsKIApAQCAtNjI5LDkgKzYyNiw5IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAKICAgICAgICAgICAgICAgICBib29sIGFsbEdv
b2QgPSB0cnVlOworICAgICAgICAgICAgICAgIFJlZ2lzdGVyZWRTdHJ1Y3R1cmVTZXQgbmV3U2V0
OworICAgICAgICAgICAgICAgIFRyYW5zaXRpb25WZWN0b3IgdHJhbnNpdGlvbnM7CiAgICAgICAg
ICAgICAgICAgZm9yIChjb25zdCBQdXRCeUlkVmFyaWFudCYgdmFyaWFudCA6IHN0YXR1cy52YXJp
YW50cygpKSB7Ci0gICAgICAgICAgICAgICAgICAgIGlmICghYWxsR29vZCkKLSAgICAgICAgICAg
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IE9iamVj
dFByb3BlcnR5Q29uZGl0aW9uJiBjb25kaXRpb24gOiB2YXJpYW50LmNvbmRpdGlvblNldCgpKSB7
CiAgICAgICAgICAgICAgICAgICAgICAgICBpZiAobV9ncmFwaC53YXRjaENvbmRpdGlvbihjb25k
aXRpb24pKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpAQCAtNjQ4LDEw
ICs2NDUsMzIgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtX2luc2Vy
dGlvblNldC5pbnNlcnRDb25zdGFudEZvclVzZSgKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5kZXhJbkJsb2NrLCBub2RlLT5vcmlnaW4sIGNvbmRpdGlvbi5vYmplY3QoKSwgS25v
d25DZWxsVXNlKSk7CiAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICBpZiAoIWFsbEdvb2QpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAg
ICAgICAgICAgICAgICBpZiAodmFyaWFudC5raW5kKCkgPT0gUHV0QnlJZFZhcmlhbnQ6OlRyYW5z
aXRpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgbmV3
U3RydWN0dXJlID0gbV9ncmFwaC5yZWdpc3RlclN0cnVjdHVyZSh2YXJpYW50Lm5ld1N0cnVjdHVy
ZSgpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb25zLmFwcGVuZCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBUcmFuc2l0aW9uKAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBtX2dyYXBoLnJlZ2lzdGVyU3RydWN0dXJlKHZhcmlhbnQub2xkU3RydWN0dXJl
Rm9yVHJhbnNpdGlvbigpKSwgbmV3U3RydWN0dXJlKSk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBuZXdTZXQuYWRkKG5ld1N0cnVjdHVyZSk7CisgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQodmFyaWFudC5raW5kKCkgPT0gUHV0QnlJ
ZFZhcmlhbnQ6OlJlcGxhY2UpOworICAgICAgICAgICAgICAgICAgICAgICAgbmV3U2V0Lm1lcmdl
KCptX2dyYXBoLmFkZFN0cnVjdHVyZVNldCh2YXJpYW50Lm9sZFN0cnVjdHVyZSgpKSk7CisgICAg
ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBp
ZiAoIWFsbEdvb2QpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICAg
ICAgLy8gUHVzaCBDRkEgb3ZlciB0aGlzIG5vZGUgYWZ0ZXIgd2UgZ2V0IHRoZSBzdGF0ZSBiZWZv
cmUuCisgICAgICAgICAgICAgICAgbV9pbnRlcnByZXRlci5kaWRGb2xkQ2xvYmJlcldvcmxkKCk7
CisgICAgICAgICAgICAgICAgbV9pbnRlcnByZXRlci5vYnNlcnZlVHJhbnNpdGlvbnMoaW5kZXhJ
bkJsb2NrLCB0cmFuc2l0aW9ucyk7CisgICAgICAgICAgICAgICAgaWYgKG1fc3RhdGUuZm9yTm9k
ZShub2RlLT5jaGlsZDEoKSkuY2hhbmdlU3RydWN0dXJlKG1fZ3JhcGgsIG5ld1NldCkgPT0gQ29u
dHJhZGljdGlvbikKKyAgICAgICAgICAgICAgICAgICAgbV9zdGF0ZS5zZXRJc1ZhbGlkKGZhbHNl
KTsKKworICAgICAgICAgICAgICAgIGFscmVhZHlIYW5kbGVkID0gdHJ1ZTsgLy8gRG9uJ3QgYWxs
b3cgdGhlIGRlZmF1bHQgY29uc3RhbnQgZm9sZGVyIHRvIGRvIHRoaW5ncyB0byB0aGlzLgogICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIG1faW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUo
CiAgICAgICAgICAgICAgICAgICAgIGluZGV4SW5CbG9jaywgU3BlY05vbmUsIEZpbHRlclB1dEJ5
SWRTdGF0dXMsIG5vZGUtPm9yaWdpbiwK
</data>
<flag name="review"
          id="402409"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>386646</attachid>
            <date>2020-01-02 16:42:11 -0800</date>
            <delta_ts>2020-01-03 01:20:55 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9802</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyNTM5ODQpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDIwLTAxLTAyICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEFJIHJ1bGUgZm9yIFB1dEJ5SWQgY2FuIG9ubHkgb2JzZXJ2ZSB0cmFu
c2l0aW9ucyB3aGVuIGl0IHdhdGNoZXMgdGhlIGNvbmRpdGlvbgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA1Njk3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS81NjgxNDI1ND4KKworICAgICAgICBSZXZpZXdlZCBieSBZdXN1a2UgU3V6dWtpLgorCisg
ICAgICAgICogc3RyZXNzL29ubHktdHJhbnNpdGlvbi1zdHJ1Y3R1cmVzLWZvci1wdXQtYnktaWQt
aW4tQUktaWYtd2F0Y2hhYmxlLmpzOiBBZGRlZC4KKwogMjAyMC0wMS0wMiAgWXVzdWtlIFN1enVr
aSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTM4NjcpOiBT
aXggdGVzdDI2MiB0ZXN0cyBicm9rZW4KSW5kZXg6IEpTVGVzdHMvc3RyZXNzL29ubHktdHJhbnNp
dGlvbi1zdHJ1Y3R1cmVzLWZvci1wdXQtYnktaWQtaW4tQUktaWYtd2F0Y2hhYmxlLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIEpTVGVzdHMvc3RyZXNzL29ubHktdHJhbnNpdGlvbi1zdHJ1Y3R1cmVzLWZvci1w
dXQtYnktaWQtaW4tQUktaWYtd2F0Y2hhYmxlLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMv
c3RyZXNzL29ubHktdHJhbnNpdGlvbi1zdHJ1Y3R1cmVzLWZvci1wdXQtYnktaWQtaW4tQUktaWYt
d2F0Y2hhYmxlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjMgQEAKKy8vQCBydW5EZWZh
dWx0KCItLXVzZUFjY2Vzc0lubGluaW5nPTAiLCAiLS1qaXRQb2xpY3lTY2FsZT0wIikKKworbGV0
IHMgPSBgCitmdW5jdGlvbiBDdG9yKCkgeworICB0aGlzLmIgPSAwOworfQorCitmdW5jdGlvbiB0
ZXN0MigpIHsKKyAgbGV0IGEgPSBuZXcgQ3RvcigpOworICB+YS5iOworfQorCit0ZXN0MigpOwor
dGVzdDIoKTsKK2djKCk7Cit0ZXN0MigpOworT2JqZWN0LmRlZmluZVByb3BlcnR5KEN0b3IucHJv
dG90eXBlLCAnYicsIHt9KTsKK09iamVjdC5kZWZpbmVQcm9wZXJ0eShDdG9yLnByb3RvdHlwZSwg
JzAnLCB7fSk7Cit0ZXN0MigpOworYAorZm9yIChsZXQgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsK
KyAgICBydW5TdHJpbmcocyk7Cit9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlz
aW9uIDI1Mzk3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAyMC0wMS0wMiAgU2FhbSBCYXJhdGkgIDxzYmFyYXRp
QGFwcGxlLmNvbT4KKworICAgICAgICBBSSBydWxlIGZvciBQdXRCeUlkIGNhbiBvbmx5IG9ic2Vy
dmUgdHJhbnNpdGlvbnMgd2hlbiBpdCB3YXRjaGVzIHRoZSBjb25kaXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNTY5NworICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNTY4MTQyNTQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVr
aS4KKworICAgICAgICBUaGVyZSB3YXMgYSBidWcgaW4gQUkgd2hlcmUgd2Ugd2VyZSBjYXB0dXJp
bmcgYSBQdXRCeUlkU3RhdHVzIGFuZAorICAgICAgICBlbWl0dGluZyBhIHN0cnVjdHVyZSB0cmFu
c2l0aW9uIGluIEFJIHN0YXRlIGJhc2VkIG9uIHRoZSB2YXJpYW50cyBpbnNpZGUgdGhpcworICAg
ICAgICBQdXRCeUlkU3RhdHVzLiBUaGlzLCBpbiBwcmluY2lwYWwsIGlzIGEgdmFsaWQgc3RhdGlj
IGFuYWx5c2lzIHRvIHBlcmZvcm0uCisgICAgICAgIEhvd2V2ZXIsIHdlIGNhbiBvbmx5IGRvIHRo
aXMgaWYgd2UgZW5zdXJlIHRoYXQgdGhlIHNuYXBzaG90IHdlIGhhdmUgaW4gdGhlCisgICAgICAg
IFB1dEJ5SWRTdGF0dXMgaG9sZHMgYXQgcnVudGltZS4gV2UgY2FuIGRvIHRoaXMgYnkgd2F0Y2hp
bmcgdGhlIHByb3BlcnR5IGNvbmRpdGlvbnMKKyAgICAgICAgZm9yIHRoZSB2YXJpb3VzIHZhcmlh
bnRzLiBBSSBmb3Jnb3QgdG8gd2F0Y2ggdGhlc2UgY29uZGl0aW9ucy4gVGhpcyBwYXRjaCBmaXhl
cyB0aGF0LgorICAgICAgICBJbiBwcmFjdGljZSwgdGhpcyBhbHNvIG1lYW5zIHdlIG5lZWQgdG8g
YmUgc2xpZ2h0bHkgbW9yZSBzdHJpY3QgYWJvdXQgc3RhdGluZyB0bworICAgICAgICBBSSB3aGVu
IHdlIHRyYW5zaXRpb24gc2luY2Ugc29tZSBvYmplY3QgcHJvcGVydHkgY29uZGl0aW9ucyBhcmVu
J3Qgd2F0Y2hhYmxlLCBhbmQgbmVlZAorICAgICAgICB0byBiZSB2ZXJpZmllZCBhdCBydW50aW1l
IHZpYSBzdHJ1Y3R1cmUgY2hlY2tzLiBUaGlzIGlzIG9rIGluIHByYWN0aWNlLCBzaW5jZQorICAg
ICAgICB3ZSdsbCBlbWl0IHRoZSBjb2RlIHRvIGRvIHRoYXQgaW5zaWRlIGNvbnN0YW50IGZvbGRp
bmcgKGNvbnN0YW50IGZvbGRpbmcgd2FzCisgICAgICAgIGFscmVhZHkgZG9pbmcgdGhpcyksIHdo
aWNoIHdpbGwgY29udGludWUgdG8gcmVwb3J0IHRoZSBwcmVjaXNlIHRyYW5zaXRpb24gaW4KKyAg
ICAgICAgdGhlIGFic3RyYWN0IHN0YXRlLgorCisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0SW50
ZXJwcmV0ZXIuaDoKKyAgICAgICAgKiBkZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMu
aDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVU
eXBlPjo6ZXhlY3V0ZUVmZmVjdHMpOgorICAgICAgICAqIGRmZy9ERkdDb25zdGFudEZvbGRpbmdQ
aGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Q29uc3RhbnRGb2xkaW5nUGhhc2U6OmZvbGRD
b25zdGFudHMpOgorCiAyMDIwLTAxLTAyICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4K
IAogICAgICAgICBTaW1wbGlmeSBTdHJpbmdCdWlsZGVyIEFQSS9hbGlnbiB3aXRoIG1ha2VTdHJp
bmcgYnkgcmVtb3ZpbmcgYXBwZW5kRml4ZWQqIGZ1bmN0aW9ucyBhbmQgdXNpbmcgRm9ybWF0TnVt
YmVyIHN0cnVjdCBpbnN0ZWFkCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXIuaAkocmV2aXNpb24gMjUzOTc1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTIxNSw5ICsyMTUsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBmaWx0ZXJJQ1N0
YXR1cyhOb2RlKik7CiAgICAgCi1wcml2YXRlOgogICAgIHZvaWQgY2xvYmJlcldvcmxkKCk7CiAg
ICAgdm9pZCBkaWRGb2xkQ2xvYmJlcldvcmxkKCk7Citwcml2YXRlOgogICAgIAogICAgIGJvb2wg
aGFuZGxlQ29uc3RhbnRCaW5hcnlCaXR3aXNlT3AoTm9kZSopOwogCkBAIC0yMjgsNyArMjI4LDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZvbGRDbG9iYmVyU3RydWN0dXJlcygpOwogICAgIAog
ICAgIHZvaWQgb2JzZXJ2ZVRyYW5zaXRpb24odW5zaWduZWQgaW5kZXhJbkJsb2NrLCBSZWdpc3Rl
cmVkU3RydWN0dXJlIGZyb20sIFJlZ2lzdGVyZWRTdHJ1Y3R1cmUgdG8pOworcHVibGljOgogICAg
IHZvaWQgb2JzZXJ2ZVRyYW5zaXRpb25zKHVuc2lnbmVkIGluZGV4SW5CbG9jaywgY29uc3QgVHJh
bnNpdGlvblZlY3RvciYpOworcHJpdmF0ZToKICAgICAKICAgICBlbnVtIEJvb2xlYW5SZXN1bHQg
ewogICAgICAgICBVbmtub3duQm9vbGVhblJlc3VsdCwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJ
KHJldmlzaW9uIDI1Mzk3NSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMzc2OCwxMiArMzc2OCwy
MiBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAg
ICAgICAgbV9ncmFwaC5pZGVudGlmaWVycygpW25vZGUtPmlkZW50aWZpZXJOdW1iZXIoKV0sCiAg
ICAgICAgICAgICAgICAgbm9kZS0+b3AoKSA9PSBQdXRCeUlkRGlyZWN0KTsKIAorICAgICAgICAg
ICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKICAgICAgICAgICAgIGlmIChzdGF0dXMuaXNTaW1wbGUo
KSkgewogICAgICAgICAgICAgICAgIFJlZ2lzdGVyZWRTdHJ1Y3R1cmVTZXQgbmV3U2V0OwogICAg
ICAgICAgICAgICAgIFRyYW5zaXRpb25WZWN0b3IgdHJhbnNpdGlvbnM7CiAgICAgICAgICAgICAg
ICAgCi0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gc3RhdHVzLm51bVZhcmlhbnRz
KCk7IGktLTspIHsKLSAgICAgICAgICAgICAgICAgICAgY29uc3QgUHV0QnlJZFZhcmlhbnQmIHZh
cmlhbnQgPSBzdGF0dXNbaV07CisgICAgICAgICAgICAgICAgZm9yIChjb25zdCBQdXRCeUlkVmFy
aWFudCYgdmFyaWFudCA6IHN0YXR1cy52YXJpYW50cygpKSB7CisgICAgICAgICAgICAgICAgICAg
IGZvciAoY29uc3QgT2JqZWN0UHJvcGVydHlDb25kaXRpb24mIGNvbmRpdGlvbiA6IHZhcmlhbnQu
Y29uZGl0aW9uU2V0KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghbV9ncmFwaC53
YXRjaENvbmRpdGlvbihjb25kaXRpb24pKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
YWxsR29vZCA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKCFhbGxHb29kKQorICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
CisKICAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlhbnQua2luZCgpID09IFB1dEJ5SWRWYXJp
YW50OjpUcmFuc2l0aW9uKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlcmVkU3Ry
dWN0dXJlIG5ld1N0cnVjdHVyZSA9IG1fZ3JhcGgucmVnaXN0ZXJTdHJ1Y3R1cmUodmFyaWFudC5u
ZXdTdHJ1Y3R1cmUoKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9ucy5hcHBl
bmQoCkBAIC0zNzg5LDExICszNzk5LDEzIEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzLm51bVZhcmlhbnRzKCkgPT0g
MSB8fCBtX2dyYXBoLm1fcGxhbi5pc0ZUTCgpKQogICAgICAgICAgICAgICAgICAgICBtX3N0YXRl
LnNldFNob3VsZFRyeUNvbnN0YW50Rm9sZGluZyh0cnVlKTsKICAgICAgICAgICAgICAgICAKLSAg
ICAgICAgICAgICAgICBkaWRGb2xkQ2xvYmJlcldvcmxkKCk7Ci0gICAgICAgICAgICAgICAgb2Jz
ZXJ2ZVRyYW5zaXRpb25zKGNsb2JiZXJMaW1pdCwgdHJhbnNpdGlvbnMpOwotICAgICAgICAgICAg
ICAgIGlmIChmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5jaGFuZ2VTdHJ1Y3R1cmUobV9ncmFwaCwg
bmV3U2V0KSA9PSBDb250cmFkaWN0aW9uKQotICAgICAgICAgICAgICAgICAgICBtX3N0YXRlLnNl
dElzVmFsaWQoZmFsc2UpOwotICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAg
IGlmIChhbGxHb29kKSB7CisgICAgICAgICAgICAgICAgICAgIGRpZEZvbGRDbG9iYmVyV29ybGQo
KTsKKyAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZVRyYW5zaXRpb25zKGNsb2JiZXJMaW1pdCwg
dHJhbnNpdGlvbnMpOworICAgICAgICAgICAgICAgICAgICBpZiAoZm9yTm9kZShub2RlLT5jaGls
ZDEoKSkuY2hhbmdlU3RydWN0dXJlKG1fZ3JhcGgsIG5ld1NldCkgPT0gQ29udHJhZGljdGlvbikK
KyAgICAgICAgICAgICAgICAgICAgICAgIG1fc3RhdGUuc2V0SXNWYWxpZChmYWxzZSk7CisgICAg
ICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Q29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ29uc3RhbnRGb2xkaW5nUGhhc2UuY3BwCShyZXZpc2lvbiAyNTM5NzUpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbnN0YW50Rm9sZGluZ1BoYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjA2LDE4ICs2MDYsMTUgQEAgcHJpdmF0ZToKICAgICAgICAgICAg
ICAgICBBYnN0cmFjdFZhbHVlIGJhc2VWYWx1ZSA9IG1fc3RhdGUuZm9yTm9kZShjaGlsZCk7CiAg
ICAgICAgICAgICAgICAgQWJzdHJhY3RWYWx1ZSB2YWx1ZVZhbHVlID0gbV9zdGF0ZS5mb3JOb2Rl
KG5vZGUtPmNoaWxkMigpKTsKIAotICAgICAgICAgICAgICAgIG1faW50ZXJwcmV0ZXIuZXhlY3V0
ZShpbmRleEluQmxvY2spOyAvLyBQdXNoIENGQSBvdmVyIHRoaXMgbm9kZSBhZnRlciB3ZSBnZXQg
dGhlIHN0YXRlIGJlZm9yZS4KLSAgICAgICAgICAgICAgICBhbHJlYWR5SGFuZGxlZCA9IHRydWU7
IC8vIERvbid0IGFsbG93IHRoZSBkZWZhdWx0IGNvbnN0YW50IGZvbGRlciB0byBkbyB0aGluZ3Mg
dG8gdGhpcy4KLQogICAgICAgICAgICAgICAgIGlmICghYmFzZVZhbHVlLm1fc3RydWN0dXJlLmlz
RmluaXRlKCkpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIAor
CiAgICAgICAgICAgICAgICAgUHV0QnlJZFN0YXR1cyBzdGF0dXMgPSBQdXRCeUlkU3RhdHVzOjpj
b21wdXRlRm9yKAogICAgICAgICAgICAgICAgICAgICBtX2dyYXBoLmdsb2JhbE9iamVjdEZvcihv
cmlnaW4uc2VtYW50aWMpLAogICAgICAgICAgICAgICAgICAgICBiYXNlVmFsdWUubV9zdHJ1Y3R1
cmUudG9TdHJ1Y3R1cmVTZXQoKSwKICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5pZGVudGlm
aWVycygpW2lkZW50aWZpZXJOdW1iZXJdLAogICAgICAgICAgICAgICAgICAgICBub2RlLT5vcCgp
ID09IFB1dEJ5SWREaXJlY3QpOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAg
aWYgKCFzdGF0dXMuaXNTaW1wbGUoKSkKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAKQEAg
LTYyOSw5ICs2MjYsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgICAgIGNoYW5nZWQgPSB0cnVl
OwogCiAgICAgICAgICAgICAgICAgYm9vbCBhbGxHb29kID0gdHJ1ZTsKKyAgICAgICAgICAgICAg
ICBSZWdpc3RlcmVkU3RydWN0dXJlU2V0IG5ld1NldDsKKyAgICAgICAgICAgICAgICBUcmFuc2l0
aW9uVmVjdG9yIHRyYW5zaXRpb25zOwogICAgICAgICAgICAgICAgIGZvciAoY29uc3QgUHV0QnlJ
ZFZhcmlhbnQmIHZhcmlhbnQgOiBzdGF0dXMudmFyaWFudHMoKSkgewotICAgICAgICAgICAgICAg
ICAgICBpZiAoIWFsbEdvb2QpCi0gICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgICAgICAgICAgICAgZm9yIChjb25zdCBPYmplY3RQcm9wZXJ0eUNvbmRpdGlvbiYgY29uZGl0
aW9uIDogdmFyaWFudC5jb25kaXRpb25TZXQoKSkgewogICAgICAgICAgICAgICAgICAgICAgICAg
aWYgKG1fZ3JhcGgud2F0Y2hDb25kaXRpb24oY29uZGl0aW9uKSkKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKQEAgLTY0OCwxMCArNjQ1LDMyIEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbV9pbnNlcnRpb25TZXQuaW5zZXJ0Q29uc3RhbnRGb3JV
c2UoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZGV4SW5CbG9jaywgbm9kZS0+
b3JpZ2luLCBjb25kaXRpb24ub2JqZWN0KCksIEtub3duQ2VsbFVzZSkpOwogICAgICAgICAgICAg
ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKCFhbGxHb29kKQorICAgICAgICAg
ICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgICAgICAgICAgaWYgKHZhcmlhbnQu
a2luZCgpID09IFB1dEJ5SWRWYXJpYW50OjpUcmFuc2l0aW9uKSB7CisgICAgICAgICAgICAgICAg
ICAgICAgICBSZWdpc3RlcmVkU3RydWN0dXJlIG5ld1N0cnVjdHVyZSA9IG1fZ3JhcGgucmVnaXN0
ZXJTdHJ1Y3R1cmUodmFyaWFudC5uZXdTdHJ1Y3R1cmUoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB0cmFuc2l0aW9ucy5hcHBlbmQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh
bnNpdGlvbigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9ncmFwaC5yZWdpc3Rl
clN0cnVjdHVyZSh2YXJpYW50Lm9sZFN0cnVjdHVyZUZvclRyYW5zaXRpb24oKSksIG5ld1N0cnVj
dHVyZSkpOworICAgICAgICAgICAgICAgICAgICAgICAgbmV3U2V0LmFkZChuZXdTdHJ1Y3R1cmUp
OworICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAg
QVNTRVJUKHZhcmlhbnQua2luZCgpID09IFB1dEJ5SWRWYXJpYW50OjpSZXBsYWNlKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIG5ld1NldC5tZXJnZSgqbV9ncmFwaC5hZGRTdHJ1Y3R1cmVTZXQo
dmFyaWFudC5vbGRTdHJ1Y3R1cmUoKSkpOworICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgaWYgKCFhbGxHb29kKQogICAgICAgICAgICAg
ICAgICAgICBicmVhazsKKworICAgICAgICAgICAgICAgIC8vIFB1c2ggQ0ZBIG92ZXIgdGhpcyBu
b2RlIGFmdGVyIHdlIGdldCB0aGUgc3RhdGUgYmVmb3JlLgorICAgICAgICAgICAgICAgIG1faW50
ZXJwcmV0ZXIuZGlkRm9sZENsb2JiZXJXb3JsZCgpOworICAgICAgICAgICAgICAgIG1faW50ZXJw
cmV0ZXIub2JzZXJ2ZVRyYW5zaXRpb25zKGluZGV4SW5CbG9jaywgdHJhbnNpdGlvbnMpOworICAg
ICAgICAgICAgICAgIGlmIChtX3N0YXRlLmZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLmNoYW5nZVN0
cnVjdHVyZShtX2dyYXBoLCBuZXdTZXQpID09IENvbnRyYWRpY3Rpb24pCisgICAgICAgICAgICAg
ICAgICAgIG1fc3RhdGUuc2V0SXNWYWxpZChmYWxzZSk7CisKKyAgICAgICAgICAgICAgICBhbHJl
YWR5SGFuZGxlZCA9IHRydWU7IC8vIERvbid0IGFsbG93IHRoZSBkZWZhdWx0IGNvbnN0YW50IGZv
bGRlciB0byBkbyB0aGluZ3MgdG8gdGhpcy4KICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICBtX2luc2VydGlvblNldC5pbnNlcnROb2RlKAogICAgICAgICAgICAgICAgICAgICBpbmRl
eEluQmxvY2ssIFNwZWNOb25lLCBGaWx0ZXJQdXRCeUlkU3RhdHVzLCBub2RlLT5vcmlnaW4sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>