<?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>177792</bug_id>
          
          <creation_ts>2017-10-02 16:11:49 -0700</creation_ts>
          <short_desc>A JSFunction&apos;s ObjectAllocationProfile should watch the poly prototype watchpoint so it can clear its object allocation profile</short_desc>
          <delta_ts>2017-11-15 09:43:06 -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>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1355591</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-02 16:11:49 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1358998</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-10 19:03:41 -0700</bug_when>
    <thetext>patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359019</commentid>
    <comment_count>2</comment_count>
      <attachid>323373</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-10-10 19:59:19 -0700</bug_when>
    <thetext>Created attachment 323373
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1359547</commentid>
    <comment_count>3</comment_count>
      <attachid>323373</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-10-12 01:13:18 -0700</bug_when>
    <thetext>Comment on attachment 323373
patch

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

r=me

&gt; Source/JavaScriptCore/runtime/FunctionRareData.h:114
&gt; +    class ClearAllocationProfile : public Watchpoint {

How about naming it ClearAllocationProfileWatchpoint?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369492</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-11-08 10:58:20 -0800</bug_when>
    <thetext>Thanks for the review. I forgot about this patch. Will land it today with your naming suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369596</commentid>
    <comment_count>5</comment_count>
      <attachid>323373</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-11-08 14:12:19 -0800</bug_when>
    <thetext>Comment on attachment 323373
patch

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

&gt;&gt; Source/JavaScriptCore/runtime/FunctionRareData.h:114
&gt;&gt; +    class ClearAllocationProfile : public Watchpoint {
&gt; 
&gt; How about naming it ClearAllocationProfileWatchpoint?

I&apos;m actually thinking that &quot;AllocationProfileClearingWatchpoint&quot; is a better name and more in line with our other names, like, StructureStubInfoClearingWatchpoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369604</commentid>
    <comment_count>6</comment_count>
      <attachid>326372</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-11-08 14:17:52 -0800</bug_when>
    <thetext>Created attachment 326372
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369661</commentid>
    <comment_count>7</comment_count>
      <attachid>326372</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-08 15:38:59 -0800</bug_when>
    <thetext>Comment on attachment 326372
patch for landing

Clearing flags on attachment: 326372

Committed r224603: &lt;https://trac.webkit.org/changeset/224603&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369662</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-11-08 15:39:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1369731</commentid>
    <comment_count>9</comment_count>
      <attachid>323373</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-11-08 17:57:09 -0800</bug_when>
    <thetext>Comment on attachment 323373
patch

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/FunctionRareData.h:114
&gt;&gt;&gt; +    class ClearAllocationProfile : public Watchpoint {
&gt;&gt; 
&gt;&gt; How about naming it ClearAllocationProfileWatchpoint?
&gt; 
&gt; I&apos;m actually thinking that &quot;AllocationProfileClearingWatchpoint&quot; is a better name and more in line with our other names, like, StructureStubInfoClearingWatchpoint.

That sounds nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1371977</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 09:43:06 -0800</bug_when>
    <thetext>&lt;rdar://problem/35562300&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>323373</attachid>
            <date>2017-10-10 19:59:19 -0700</date>
            <delta_ts>2017-11-08 14:17:52 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9422</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjMxNjIpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTEwLTEwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEEgSlNGdW5jdGlvbidzIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIHNo
b3VsZCB3YXRjaCB0aGUgcG9seSBwcm90b3R5cGUgd2F0Y2hwb2ludCBzbyBpdCBjYW4gY2xlYXIg
aXRzIG9iamVjdCBhbGxvY2F0aW9uIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogbWljcm9iZW5jaG1hcmtzL3BvbHktcHJvdG8tY2xlYXIt
anMtZnVuY3Rpb24tYWxsb2NhdGlvbi1wcm9maWxlLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2Vy
dCk6CisgICAgICAgIChmb28uRm9vLnByb3RvdHlwZS5lbnN1cmVYKToKKyAgICAgICAgKGZvby5G
b28pOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKGFjY2Vzcyk6CisKIDIwMTctMTAtMTAgIFNh
YW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgVGhlIHByb3RvdHlwZSBj
YWNoZSBzaG91bGQgYmUgYXdhcmUgb2YgdGhlIEV4ZWN1dGFibGUgaXQgZ2VuZXJhdGVzIGEgU3Ry
dWN0dXJlIGZvcgpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1jbGVh
ci1qcy1mdW5jdGlvbi1hbGxvY2F0aW9uLXByb2ZpbGUuanMKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSlNUZXN0
cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1jbGVhci1qcy1mdW5jdGlvbi1hbGxvY2F0aW9u
LXByb2ZpbGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9s
eS1wcm90by1jbGVhci1qcy1mdW5jdGlvbi1hbGxvY2F0aW9uLXByb2ZpbGUuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwzNiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpCit9CisKK2Z1bmN0aW9u
IGZvbygpIHsKKyAgICBjbGFzcyBGb28geworICAgICAgICBlbnN1cmVYKCkgeworICAgICAgICAg
ICAgaWYgKCF0aGlzLngpCisgICAgICAgICAgICAgICAgdGhpcy54ID0gMjI7CisgICAgICAgICAg
ICByZXR1cm4gdGhpczsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0dXJuIEZvbzsKK30KKwor
ZnVuY3Rpb24gYWNjZXNzKG8pIHsKKyAgICByZXR1cm4gYXNzZXJ0KG8uZW5zdXJlWCgpLnggPT09
IDIyKTsKK30KK25vSW5saW5lKGFjY2Vzcyk7CisKK2xldCBjdG9ycyA9IFtdOworCitmb3IgKGxl
dCBpID0gMDsgaSA8IDUwOyArK2kpIHsKKyAgICBsZXQgY3RvciA9IGZvbygpOworICAgIG5ldyBj
dG9yOyAvLyB3YXJtIHRoaW5ncyB1cAorICAgIGN0b3JzLnB1c2goY3Rvcik7Cit9CisKK2xldCBz
dGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDUwMDA7ICsraSkgeworICAg
IGZvciAobGV0IGkgPSAwOyBpIDwgY3RvcnMubGVuZ3RoOyArK2kpCisgICAgICAgIGFjY2Vzcyhu
ZXcgY3RvcnNbaV0pOworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERhdGUubm93KCkgLSBzdGFy
dCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIyMzE2MCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwy
OSBAQAorMjAxNy0xMC0xMCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAg
ICAgICBBIEpTRnVuY3Rpb24ncyBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZSBzaG91bGQgd2F0Y2gg
dGhlIHBvbHkgcHJvdG90eXBlIHdhdGNocG9pbnQgc28gaXQgY2FuIGNsZWFyIGl0cyBvYmplY3Qg
YWxsb2NhdGlvbiBwcm9maWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNzc3OTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBCZWZvcmUgdGhpcyBwYXRjaCwgaWYgYSBKU0Z1bmN0aW9uJ3MgcmFyZSBkYXRh
IGluaXRpYWxpemVkIGl0cyBhbGxvY2F0aW9uIHByb2ZpbGUKKyAgICAgICAgYmVmb3JlIGl0cyBi
YWNraW5nIEV4ZWN1dGFibGUncyBwb2x5IHByb3RvIHdhdGNocG9pbnQgd2FzIGludmFsaWRhdGVk
LCB0aGF0CisgICAgICAgIEpTRnVuY3Rpb24gd291bGQgY29udGludWUgdG8gYWxsb2NhdGUgbm9u
LXBvbHkgcHJvdG8gb2JqZWN0cyB1bnRpbCBpdHMgYWxsb2NhdGlvbgorICAgICAgICBwcm9maWxl
IHdhcyBjbGVhcmVkICh3aGljaCBlc3NlbnRpYWxseSBuZXZlciBoYXBwZW5zIGluIHByYWN0aWNl
KS4gVGhpcyBwYXRjaAorICAgICAgICBpbXByb3ZlcyBvbiB0aGlzIHBhdGhvbG9neS4gQSBKU0Z1
bmN0aW9uJ3MgcmFyZSBkYXRhIHdpbGwgbm93IHdhdGNoIHRoZSBwb2x5CisgICAgICAgIHByb3Rv
IHdhdGNocG9pbnQgaWYgaXQncyBzdGlsbCB2YWxpZCBhbmQgY2xlYXIgaXRzIGFsbG9jYXRpb24g
cHJvZmlsZSB3aGVuIHdlCisgICAgICAgIGRldGVjdCB0aGF0IHdlIHNob3VsZCBnbyBwb2x5IHBy
b3RvLgorCisgICAgICAgICogYnl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwOgor
ICAgICAgICAoSlNDOjpPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUp
OgorICAgICAgICAqIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmg6CisgICAgICAg
ICogcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25S
YXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKToKKyAgICAgICAgKEpT
Qzo6RnVuY3Rpb25SYXJlRGF0YTo6Q2xlYXJBbGxvY2F0aW9uUHJvZmlsZTo6ZmlyZUludGVybmFs
KToKKyAgICAgICAgKiBydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaDoKKyAgICAgICAgKEpTQzo6
RnVuY3Rpb25SYXJlRGF0YTo6aGFzQ2xlYXJBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQgY29u
c3QpOgorICAgICAgICAoSlNDOjpGdW5jdGlvblJhcmVEYXRhOjptYWtlQ2xlYXJBbGxvY2F0aW9u
UHJvZmlsZVdhdGNocG9pbnQpOgorICAgICAgICAoSlNDOjpGdW5jdGlvblJhcmVEYXRhOjpDbGVh
ckFsbG9jYXRpb25Qcm9maWxlOjpDbGVhckFsbG9jYXRpb25Qcm9maWxlKToKKwogMjAxNy0xMC0x
MCAgUm9iaW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIEF2b2lk
IGFsbG9jYXRpbmcgdXNlbGVzcyBsYW5kaW5nQmxvY2tzIGluIERGR0J5dGVDb2RlUGFyc2VyOjpo
YW5kbGVJbmxpbmluZygpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5jcHAJKHJldmlzaW9uIDIyMzE2
MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDExICszMSwxMyBAQAogCiBuYW1lc3BhY2Ug
SlNDIHsKIAotdm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvcikKK3ZvaWQgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGU6OmluaXRpYWxp
emVQcm9maWxlKFZNJiB2bSwgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNDZWxsKiBv
d25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJbmxpbmVDYXBhY2l0
eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IsIEZ1bmN0aW9uUmFyZURhdGEqIGZ1bmN0aW9uUmFy
ZURhdGEpCiB7CiAgICAgQVNTRVJUKCFtX2FsbG9jYXRvcik7CiAgICAgQVNTRVJUKCFtX3N0cnVj
dHVyZSk7CiAgICAgQVNTRVJUKCFtX2lubGluZUNhcGFjaXR5KTsKKyAgICBBU1NFUlQoISFmdW5j
dGlvblJhcmVEYXRhID09ICEhY29uc3RydWN0b3IpOworCiAKICAgICAvLyBGSVhNRTogV2hlbiBn
b2luZyBwb2x5IHByb3RvLCB3ZSBzaG91bGQgbWFrZSBhbiBhbGxvY2F0b3IgYW5kIHRlYWNoCiAg
ICAgLy8gY3JlYXRlX3RoaXMnIGZhc3QgcGF0aCBob3cgdG8gYWxsb2NhdGUgYSBwb2x5IHByb3Rv
IG9iamVjdC4KQEAgLTExNyw4ICsxMTksMTYgQEAgdm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZTo6aW5pdGlhbGl6ZQogICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1
Y3R1cmUodm0sIHN0cnVjdHVyZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGV4ZWN1dGFi
bGUpIHsKLSAgICAgICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQo
KTsKKyAgICAgICAgICAgIEFTU0VSVChjb25zdHJ1Y3Rvcik7CisgICAgICAgICAgICBBU1NFUlQo
ZnVuY3Rpb25SYXJlRGF0YSk7CisgICAgICAgICAgICBJbmxpbmVXYXRjaHBvaW50U2V0JiBwb2x5
UHJvdG9XYXRjaHBvaW50U2V0ID0gZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2lu
dCgpOwogICAgICAgICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJl
ZFBvbHlQcm90b1dhdGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2lu
dCgpKTsKKyAgICAgICAgICAgIGlmIChwb2x5UHJvdG9XYXRjaHBvaW50U2V0LmlzU3RpbGxWYWxp
ZCgpICYmICFmdW5jdGlvblJhcmVEYXRhLT5oYXNDbGVhckFsbG9jYXRpb25Qcm9maWxlV2F0Y2hw
b2ludCgpKSB7CisgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGFwcGVuIHRvIGdvIHBvbHkgcHJv
dG8gaW4gdGhlIGZ1dHVyZSwgd2Ugd2FudCB0byBjbGVhciB0aGlzIHBhcnRpY3VsYXIKKyAgICAg
ICAgICAgICAgICAvLyBvYmplY3QgYWxsb2NhdGlvbiBwcm9maWxlIHNvIHdlIGNhbiB0cmFuc2l0
aW9uIHRvIGFsbG9jYXRpbmcgcG9seSBwcm90byBvYmplY3RzLgorICAgICAgICAgICAgICAgIFdh
dGNocG9pbnQqIHdhdGNocG9pbnQgPSBmdW5jdGlvblJhcmVEYXRhLT5tYWtlQ2xlYXJBbGxvY2F0
aW9uUHJvZmlsZVdhdGNocG9pbnQoKTsKKyAgICAgICAgICAgICAgICBwb2x5UHJvdG9XYXRjaHBv
aW50U2V0LmFkZCh3YXRjaHBvaW50KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogCiAgICAg
ICAgIG1fYWxsb2NhdG9yID0gYWxsb2NhdG9yOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlLmgJKHJldmlz
aW9uIDIyMzE2MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMyw2ICszMyw4IEBACiAKIG5hbWVz
cGFjZSBKU0MgewogCitjbGFzcyBGdW5jdGlvblJhcmVEYXRhOworCiBjbGFzcyBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZSB7CiAgICAgZnJpZW5kIGNsYXNzIExMSW50T2Zmc2V0c0V4dHJhY3RvcjsK
IHB1YmxpYzoKQEAgLTQ4LDcgKzUwLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSB7
IHJldHVybiAhbV9zdHJ1Y3R1cmU7IH0KIAotICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUoVk0m
LCBKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUsIHVu
c2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9yID0g
bnVsbHB0cik7CisgICAgdm9pZCBpbml0aWFsaXplUHJvZmlsZShWTSYsIEpTR2xvYmFsT2JqZWN0
KiwgSlNDZWxsKiBvd25lciwgSlNPYmplY3QqIHByb3RvdHlwZSwgdW5zaWduZWQgaW5mZXJyZWRJ
bmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0b3IgPSBudWxscHRyLCBGdW5jdGlv
blJhcmVEYXRhKiA9IG51bGxwdHIpOwogCiAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUoKQogICAg
IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9u
UmFyZURhdGEuY3BwCShyZXZpc2lvbiAyMjMxNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
cnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEs
NyBAQCBGdW5jdGlvblJhcmVEYXRhOjp+RnVuY3Rpb25SYXJlRGF0YSgpCiAKIHZvaWQgRnVuY3Rp
b25SYXJlRGF0YTo6aW5pdGlhbGl6ZU9iamVjdEFsbG9jYXRpb25Qcm9maWxlKFZNJiB2bSwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNPYmplY3QqIHByb3RvdHlwZSwgc2l6ZV90IGlu
bGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKIHsKLSAgICBtX29iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMs
IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yKTsKKyAgICBtX29iamVjdEFs
bG9jYXRpb25Qcm9maWxlLmluaXRpYWxpemVQcm9maWxlKHZtLCBnbG9iYWxPYmplY3QsIHRoaXMs
IHByb3RvdHlwZSwgaW5saW5lQ2FwYWNpdHksIGNvbnN0cnVjdG9yLCB0aGlzKTsKIH0KIAogdm9p
ZCBGdW5jdGlvblJhcmVEYXRhOjpjbGVhcihjb25zdCBjaGFyKiByZWFzb24pCkBAIC05MSw0ICs5
MSw5IEBAIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hhcioKICAgICBtX29i
amVjdEFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludC5maXJlQWxsKCp2bSgpLCByZWFzb24pOwog
fQogCit2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OkNsZWFyQWxsb2NhdGlvblByb2ZpbGU6OmZpcmVJ
bnRlcm5hbChjb25zdCBGaXJlRGV0YWlsJikKK3sKKyAgICBtX3JhcmVEYXRhLT5jbGVhcigiQ2xl
YXJBbGxvY2F0aW9uUHJvZmlsZSB3YXRjaHBvaW50IGZpcmVkLiIpOworfQorCiB9CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCShy
ZXZpc2lvbiAyMjMxNjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9GdW5jdGlv
blJhcmVEYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTk3LDEyICs5NywzMSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNSZWlmaWVkTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFzUmVpZmllZE5hbWU7
IH0KICAgICB2b2lkIHNldEhhc1JlaWZpZWROYW1lKCkgeyBtX2hhc1JlaWZpZWROYW1lID0gdHJ1
ZTsgfQogCisgICAgYm9vbCBoYXNDbGVhckFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludCgpIGNv
bnN0IHsgcmV0dXJuICEhbV9jbGVhckFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludDsgfQorICAg
IFdhdGNocG9pbnQqIG1ha2VDbGVhckFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludCgpCisgICAg
eworICAgICAgICBSRUxFQVNFX0FTU0VSVCghaGFzQ2xlYXJBbGxvY2F0aW9uUHJvZmlsZVdhdGNo
cG9pbnQoKSk7CisgICAgICAgIG1fY2xlYXJBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQgPSBz
dGQ6Om1ha2VfdW5pcXVlPENsZWFyQWxsb2NhdGlvblByb2ZpbGU+KHRoaXMpOworICAgICAgICBy
ZXR1cm4gbV9jbGVhckFsbG9jYXRpb25Qcm9maWxlV2F0Y2hwb2ludC5nZXQoKTsKKyAgICB9CisK
IHByb3RlY3RlZDoKICAgICBGdW5jdGlvblJhcmVEYXRhKFZNJik7CiAgICAgfkZ1bmN0aW9uUmFy
ZURhdGEoKTsKIAogcHJpdmF0ZToKIAorICAgIGNsYXNzIENsZWFyQWxsb2NhdGlvblByb2ZpbGUg
OiBwdWJsaWMgV2F0Y2hwb2ludCB7CisgICAgcHVibGljOgorICAgICAgICBDbGVhckFsbG9jYXRp
b25Qcm9maWxlKEZ1bmN0aW9uUmFyZURhdGEqIHJhcmVEYXRhKQorICAgICAgICAgICAgOiBtX3Jh
cmVEYXRhKHJhcmVEYXRhKQorICAgICAgICB7IH0KKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZv
aWQgZmlyZUludGVybmFsKGNvbnN0IEZpcmVEZXRhaWwmKSBvdmVycmlkZTsKKyAgICBwcml2YXRl
OgorICAgICAgICBGdW5jdGlvblJhcmVEYXRhKiBtX3JhcmVEYXRhOworICAgIH07CisKICAgICBm
cmllbmQgY2xhc3MgTExJbnRPZmZzZXRzRXh0cmFjdG9yOwogCiAgICAgLy8gSWRlYWxseSwgdGhl
cmUgd291bGQgb25seSBiZSBvbmUgYWxsb2NhdGlvbiBwcm9maWxlIGZvciBzdWJjbGFzc2luZyBi
dXQgZHVlIHRvIFJlZmxlY3QuY29uc3RydWN0IHdlCkBAIC0xMjIsNiArMTQxLDcgQEAgcHJpdmF0
ZToKICAgICBJbmxpbmVXYXRjaHBvaW50U2V0IG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGVXYXRj
aHBvaW50OwogICAgIEludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZSBtX2ludGVybmFs
RnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBt
X2JvdW5kRnVuY3Rpb25TdHJ1Y3R1cmU7CisgICAgc3RkOjp1bmlxdWVfcHRyPENsZWFyQWxsb2Nh
dGlvblByb2ZpbGU+IG1fY2xlYXJBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQ7CiAgICAgYm9v
bCBtX2hhc1JlaWZpZWRMZW5ndGggeyBmYWxzZSB9OwogICAgIGJvb2wgbV9oYXNSZWlmaWVkTmFt
ZSB7IGZhbHNlIH07CiB9Owo=
</data>
<flag name="review"
          id="343151"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326372</attachid>
            <date>2017-11-08 14:17:52 -0800</date>
            <delta_ts>2017-11-08 15:38:59 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>9306</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMjQ1OTYpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE3LTExLTA4ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIEEgSlNGdW5jdGlvbidzIE9iamVjdEFsbG9jYXRpb25Qcm9maWxlIHNo
b3VsZCB3YXRjaCB0aGUgcG9seSBwcm90b3R5cGUgd2F0Y2hwb2ludCBzbyBpdCBjYW4gY2xlYXIg
aXRzIG9iamVjdCBhbGxvY2F0aW9uIHByb2ZpbGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3Nzc5MgorCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3Vr
ZSBTdXp1a2kuCisKKyAgICAgICAgKiBtaWNyb2JlbmNobWFya3MvcG9seS1wcm90by1jbGVhci1q
cy1mdW5jdGlvbi1hbGxvY2F0aW9uLXByb2ZpbGUuanM6IEFkZGVkLgorICAgICAgICAoYXNzZXJ0
KToKKyAgICAgICAgKGZvby5Gb28ucHJvdG90eXBlLmVuc3VyZVgpOgorICAgICAgICAoZm9vLkZv
byk6CisgICAgICAgIChmb28pOgorICAgICAgICAoYWNjZXNzKToKKwogMjAxNy0xMS0wOCAgUm9i
aW4gTW9yaXNzZXQgIDxybW9yaXNzZXRAYXBwbGUuY29tPgogCiAgICAgICAgIFR1cm4gcmVjdXJz
aXZlIHRhaWwgY2FsbHMgaW50byBsb29wcwpJbmRleDogSlNUZXN0cy9taWNyb2JlbmNobWFya3Mv
cG9seS1wcm90by1jbGVhci1qcy1mdW5jdGlvbi1hbGxvY2F0aW9uLXByb2ZpbGUuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gSlNUZXN0cy9taWNyb2JlbmNobWFya3MvcG9seS1wcm90by1jbGVhci1qcy1mdW5j
dGlvbi1hbGxvY2F0aW9uLXByb2ZpbGUuanMJKG5vbmV4aXN0ZW50KQorKysgSlNUZXN0cy9taWNy
b2JlbmNobWFya3MvcG9seS1wcm90by1jbGVhci1qcy1mdW5jdGlvbi1hbGxvY2F0aW9uLXByb2Zp
bGUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorZnVuY3Rpb24gYXNzZXJ0KGIp
IHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIp
Cit9CisKK2Z1bmN0aW9uIGZvbygpIHsKKyAgICBjbGFzcyBGb28geworICAgICAgICBlbnN1cmVY
KCkgeworICAgICAgICAgICAgaWYgKCF0aGlzLngpCisgICAgICAgICAgICAgICAgdGhpcy54ID0g
MjI7CisgICAgICAgICAgICByZXR1cm4gdGhpczsKKyAgICAgICAgfQorICAgIH07CisgICAgcmV0
dXJuIEZvbzsKK30KKworZnVuY3Rpb24gYWNjZXNzKG8pIHsKKyAgICByZXR1cm4gYXNzZXJ0KG8u
ZW5zdXJlWCgpLnggPT09IDIyKTsKK30KK25vSW5saW5lKGFjY2Vzcyk7CisKK2xldCBjdG9ycyA9
IFtdOworCitmb3IgKGxldCBpID0gMDsgaSA8IDUwOyArK2kpIHsKKyAgICBsZXQgY3RvciA9IGZv
bygpOworICAgIG5ldyBjdG9yOyAvLyB3YXJtIHRoaW5ncyB1cAorICAgIGN0b3JzLnB1c2goY3Rv
cik7Cit9CisKK2xldCBzdGFydCA9IERhdGUubm93KCk7Citmb3IgKGxldCBpID0gMDsgaSA8IDUw
MDA7ICsraSkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3RvcnMubGVuZ3RoOyArK2kpCisg
ICAgICAgIGFjY2VzcyhuZXcgY3RvcnNbaV0pOworfQoraWYgKGZhbHNlKQorICAgIHByaW50KERh
dGUubm93KCkgLSBzdGFydCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9u
IDIyNDU5NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwyOSBAQAorMjAxNy0xMS0wOCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFw
cGxlLmNvbT4KKworICAgICAgICBBIEpTRnVuY3Rpb24ncyBPYmplY3RBbGxvY2F0aW9uUHJvZmls
ZSBzaG91bGQgd2F0Y2ggdGhlIHBvbHkgcHJvdG90eXBlIHdhdGNocG9pbnQgc28gaXQgY2FuIGNs
ZWFyIGl0cyBvYmplY3QgYWxsb2NhdGlvbiBwcm9maWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3OTIKKworICAgICAgICBSZXZpZXdlZCBieSBZ
dXN1a2UgU3V6dWtpLgorCisgICAgICAgIEJlZm9yZSB0aGlzIHBhdGNoLCBpZiBhIEpTRnVuY3Rp
b24ncyByYXJlIGRhdGEgaW5pdGlhbGl6ZWQgaXRzIGFsbG9jYXRpb24gcHJvZmlsZQorICAgICAg
ICBiZWZvcmUgaXRzIGJhY2tpbmcgRXhlY3V0YWJsZSdzIHBvbHkgcHJvdG8gd2F0Y2hwb2ludCB3
YXMgaW52YWxpZGF0ZWQsIHRoYXQKKyAgICAgICAgSlNGdW5jdGlvbiB3b3VsZCBjb250aW51ZSB0
byBhbGxvY2F0ZSBub24tcG9seSBwcm90byBvYmplY3RzIHVudGlsIGl0cyBhbGxvY2F0aW9uCisg
ICAgICAgIHByb2ZpbGUgd2FzIGNsZWFyZWQgKHdoaWNoIGVzc2VudGlhbGx5IG5ldmVyIGhhcHBl
bnMgaW4gcHJhY3RpY2UpLiBUaGlzIHBhdGNoCisgICAgICAgIGltcHJvdmVzIG9uIHRoaXMgcGF0
aG9sb2d5LiBBIEpTRnVuY3Rpb24ncyByYXJlIGRhdGEgd2lsbCBub3cgd2F0Y2ggdGhlIHBvbHkK
KyAgICAgICAgcHJvdG8gd2F0Y2hwb2ludCBpZiBpdCdzIHN0aWxsIHZhbGlkIGFuZCBjbGVhciBp
dHMgYWxsb2NhdGlvbiBwcm9maWxlIHdoZW4gd2UKKyAgICAgICAgZGV0ZWN0IHRoYXQgd2Ugc2hv
dWxkIGdvIHBvbHkgcHJvdG8uCisKKyAgICAgICAgKiBieXRlY29kZS9PYmplY3RBbGxvY2F0aW9u
UHJvZmlsZS5oOgorICAgICAgICAqIGJ5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5s
aW5lcy5oOgorICAgICAgICAoSlNDOjpPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6
ZVByb2ZpbGUpOgorICAgICAgICAqIHJ1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHA6CisgICAg
ICAgIChKU0M6OkZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0aW9uUHJv
ZmlsZSk6CisgICAgICAgIChKU0M6OkZ1bmN0aW9uUmFyZURhdGE6OkFsbG9jYXRpb25Qcm9maWxl
Q2xlYXJpbmdXYXRjaHBvaW50OjpmaXJlSW50ZXJuYWwpOgorICAgICAgICAqIHJ1bnRpbWUvRnVu
Y3Rpb25SYXJlRGF0YS5oOgorICAgICAgICAoSlNDOjpGdW5jdGlvblJhcmVEYXRhOjpoYXNBbGxv
Y2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCBjb25zdCk6CisgICAgICAgIChKU0M6OkZ1
bmN0aW9uUmFyZURhdGE6OmNyZWF0ZUFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50
KToKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25SYXJlRGF0YTo6QWxsb2NhdGlvblByb2ZpbGVDbGVh
cmluZ1dhdGNocG9pbnQ6OkFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50KToKKwog
MjAxNy0xMS0wOCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBBZGQgc3VwZXIgc2FtcGxlciBiZWdpbiBhbmQgZW5kIGJ5dGVjb2Rlcy4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9PYmplY3RBbGxvY2F0
aW9uUHJvZmlsZS5oCShyZXZpc2lvbiAyMjQ1OTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzMs
NiArMzMsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsKIAorY2xhc3MgRnVuY3Rpb25SYXJlRGF0YTsK
KwogY2xhc3MgT2JqZWN0QWxsb2NhdGlvblByb2ZpbGUgewogICAgIGZyaWVuZCBjbGFzcyBMTElu
dE9mZnNldHNFeHRyYWN0b3I7CiBwdWJsaWM6CkBAIC00OCw3ICs1MCw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNOdWxsKCkgeyByZXR1cm4gIW1fc3RydWN0dXJlOyB9CiAKLSAgICB2b2lkIGlu
aXRpYWxpemVQcm9maWxlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvciA9IG51bGxwdHIpOworICAgIHZvaWQgaW5pdGlhbGl6ZVByb2ZpbGUo
Vk0mLCBKU0dsb2JhbE9iamVjdCosIEpTQ2VsbCogb3duZXIsIEpTT2JqZWN0KiBwcm90b3R5cGUs
IHVuc2lnbmVkIGluZmVycmVkSW5saW5lQ2FwYWNpdHksIEpTRnVuY3Rpb24qIGNvbnN0cnVjdG9y
ID0gbnVsbHB0ciwgRnVuY3Rpb25SYXJlRGF0YSogPSBudWxscHRyKTsKIAogICAgIFN0cnVjdHVy
ZSogc3RydWN0dXJlKCkKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvT2JqZWN0QWxsb2NhdGlvblByb2ZpbGVJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL09iamVjdEFsbG9jYXRpb25Qcm9maWxlSW5saW5lcy5o
CShyZXZpc2lvbiAyMjQ1OTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvT2Jq
ZWN0QWxsb2NhdGlvblByb2ZpbGVJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7CiAKLUFMV0FZU19JTkxJTkUgdm9pZCBPYmplY3RBbGxv
Y2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUoVk0mIHZtLCBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09iamVjdCogcHJvdG90eXBlLCB1bnNpZ25l
ZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0aW9uKiBjb25zdHJ1Y3RvcikKK0FMV0FZ
U19JTkxJTkUgdm9pZCBPYmplY3RBbGxvY2F0aW9uUHJvZmlsZTo6aW5pdGlhbGl6ZVByb2ZpbGUo
Vk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0NlbGwqIG93bmVyLCBKU09i
amVjdCogcHJvdG90eXBlLCB1bnNpZ25lZCBpbmZlcnJlZElubGluZUNhcGFjaXR5LCBKU0Z1bmN0
aW9uKiBjb25zdHJ1Y3RvciwgRnVuY3Rpb25SYXJlRGF0YSogZnVuY3Rpb25SYXJlRGF0YSkKIHsK
ICAgICBBU1NFUlQoIW1fYWxsb2NhdG9yKTsKICAgICBBU1NFUlQoIW1fc3RydWN0dXJlKTsKQEAg
LTExNyw4ICsxMTcsMTYgQEAgQUxXQVlTX0lOTElORSB2b2lkIE9iamVjdEFsbG9jYXRpb25Qcm9m
aQogICAgICAgICBleGVjdXRhYmxlLT5zZXRDYWNoZWRQb2x5UHJvdG9TdHJ1Y3R1cmUodm0sIHN0
cnVjdHVyZSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKGV4ZWN1dGFibGUpIHsKLSAgICAg
ICAgICAgIGV4ZWN1dGFibGUtPmVuc3VyZVBvbHlQcm90b1dhdGNocG9pbnQoKTsKKyAgICAgICAg
ICAgIEFTU0VSVChjb25zdHJ1Y3Rvcik7CisgICAgICAgICAgICBBU1NFUlQoZnVuY3Rpb25SYXJl
RGF0YSk7CisgICAgICAgICAgICBJbmxpbmVXYXRjaHBvaW50U2V0JiBwb2x5UHJvdG9XYXRjaHBv
aW50U2V0ID0gZXhlY3V0YWJsZS0+ZW5zdXJlUG9seVByb3RvV2F0Y2hwb2ludCgpOwogICAgICAg
ICAgICAgc3RydWN0dXJlLT5lbnN1cmVSYXJlRGF0YSh2bSktPnNldFNoYXJlZFBvbHlQcm90b1dh
dGNocG9pbnQoZXhlY3V0YWJsZS0+c2hhcmVkUG9seVByb3RvV2F0Y2hwb2ludCgpKTsKKyAgICAg
ICAgICAgIGlmIChwb2x5UHJvdG9XYXRjaHBvaW50U2V0LmlzU3RpbGxWYWxpZCgpICYmICFmdW5j
dGlvblJhcmVEYXRhLT5oYXNBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCgpKSB7
CisgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGFwcGVuIHRvIGdvIHBvbHkgcHJvdG8gaW4gdGhl
IGZ1dHVyZSwgd2Ugd2FudCB0byBjbGVhciB0aGlzIHBhcnRpY3VsYXIKKyAgICAgICAgICAgICAg
ICAvLyBvYmplY3QgYWxsb2NhdGlvbiBwcm9maWxlIHNvIHdlIGNhbiB0cmFuc2l0aW9uIHRvIGFs
bG9jYXRpbmcgcG9seSBwcm90byBvYmplY3RzLgorICAgICAgICAgICAgICAgIFdhdGNocG9pbnQq
IHdhdGNocG9pbnQgPSBmdW5jdGlvblJhcmVEYXRhLT5jcmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNs
ZWFyaW5nV2F0Y2hwb2ludCgpOworICAgICAgICAgICAgICAgIHBvbHlQcm90b1dhdGNocG9pbnRT
ZXQuYWRkKHdhdGNocG9pbnQpOworICAgICAgICAgICAgfQogICAgICAgICB9CiAKICAgICAgICAg
bV9hbGxvY2F0b3IgPSBhbGxvY2F0b3I7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9GdW5jdGlvblJhcmVEYXRhLmNwcAkocmV2aXNpb24gMjI0NTk2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTgyLDcgKzgyLDcgQEAgRnVuY3Rpb25SYXJlRGF0YTo6fkZ1bmN0aW9uUmFy
ZURhdGEoKQogCiB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmluaXRpYWxpemVPYmplY3RBbGxvY2F0
aW9uUHJvZmlsZShWTSYgdm0sIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTT2JqZWN0
KiBwcm90b3R5cGUsIHNpemVfdCBpbmxpbmVDYXBhY2l0eSwgSlNGdW5jdGlvbiogY29uc3RydWN0
b3IpCiB7Ci0gICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1
Y3Rvcik7CisgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZS5pbml0aWFsaXplUHJvZmlsZSh2
bSwgZ2xvYmFsT2JqZWN0LCB0aGlzLCBwcm90b3R5cGUsIGlubGluZUNhcGFjaXR5LCBjb25zdHJ1
Y3RvciwgdGhpcyk7CiB9CiAKIHZvaWQgRnVuY3Rpb25SYXJlRGF0YTo6Y2xlYXIoY29uc3QgY2hh
ciogcmVhc29uKQpAQCAtOTIsNCArOTIsOSBAQCB2b2lkIEZ1bmN0aW9uUmFyZURhdGE6OmNsZWFy
KGNvbnN0IGNoYXIqCiAgICAgbV9vYmplY3RBbGxvY2F0aW9uUHJvZmlsZVdhdGNocG9pbnQuZmly
ZUFsbCgqdm0oKSwgcmVhc29uKTsKIH0KIAordm9pZCBGdW5jdGlvblJhcmVEYXRhOjpBbGxvY2F0
aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludDo6ZmlyZUludGVybmFsKGNvbnN0IEZpcmVEZXRh
aWwmKQoreworICAgIG1fcmFyZURhdGEtPmNsZWFyKCJBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5n
V2F0Y2hwb2ludCBmaXJlZC4iKTsKK30KKwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL0Z1bmN0aW9uUmFyZURhdGEuaAkocmV2aXNpb24gMjI0NTk2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRnVuY3Rpb25SYXJlRGF0YS5oCSh3b3JraW5n
IGNvcHkpCkBAIC05NywxMiArOTcsMzEgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVpZmllZE5h
bWUoKSBjb25zdCB7IHJldHVybiBtX2hhc1JlaWZpZWROYW1lOyB9CiAgICAgdm9pZCBzZXRIYXNS
ZWlmaWVkTmFtZSgpIHsgbV9oYXNSZWlmaWVkTmFtZSA9IHRydWU7IH0KIAorICAgIGJvb2wgaGFz
QWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQoKSBjb25zdCB7IHJldHVybiAhIW1f
YWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQ7IH0KKyAgICBXYXRjaHBvaW50KiBj
cmVhdGVBbGxvY2F0aW9uUHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCgpCisgICAgeworICAgICAg
ICBSRUxFQVNFX0FTU0VSVCghaGFzQWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQo
KSk7CisgICAgICAgIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQgPSBzdGQ6
Om1ha2VfdW5pcXVlPEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50Pih0aGlzKTsK
KyAgICAgICAgcmV0dXJuIG1fYWxsb2NhdGlvblByb2ZpbGVDbGVhcmluZ1dhdGNocG9pbnQuZ2V0
KCk7CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgRnVuY3Rpb25SYXJlRGF0YShWTSYpOwogICAg
IH5GdW5jdGlvblJhcmVEYXRhKCk7CiAKIHByaXZhdGU6CiAKKyAgICBjbGFzcyBBbGxvY2F0aW9u
UHJvZmlsZUNsZWFyaW5nV2F0Y2hwb2ludCA6IHB1YmxpYyBXYXRjaHBvaW50IHsKKyAgICBwdWJs
aWM6CisgICAgICAgIEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50KEZ1bmN0aW9u
UmFyZURhdGEqIHJhcmVEYXRhKQorICAgICAgICAgICAgOiBtX3JhcmVEYXRhKHJhcmVEYXRhKQor
ICAgICAgICB7IH0KKyAgICBwcm90ZWN0ZWQ6CisgICAgICAgIHZvaWQgZmlyZUludGVybmFsKGNv
bnN0IEZpcmVEZXRhaWwmKSBvdmVycmlkZTsKKyAgICBwcml2YXRlOgorICAgICAgICBGdW5jdGlv
blJhcmVEYXRhKiBtX3JhcmVEYXRhOworICAgIH07CisKICAgICBmcmllbmQgY2xhc3MgTExJbnRP
ZmZzZXRzRXh0cmFjdG9yOwogCiAgICAgLy8gSWRlYWxseSwgdGhlcmUgd291bGQgb25seSBiZSBv
bmUgYWxsb2NhdGlvbiBwcm9maWxlIGZvciBzdWJjbGFzc2luZyBidXQgZHVlIHRvIFJlZmxlY3Qu
Y29uc3RydWN0IHdlCkBAIC0xMjIsNiArMTQxLDcgQEAgcHJpdmF0ZToKICAgICBJbmxpbmVXYXRj
aHBvaW50U2V0IG1fb2JqZWN0QWxsb2NhdGlvblByb2ZpbGVXYXRjaHBvaW50OwogICAgIEludGVy
bmFsRnVuY3Rpb25BbGxvY2F0aW9uUHJvZmlsZSBtX2ludGVybmFsRnVuY3Rpb25BbGxvY2F0aW9u
UHJvZmlsZTsKICAgICBXcml0ZUJhcnJpZXI8U3RydWN0dXJlPiBtX2JvdW5kRnVuY3Rpb25TdHJ1
Y3R1cmU7CisgICAgc3RkOjp1bmlxdWVfcHRyPEFsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRj
aHBvaW50PiBtX2FsbG9jYXRpb25Qcm9maWxlQ2xlYXJpbmdXYXRjaHBvaW50OwogICAgIGJvb2wg
bV9oYXNSZWlmaWVkTGVuZ3RoIHsgZmFsc2UgfTsKICAgICBib29sIG1faGFzUmVpZmllZE5hbWUg
eyBmYWxzZSB9OwogfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>