<?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>134739</bug_id>
          
          <creation_ts>2014-07-08 12:41:56 -0700</creation_ts>
          <short_desc>[ftlopt] Move Flush(SetLocal) store elimination to StrengthReductionPhase</short_desc>
          <delta_ts>2014-07-09 14:17:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>134677</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1021161</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-08 12:41:56 -0700</bug_when>
    <thetext>I&apos;m going to streamline CSE around clobberize(), and so Flush(SetLocal) store elimination wouldn&apos;t belong anymore.  It doesn&apos;t quite belong anywhere, which means that it belongs in StrengthReductionPhase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021167</commentid>
    <comment_count>1</comment_count>
      <attachid>234584</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-08 12:50:50 -0700</bug_when>
    <thetext>Created attachment 234584
the patch

Not yet ready for review because I&apos;m still testing it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021177</commentid>
    <comment_count>2</comment_count>
      <attachid>234588</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-08 13:25:59 -0700</bug_when>
    <thetext>Created attachment 234588
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021272</commentid>
    <comment_count>3</comment_count>
      <attachid>234614</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-08 20:35:31 -0700</bug_when>
    <thetext>Created attachment 234614
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021397</commentid>
    <comment_count>4</comment_count>
      <attachid>234614</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2014-07-09 10:50:18 -0700</bug_when>
    <thetext>Comment on attachment 234614
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1021437</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-07-09 14:17:12 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/170929</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234584</attachid>
            <date>2014-07-08 12:50:50 -0700</date>
            <delta_ts>2014-07-08 13:25:59 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8738</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwODkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE0LTA3LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2Z0bG9wdF0gTW9yZSBGbHVzaChTZXRMb2NhbCkgc3RvcmUgZWxpbWluYXRpb24gdG8gU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM0NzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBkZmcvREZHQ1NFUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkNTRVBo
YXNlOjpwZXJmb3JtTm9kZUNTRSk6CisgICAgICAgIChKU0M6OkRGRzo6Q1NFUGhhc2U6OnNldExv
Y2FsU3RvcmVFbGltaW5hdGlvbik6IERlbGV0ZWQuCisgICAgICAgICogZGZnL0RGR0Nsb2JiZXJp
emUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OmFjY2Vzc2VzT3ZlcmxhcCk6CisgICAgICAgICog
ZGZnL0RGR0Nsb2JiZXJpemUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpjbG9iYmVyaXplKToKKyAg
ICAgICAgKiBkZmcvREZHU3RyZW5ndGhSZWR1Y3Rpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3RyZW5ndGhSZWR1Y3Rpb25QaGFzZTo6aGFuZGxlTm9kZSk6CisKIDIwMTQtMDctMDgg
IEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBbZnRsb3B0XSBHZXQg
cmlkIG9mIE5vZGU6Om1pc2MgYnkgbW92aW5nIHRoZSBmaWVsZHMgb3V0IG9mIHRoZSB1bmlvbiBz
byB0aGF0IHlvdSBjYW4gdXNlIHJlcGxhY2VtZW50IGFuZCBvd25lciBzaW11bHRhbmVvdXNseQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAJKHJldmlzaW9u
IDE3MDg5MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhhc2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC03NjAsNzcgKzc2MCw2IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVy
biBmYWxzZTsKICAgICB9CiAgICAgCi0gICAgTm9kZSogc2V0TG9jYWxTdG9yZUVsaW1pbmF0aW9u
KFZpcnR1YWxSZWdpc3RlciBsb2NhbCkKLSAgICB7Ci0gICAgICAgIGZvciAodW5zaWduZWQgaSA9
IG1faW5kZXhJbkJsb2NrOyBpLS07KSB7Ci0gICAgICAgICAgICBOb2RlKiBub2RlID0gbV9jdXJy
ZW50QmxvY2stPmF0KGkpOwotICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgpKSB7Ci0gICAg
ICAgICAgICBjYXNlIEdldExvY2FsOgotICAgICAgICAgICAgY2FzZSBGbHVzaDoKLSAgICAgICAg
ICAgICAgICBpZiAobm9kZS0+bG9jYWwoKSA9PSBsb2NhbCkKLSAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAg
Ci0gICAgICAgICAgICBjYXNlIEdldExvY2FsVW5saW5rZWQ6Ci0gICAgICAgICAgICAgICAgaWYg
KG5vZGUtPnVubGlua2VkTG9jYWwoKSA9PSBsb2NhbCkKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgCi0g
ICAgICAgICAgICBjYXNlIFNldExvY2FsOiB7Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmxv
Y2FsKCkgPT0gbG9jYWwpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIAotICAgICAg
ICAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgotICAgICAgICAgICAgY2FzZSBQdXRDbG9zdXJlVmFy
OgotICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDxWaXJ0dWFsUmVnaXN0ZXI+KG5vZGUt
PnZhck51bWJlcigpKSA9PSBsb2NhbCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAg
ICBjYXNlIEdldE15U2NvcGU6Ci0gICAgICAgICAgICBjYXNlIFNraXBUb3BTY29wZToKLSAgICAg
ICAgICAgICAgICBpZiAobm9kZS0+b3JpZ2luLnNlbWFudGljLmlubGluZUNhbGxGcmFtZSkKLSAg
ICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudW5j
aGVja2VkQWN0aXZhdGlvblJlZ2lzdGVyKCkgPT0gbG9jYWwpCi0gICAgICAgICAgICAgICAgICAg
IHJldHVybiBudWxscHRyOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgY2FzZSBDaGVja0FyZ3VtZW50c05vdENyZWF0ZWQ6Ci0gICAgICAgICAg
ICBjYXNlIEdldE15QXJndW1lbnRzTGVuZ3RoOgotICAgICAgICAgICAgY2FzZSBHZXRNeUFyZ3Vt
ZW50c0xlbmd0aFNhZmU6Ci0gICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudW5jaGVja2VkQXJn
dW1lbnRzUmVnaXN0ZXJGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSA9PSBsb2NhbCkKLSAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbDoKLSAg
ICAgICAgICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsU2FmZToKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgR2V0QnlW
YWw6Ci0gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhY2Nlc3NpbmcgYXJndW1lbnRzIHRo
ZW4gaXQncyBwb3RlbnRpYWxseSBhY2Nlc3NpbmcgbG9jYWxzLgotICAgICAgICAgICAgICAgIGlm
IChub2RlLT5hcnJheU1vZGUoKS50eXBlKCkgPT0gQXJyYXk6OkFyZ3VtZW50cykKLSAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIENyZWF0ZUFyZ3VtZW50czoKLSAgICAgICAg
ICAgIGNhc2UgVGVhck9mZkFjdGl2YXRpb246Ci0gICAgICAgICAgICBjYXNlIFRlYXJPZmZBcmd1
bWVudHM6Ci0gICAgICAgICAgICAgICAgLy8gSWYgYW4gYWN0aXZhdGlvbiBpcyBiZWluZyB0b3Ju
IG9mZiB0aGVuIGl0IG1lYW5zIHRoYXQgY2FwdHVyZWQgdmFyaWFibGVzCi0gICAgICAgICAgICAg
ICAgLy8gYXJlIGxpdmUuIFdlIGNvdWxkIGJlIGNsZXZlciBoZXJlIGFuZCBjaGVjayBpZiB0aGUg
bG9jYWwgcXVhbGlmaWVzIGFzIGFuCi0gICAgICAgICAgICAgICAgLy8gYXJndW1lbnQgcmVnaXN0
ZXIuIEJ1dCB0aGF0IHNlZW1zIGxpa2UgaXQgd291bGQgYnV5IHVzIHZlcnkgbGl0dGxlIHNpbmNl
Ci0gICAgICAgICAgICAgICAgLy8gYW55IGtpbmQgb2YgdGVhciBvZmZzIGFyZSByYXJlIHRvIGJl
Z2luIHdpdGguCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAg
ICAgCi0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgfQotICAgICAgICAgICAgaWYgKG1fZ3JhcGguY2xvYmJlcnNXb3JsZChub2RlKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICB9Ci0KICAgICB2b2lkIGVsaW1pbmF0ZUlycmVsZXZhbnRQaGFudG9tQ2hp
bGRyZW4oTm9kZSogbm9kZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChub2RlLT5vcCgpID09IFBo
YW50b20pOwpAQCAtMTExOCwyMyArMTA0Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBlbGlt
aW5hdGVJcnJlbGV2YW50UGhhbnRvbUNoaWxkcmVuKG5vZGUpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgICAgICAKLSAgICAgICAgY2FzZSBGbHVzaDoKLSAgICAgICAgICAgIC8vIFRoaXMg
aXMgbmVlZGVkIGZvciBhcmd1bWVudHMgc2ltcGxpZmljYXRpb24gdG8gd29yay4gV2UgbmVlZCB0
byBlbGltaW5hdGUgdGhlCi0gICAgICAgICAgICAvLyByZWR1bmRhbmN5IGJldHdlZW4gb3BfZW50
ZXIncyB1bmRlZmluZWQtYWxsLXRoZS10aGluZ3MgYW5kIHRoZSBzdWJzZXF1ZW50Ci0gICAgICAg
ICAgICAvLyBvcF9pbml0X2xhenlfcmVnLgotICAgICAgICAgICAgCi0gICAgICAgICAgICBBU1NF
UlQobV9ncmFwaC5tX2Zvcm0gIT0gU1NBKTsKLSAgICAgICAgICAgIAotICAgICAgICAgICAgaWYg
KE5vZGUqIHNldExvY2FsID0gc2V0TG9jYWxTdG9yZUVsaW1pbmF0aW9uKG5vZGUtPmxvY2FsKCkp
KSB7Ci0gICAgICAgICAgICAgICAgbm9kZS0+Y29udmVydFRvUGhhbnRvbSgpOwotICAgICAgICAg
ICAgICAgIE5vZGUqIGRhdGFOb2RlID0gc2V0TG9jYWwtPmNoaWxkMSgpLm5vZGUoKTsKLSAgICAg
ICAgICAgICAgICBBU1NFUlQoZGF0YU5vZGUtPmhhc1Jlc3VsdCgpKTsKLSAgICAgICAgICAgICAg
ICBub2RlLT5jaGlsZDEoKSA9IGRhdGFOb2RlLT5kZWZhdWx0RWRnZSgpOwotICAgICAgICAgICAg
ICAgIG1fZ3JhcGguZGV0aHJlYWQoKTsKLSAgICAgICAgICAgICAgICBtX2NoYW5nZWQgPSB0cnVl
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAKICAgICAg
ICAgZGVmYXVsdDoKICAgICAgICAgICAgIC8vIGRvIG5vdGhpbmcuCiAgICAgICAgICAgICBicmVh
azsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmNwcAko
cmV2aXNpb24gMTcwODc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVy
aXplLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsMTMgQEAgYm9vbCBkb2VzV3JpdGVz
KEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZQogICAgIHJldHVybiBhZGRXcml0ZS5yZXN1bHQoKTsK
IH0KIAorYm9vbCBhY2Nlc3Nlc092ZXJsYXAoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBBYnN0
cmFjdEhlYXAgaGVhcCkKK3sKKyAgICBBYnN0cmFjdEhlYXBPdmVybGFwcyBhZGRBY2Nlc3MoaGVh
cCk7CisgICAgY2xvYmJlcml6ZShncmFwaCwgbm9kZSwgYWRkQWNjZXNzLCBhZGRBY2Nlc3MpOwor
ICAgIHJldHVybiBhZGRBY2Nlc3MucmVzdWx0KCk7Cit9CisKIGJvb2wgd3JpdGVzT3ZlcmxhcChH
cmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIEFic3RyYWN0SGVhcCBoZWFwKQogewogICAgIE5vT3BD
bG9iYmVyaXplIGFkZFJlYWQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ns
b2JiZXJpemUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ns
b2JiZXJpemUuaAkocmV2aXNpb24gMTcwODc0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOCw3ICsxMjgsNiBAQCB2b2lk
IGNsb2JiZXJpemUoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlCiAgICAgY2FzZSBab21iaWVIaW50
OgogICAgIGNhc2UgVXBzaWxvbjoKICAgICBjYXNlIFBoaToKLSAgICBjYXNlIEZsdXNoOgogICAg
IGNhc2UgUGhhbnRvbUxvY2FsOgogICAgIGNhc2UgU2V0QXJndW1lbnQ6CiAgICAgY2FzZSBQaGFu
dG9tQXJndW1lbnRzOgpAQCAtMTUyLDYgKzE1MSwxMSBAQCB2b2lkIGNsb2JiZXJpemUoR3JhcGgm
IGdyYXBoLCBOb2RlKiBub2RlCiAgICAgICAgIHdyaXRlKFNpZGVTdGF0ZSk7CiAgICAgICAgIHJl
dHVybjsKICAgICAgICAgCisgICAgY2FzZSBGbHVzaDoKKyAgICAgICAgcmVhZChBYnN0cmFjdEhl
YXAoVmFyaWFibGVzLCBub2RlLT5sb2NhbCgpKSk7CisgICAgICAgIHdyaXRlKFNpZGVTdGF0ZSk7
CisgICAgICAgIHJldHVybjsKKwogICAgIGNhc2UgVmFyaWFibGVXYXRjaHBvaW50OgogICAgIGNh
c2UgVHlwZWRBcnJheVdhdGNocG9pbnQ6CiAgICAgICAgIHJlYWQoV2F0Y2hwb2ludF9maXJlKTsK
QEAgLTYyOSwxMCArNjMzLDEyIEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUq
IG5vZGUKICAgICAgICAgfQogCiAgICAgY2FzZSBUZWFyT2ZmQWN0aXZhdGlvbjoKKyAgICAgICAg
cmVhZChWYXJpYWJsZXMpOwogICAgICAgICB3cml0ZShKU1ZhcmlhYmxlT2JqZWN0X3JlZ2lzdGVy
cyk7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAgY2FzZSBUZWFyT2ZmQXJndW1lbnRz
OgorICAgICAgICByZWFkKFZhcmlhYmxlcyk7CiAgICAgICAgIHdyaXRlKEFyZ3VtZW50c19yZWdp
c3RlcnMpOwogICAgICAgICByZXR1cm47CiAgICAgICAgIApAQCAtNzE0LDYgKzcyMCw3IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX3Jlc3VsdDsKIH07CiAKK2Jvb2wgYWNjZXNzZXNPdmVybGFwKEdy
YXBoJiwgTm9kZSosIEFic3RyYWN0SGVhcCk7CiBib29sIHdyaXRlc092ZXJsYXAoR3JhcGgmLCBO
b2RlKiwgQWJzdHJhY3RIZWFwKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0
aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxNzA4NzQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yOCw2ICsy
OCw4IEBACiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2luY2x1ZGUgIkRGR0Fic3RyYWN0SGVh
cC5oIgorI2luY2x1ZGUgIkRGR0Nsb2JiZXJpemUuaCIKICNpbmNsdWRlICJERkdHcmFwaC5oIgog
I2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2luY2x1ZGUgIkRGR1BoYXNlLmgiCkBAIC0y
MTMsNiArMjE1LDM0IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
ICAgICAgICAgICAgCisgICAgICAgIGNhc2UgRmx1c2g6IHsKKyAgICAgICAgICAgIEFTU0VSVCht
X2dyYXBoLm1fZm9ybSAhPSBTU0EpOworICAgICAgICAgICAgCisgICAgICAgICAgICBOb2RlKiBz
ZXRMb2NhbCA9IG51bGxwdHI7CisgICAgICAgICAgICBWaXJ0dWFsUmVnaXN0ZXIgbG9jYWwgPSBt
X25vZGUtPmxvY2FsKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IG1fbm9kZUluZGV4OyBpLS07KSB7CisgICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IG1f
YmxvY2stPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChub2RlLT5vcCgpID09IFNldExvY2Fs
ICYmIG5vZGUtPmxvY2FsKCkgPT0gbG9jYWwpIHsKKyAgICAgICAgICAgICAgICAgICAgc2V0TG9j
YWwgPSBub2RlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VzT3ZlcmxhcChtX2dyYXBoLCBub2RlLCBBYnN0
cmFjdEhlYXAoVmFyaWFibGVzLCBsb2NhbCkpKQorICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKCFzZXRMb2NhbCkK
KyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbV9ub2Rl
LT5jb252ZXJ0VG9QaGFudG9tKCk7CisgICAgICAgICAgICBOb2RlKiBkYXRhTm9kZSA9IHNldExv
Y2FsLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBERkdfQVNTRVJUKG1fZ3JhcGgsIG1f
bm9kZSwgZGF0YU5vZGUtPmhhc1Jlc3VsdCgpKTsKKyAgICAgICAgICAgIG1fbm9kZS0+Y2hpbGQx
KCkgPSBkYXRhTm9kZS0+ZGVmYXVsdEVkZ2UoKTsKKyAgICAgICAgICAgIG1fZ3JhcGguZGV0aHJl
YWQoKTsKKyAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQorICAgICAgICAgICAgCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234588</attachid>
            <date>2014-07-08 13:25:59 -0700</date>
            <delta_ts>2014-07-08 20:35:31 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10184</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwODkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE0LTA3LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2Z0bG9wdF0gTW9yZSBGbHVzaChTZXRMb2NhbCkgc3RvcmUgZWxpbWluYXRpb24gdG8gU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM0NzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisg
ICAgICAgIAorICAgICAgICBJJ20gZ29pbmcgdG8gc3RyZWFtbGluZSBDU0UgYXJvdW5kIGNsb2Ji
ZXJpemUoKSBhcyBwYXJ0IG9mCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzQ2NzcsIGFuZCBzbyBGbHVzaChTZXRMb2NhbCkgc3RvcmUKKyAgICAgICAg
ZWxpbWluYXRpb24gd291bGRuJ3QgYmVsb25nIGluIENTRSBhbnltb3JlLiBJdCBkb2Vzbid0IHF1
aXRlIGJlbG9uZyBhbnl3aGVyZSwgd2hpY2gKKyAgICAgICAgbWVhbnMgdGhhdCBpdCBiZWxvbmdz
IGluIFN0cmVuZ3RoUmVkdWN0aW9uUGhhc2UsIHNpbmNlIHRoYXQncyBpbnRlbmRlZCB0byBiZSBv
dXIKKyAgICAgICAgZHVtcGluZyBncm91bmQuCisgICAgICAgIAorICAgICAgICBUbyBkbyB0aGlz
IEkgaGFkIHRvIGFkZCBzb21lIG1pc3Npbmcgc21hcnRzIHRvIGNsb2JiZXJpemUoKS4gUHJldmlv
dXNseSBjbG9iYmVyaXplKCkKKyAgICAgICAgY291bGQgcGxheSBhIGJpdCBsb29zZSB3aXRoIHJl
YWRzIG9mIFZhcmlhYmxlcyBiZWNhdXNlIGl0IHdhc24ndCB1c2VkIGZvciBzdG9yZQorICAgICAg
ICBlbGltaW5hdGlvbi4gVGhlIG1haW4gY2xpZW50IG9mIHJlYWQoKSB3YXMgTElDTSwgYnV0IGl0
IHdvdWxkIG9ubHkgdXNlIGl0IHRvCisgICAgICAgIGRldGVybWluZSBob2lzdGFiaWxpdHkgYW5k
IGFueXRoaW5nIHRoYXQgZGlkIGEgd3JpdGUoKSB3YXMgbm90IGhvaXN0YWJsZSAtIHNvLCB3ZSBo
YWQKKyAgICAgICAgYmVuaWduIChidXQgc3RpbGwgd3JvbmcpIG1pc3NpbmcgcmVhZCgpIGNhbGxz
IGluIHBsYWNlcyB0aGF0IGRpZCB3cml0ZSgpcy4gVGhpcyBmaXhlcworICAgICAgICBhIGJ1bmNo
IG9mIHRob3NlIGNhc2VzLgorCisgICAgICAgICogZGZnL0RGR0NTRVBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpDU0VQaGFzZTo6cGVyZm9ybU5vZGVDU0UpOgorICAgICAgICAoSlNDOjpE
Rkc6OkNTRVBoYXNlOjpzZXRMb2NhbFN0b3JlRWxpbWluYXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAqIGRmZy9ERkdDbG9iYmVyaXplLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjphY2Nlc3Nlc092
ZXJsYXApOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0cmVuZ3RoUmVkdWN0aW9uUGhhc2U6OmhhbmRsZU5v
ZGUpOgorCiAyMDE0LTA3LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW2Z0bG9wdF0gR2V0IHJpZCBvZiBOb2RlOjptaXNjIGJ5IG1vdmluZyB0aGUgZmllbGRz
IG91dCBvZiB0aGUgdW5pb24gc28gdGhhdCB5b3UgY2FuIHVzZSByZXBsYWNlbWVudCBhbmQgb3du
ZXIgc2ltdWx0YW5lb3VzbHkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NF
UGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NF
UGhhc2UuY3BwCShyZXZpc2lvbiAxNzA4OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NTRVBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYwLDc3ICs3NjAsNiBAQCBwcml2
YXRlOgogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIAotICAgIE5vZGUqIHNldExv
Y2FsU3RvcmVFbGltaW5hdGlvbihWaXJ0dWFsUmVnaXN0ZXIgbG9jYWwpCi0gICAgewotICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBtX2luZGV4SW5CbG9jazsgaS0tOykgewotICAgICAgICAgICAg
Tm9kZSogbm9kZSA9IG1fY3VycmVudEJsb2NrLT5hdChpKTsKLSAgICAgICAgICAgIHN3aXRjaCAo
bm9kZS0+b3AoKSkgewotICAgICAgICAgICAgY2FzZSBHZXRMb2NhbDoKLSAgICAgICAgICAgIGNh
c2UgRmx1c2g6Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmxvY2FsKCkgPT0gbG9jYWwpCi0g
ICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBHZXRMb2NhbFVubGlua2VkOgot
ICAgICAgICAgICAgICAgIGlmIChub2RlLT51bmxpbmtlZExvY2FsKCkgPT0gbG9jYWwpCi0gICAg
ICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBTZXRMb2NhbDogewotICAgICAgICAg
ICAgICAgIGlmIChub2RlLT5sb2NhbCgpID09IGxvY2FsKQotICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gbm9kZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgR2V0Q2xvc3VyZVZhcjoKLSAgICAgICAgICAg
IGNhc2UgUHV0Q2xvc3VyZVZhcjoKLSAgICAgICAgICAgICAgICBpZiAoc3RhdGljX2Nhc3Q8Vmly
dHVhbFJlZ2lzdGVyPihub2RlLT52YXJOdW1iZXIoKSkgPT0gbG9jYWwpCi0gICAgICAgICAgICAg
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAg
ICAgICAgIAotICAgICAgICAgICAgY2FzZSBHZXRNeVNjb3BlOgotICAgICAgICAgICAgY2FzZSBT
a2lwVG9wU2NvcGU6Ci0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPm9yaWdpbi5zZW1hbnRpYy5p
bmxpbmVDYWxsRnJhbWUpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
ICAgIGlmIChtX2dyYXBoLnVuY2hlY2tlZEFjdGl2YXRpb25SZWdpc3RlcigpID09IGxvY2FsKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICBicmVh
azsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNhc2UgQ2hlY2tBcmd1bWVudHNOb3RD
cmVhdGVkOgotICAgICAgICAgICAgY2FzZSBHZXRNeUFyZ3VtZW50c0xlbmd0aDoKLSAgICAgICAg
ICAgIGNhc2UgR2V0TXlBcmd1bWVudHNMZW5ndGhTYWZlOgotICAgICAgICAgICAgICAgIGlmICht
X2dyYXBoLnVuY2hlY2tlZEFyZ3VtZW50c1JlZ2lzdGVyRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRp
YykgPT0gbG9jYWwpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBHZXRN
eUFyZ3VtZW50QnlWYWw6Ci0gICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRCeVZhbFNhZmU6
Ci0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjYXNlIEdldEJ5VmFsOgotICAgICAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYWNj
ZXNzaW5nIGFyZ3VtZW50cyB0aGVuIGl0J3MgcG90ZW50aWFsbHkgYWNjZXNzaW5nIGxvY2Fscy4K
LSAgICAgICAgICAgICAgICBpZiAobm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpB
cmd1bWVudHMpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBDcmVhdGVB
cmd1bWVudHM6Ci0gICAgICAgICAgICBjYXNlIFRlYXJPZmZBY3RpdmF0aW9uOgotICAgICAgICAg
ICAgY2FzZSBUZWFyT2ZmQXJndW1lbnRzOgotICAgICAgICAgICAgICAgIC8vIElmIGFuIGFjdGl2
YXRpb24gaXMgYmVpbmcgdG9ybiBvZmYgdGhlbiBpdCBtZWFucyB0aGF0IGNhcHR1cmVkIHZhcmlh
YmxlcwotICAgICAgICAgICAgICAgIC8vIGFyZSBsaXZlLiBXZSBjb3VsZCBiZSBjbGV2ZXIgaGVy
ZSBhbmQgY2hlY2sgaWYgdGhlIGxvY2FsIHF1YWxpZmllcyBhcyBhbgotICAgICAgICAgICAgICAg
IC8vIGFyZ3VtZW50IHJlZ2lzdGVyLiBCdXQgdGhhdCBzZWVtcyBsaWtlIGl0IHdvdWxkIGJ1eSB1
cyB2ZXJ5IGxpdHRsZSBzaW5jZQotICAgICAgICAgICAgICAgIC8vIGFueSBraW5kIG9mIHRlYXIg
b2ZmcyBhcmUgcmFyZSB0byBiZWdpbiB3aXRoLgotICAgICAgICAgICAgICAgIHJldHVybiBudWxs
cHRyOwotICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmIChtX2dyYXBoLmNsb2Ji
ZXJzV29ybGQobm9kZSkpCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCiAgICAgdm9pZCBlbGltaW5hdGVJ
cnJlbGV2YW50UGhhbnRvbUNoaWxkcmVuKE5vZGUqIG5vZGUpCiAgICAgewogICAgICAgICBBU1NF
UlQobm9kZS0+b3AoKSA9PSBQaGFudG9tKTsKQEAgLTExMTgsMjMgKzEwNDcsNiBAQCBwcml2YXRl
OgogICAgICAgICAgICAgZWxpbWluYXRlSXJyZWxldmFudFBoYW50b21DaGlsZHJlbihub2RlKTsK
ICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgCi0gICAgICAgIGNhc2UgRmx1c2g6Ci0g
ICAgICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBmb3IgYXJndW1lbnRzIHNpbXBsaWZpY2F0aW9u
IHRvIHdvcmsuIFdlIG5lZWQgdG8gZWxpbWluYXRlIHRoZQotICAgICAgICAgICAgLy8gcmVkdW5k
YW5jeSBiZXR3ZWVuIG9wX2VudGVyJ3MgdW5kZWZpbmVkLWFsbC10aGUtdGhpbmdzIGFuZCB0aGUg
c3Vic2VxdWVudAotICAgICAgICAgICAgLy8gb3BfaW5pdF9sYXp5X3JlZy4KLSAgICAgICAgICAg
IAotICAgICAgICAgICAgQVNTRVJUKG1fZ3JhcGgubV9mb3JtICE9IFNTQSk7Ci0gICAgICAgICAg
ICAKLSAgICAgICAgICAgIGlmIChOb2RlKiBzZXRMb2NhbCA9IHNldExvY2FsU3RvcmVFbGltaW5h
dGlvbihub2RlLT5sb2NhbCgpKSkgewotICAgICAgICAgICAgICAgIG5vZGUtPmNvbnZlcnRUb1Bo
YW50b20oKTsKLSAgICAgICAgICAgICAgICBOb2RlKiBkYXRhTm9kZSA9IHNldExvY2FsLT5jaGls
ZDEoKS5ub2RlKCk7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKGRhdGFOb2RlLT5oYXNSZXN1bHQo
KSk7Ci0gICAgICAgICAgICAgICAgbm9kZS0+Y2hpbGQxKCkgPSBkYXRhTm9kZS0+ZGVmYXVsdEVk
Z2UoKTsKLSAgICAgICAgICAgICAgICBtX2dyYXBoLmRldGhyZWFkKCk7Ci0gICAgICAgICAgICAg
ICAgbV9jaGFuZ2VkID0gdHJ1ZTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgCiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAvLyBkbyBub3RoaW5n
LgogICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0Nsb2JiZXJpemUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQ2xvYmJlcml6ZS5jcHAJKHJldmlzaW9uIDE3MDg5MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDEz
IEBAIGJvb2wgZG9lc1dyaXRlcyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUKICAgICByZXR1cm4g
YWRkV3JpdGUucmVzdWx0KCk7CiB9CiAKK2Jvb2wgYWNjZXNzZXNPdmVybGFwKEdyYXBoJiBncmFw
aCwgTm9kZSogbm9kZSwgQWJzdHJhY3RIZWFwIGhlYXApCit7CisgICAgQWJzdHJhY3RIZWFwT3Zl
cmxhcHMgYWRkQWNjZXNzKGhlYXApOworICAgIGNsb2JiZXJpemUoZ3JhcGgsIG5vZGUsIGFkZEFj
Y2VzcywgYWRkQWNjZXNzKTsKKyAgICByZXR1cm4gYWRkQWNjZXNzLnJlc3VsdCgpOworfQorCiBi
b29sIHdyaXRlc092ZXJsYXAoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlLCBBYnN0cmFjdEhlYXAg
aGVhcCkKIHsKICAgICBOb09wQ2xvYmJlcml6ZSBhZGRSZWFkOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHJldmlzaW9uIDE3MDg5MykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjgsNyArMTI4LDYgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZQog
ICAgIGNhc2UgWm9tYmllSGludDoKICAgICBjYXNlIFVwc2lsb246CiAgICAgY2FzZSBQaGk6Ci0g
ICAgY2FzZSBGbHVzaDoKICAgICBjYXNlIFBoYW50b21Mb2NhbDoKICAgICBjYXNlIFNldEFyZ3Vt
ZW50OgogICAgIGNhc2UgUGhhbnRvbUFyZ3VtZW50czoKQEAgLTE1Miw2ICsxNTEsMTEgQEAgdm9p
ZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZQogICAgICAgICB3cml0ZShTaWRl
U3RhdGUpOwogICAgICAgICByZXR1cm47CiAgICAgICAgIAorICAgIGNhc2UgRmx1c2g6CisgICAg
ICAgIHJlYWQoQWJzdHJhY3RIZWFwKFZhcmlhYmxlcywgbm9kZS0+bG9jYWwoKSkpOworICAgICAg
ICB3cml0ZShTaWRlU3RhdGUpOworICAgICAgICByZXR1cm47CisKICAgICBjYXNlIFZhcmlhYmxl
V2F0Y2hwb2ludDoKICAgICBjYXNlIFR5cGVkQXJyYXlXYXRjaHBvaW50OgogICAgICAgICByZWFk
KFdhdGNocG9pbnRfZmlyZSk7CkBAIC0xNjQsMTMgKzE2OCwyMCBAQCB2b2lkIGNsb2JiZXJpemUo
R3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlCiAgICAgICAgIHJldHVybjsKIAogICAgIGNhc2UgQ3Jl
YXRlQWN0aXZhdGlvbjoKLSAgICBjYXNlIENyZWF0ZUFyZ3VtZW50czoKICAgICAgICAgcmVhZChI
ZWFwT2JqZWN0Q291bnQpOwogICAgICAgICB3cml0ZShIZWFwT2JqZWN0Q291bnQpOwogICAgICAg
ICB3cml0ZShTaWRlU3RhdGUpOwogICAgICAgICB3cml0ZShXYXRjaHBvaW50X2ZpcmUpOwogICAg
ICAgICByZXR1cm47CiAgICAgICAgIAorICAgIGNhc2UgQ3JlYXRlQXJndW1lbnRzOgorICAgICAg
ICByZWFkKFZhcmlhYmxlcyk7CisgICAgICAgIHJlYWQoSGVhcE9iamVjdENvdW50KTsKKyAgICAg
ICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsKKyAgICAgICAgd3JpdGUoU2lkZVN0YXRlKTsKKyAg
ICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJlKTsKKyAgICAgICAgcmV0dXJuOworCiAgICAgY2Fz
ZSBGdW5jdGlvblJlZW50cnlXYXRjaHBvaW50OgogICAgICAgICByZWFkKFdhdGNocG9pbnRfZmly
ZSk7CiAgICAgICAgIHJldHVybjsKQEAgLTYyOSwxMCArNjQwLDEyIEBAIHZvaWQgY2xvYmJlcml6
ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUKICAgICAgICAgfQogCiAgICAgY2FzZSBUZWFyT2Zm
QWN0aXZhdGlvbjoKKyAgICAgICAgcmVhZChWYXJpYWJsZXMpOwogICAgICAgICB3cml0ZShKU1Zh
cmlhYmxlT2JqZWN0X3JlZ2lzdGVycyk7CiAgICAgICAgIHJldHVybjsKICAgICAgICAgCiAgICAg
Y2FzZSBUZWFyT2ZmQXJndW1lbnRzOgorICAgICAgICByZWFkKFZhcmlhYmxlcyk7CiAgICAgICAg
IHdyaXRlKEFyZ3VtZW50c19yZWdpc3RlcnMpOwogICAgICAgICByZXR1cm47CiAgICAgICAgIApA
QCAtNzE0LDYgKzcyNyw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Jlc3VsdDsKIH07CiAKK2Jv
b2wgYWNjZXNzZXNPdmVybGFwKEdyYXBoJiwgTm9kZSosIEFic3RyYWN0SGVhcCk7CiBib29sIHdy
aXRlc092ZXJsYXAoR3JhcGgmLCBOb2RlKiwgQWJzdHJhY3RIZWFwKTsKIAogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJlbmd0
aFJlZHVjdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxNzA4OTMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2UuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yOCw2ICsyOCw4IEBACiAKICNpZiBFTkFCTEUoREZHX0pJVCkKIAorI2lu
Y2x1ZGUgIkRGR0Fic3RyYWN0SGVhcC5oIgorI2luY2x1ZGUgIkRGR0Nsb2JiZXJpemUuaCIKICNp
bmNsdWRlICJERkdHcmFwaC5oIgogI2luY2x1ZGUgIkRGR0luc2VydGlvblNldC5oIgogI2luY2x1
ZGUgIkRGR1BoYXNlLmgiCkBAIC0yMTMsNiArMjE1LDM0IEBAIHByaXZhdGU6CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCisgICAgICAgIGNhc2UgRmx1c2g6IHsK
KyAgICAgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZm9ybSAhPSBTU0EpOworICAgICAgICAgICAg
CisgICAgICAgICAgICBOb2RlKiBzZXRMb2NhbCA9IG51bGxwdHI7CisgICAgICAgICAgICBWaXJ0
dWFsUmVnaXN0ZXIgbG9jYWwgPSBtX25vZGUtPmxvY2FsKCk7CisgICAgICAgICAgICAKKyAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1fbm9kZUluZGV4OyBpLS07KSB7CisgICAgICAgICAg
ICAgICAgTm9kZSogbm9kZSA9IG1fYmxvY2stPmF0KGkpOworICAgICAgICAgICAgICAgIGlmIChu
b2RlLT5vcCgpID09IFNldExvY2FsICYmIG5vZGUtPmxvY2FsKCkgPT0gbG9jYWwpIHsKKyAgICAg
ICAgICAgICAgICAgICAgc2V0TG9jYWwgPSBub2RlOworICAgICAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGFjY2Vzc2VzT3Zlcmxh
cChtX2dyYXBoLCBub2RlLCBBYnN0cmFjdEhlYXAoVmFyaWFibGVzLCBsb2NhbCkpKQorICAgICAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgaWYgKCFzZXRMb2NhbCkKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IAorICAgICAgICAgICAgbV9ub2RlLT5jb252ZXJ0VG9QaGFudG9tKCk7CisgICAgICAgICAgICBO
b2RlKiBkYXRhTm9kZSA9IHNldExvY2FsLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBE
RkdfQVNTRVJUKG1fZ3JhcGgsIG1fbm9kZSwgZGF0YU5vZGUtPmhhc1Jlc3VsdCgpKTsKKyAgICAg
ICAgICAgIG1fbm9kZS0+Y2hpbGQxKCkgPSBkYXRhTm9kZS0+ZGVmYXVsdEVkZ2UoKTsKKyAgICAg
ICAgICAgIG1fZ3JhcGguZGV0aHJlYWQoKTsKKyAgICAgICAgICAgIG1fY2hhbmdlZCA9IHRydWU7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICAgICAgCiAgICAgICAgIGRl
ZmF1bHQ6CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234614</attachid>
            <date>2014-07-08 20:35:31 -0700</date>
            <delta_ts>2014-07-09 10:50:17 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10065</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwOTA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBA
CisyMDE0LTA3LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
W2Z0bG9wdF0gTW92ZSBGbHVzaChTZXRMb2NhbCkgc3RvcmUgZWxpbWluYXRpb24gdG8gU3RyZW5n
dGhSZWR1Y3Rpb25QaGFzZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM0NzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisg
ICAgICAgIAorICAgICAgICBJJ20gZ29pbmcgdG8gc3RyZWFtbGluZSBDU0UgYXJvdW5kIGNsb2Ji
ZXJpemUoKSBhcyBwYXJ0IG9mCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMzQ2NzcsIGFuZCBzbyBGbHVzaChTZXRMb2NhbCkgc3RvcmUKKyAgICAgICAg
ZWxpbWluYXRpb24gd291bGRuJ3QgYmVsb25nIGluIENTRSBhbnltb3JlLiBJdCBkb2Vzbid0IHF1
aXRlIGJlbG9uZyBhbnl3aGVyZSwgd2hpY2gKKyAgICAgICAgbWVhbnMgdGhhdCBpdCBiZWxvbmdz
IGluIFN0cmVuZ3RoUmVkdWN0aW9uUGhhc2UsIHNpbmNlIHRoYXQncyBpbnRlbmRlZCB0byBiZSBv
dXIKKyAgICAgICAgZHVtcGluZyBncm91bmQuCisgICAgICAgIAorICAgICAgICBUbyBkbyB0aGlz
IEkgaGFkIHRvIGFkZCBzb21lIG1pc3Npbmcgc21hcnRzIHRvIGNsb2JiZXJpemUoKS4gUHJldmlv
dXNseSBjbG9iYmVyaXplKCkKKyAgICAgICAgY291bGQgcGxheSBhIGJpdCBsb29zZSB3aXRoIHJl
YWRzIG9mIFZhcmlhYmxlcyBiZWNhdXNlIGl0IHdhc24ndCB1c2VkIGZvciBzdG9yZQorICAgICAg
ICBlbGltaW5hdGlvbi4gVGhlIG1haW4gY2xpZW50IG9mIHJlYWQoKSB3YXMgTElDTSwgYnV0IGl0
IHdvdWxkIG9ubHkgdXNlIGl0IHRvCisgICAgICAgIGRldGVybWluZSBob2lzdGFiaWxpdHkgYW5k
IGFueXRoaW5nIHRoYXQgZGlkIGEgd3JpdGUoKSB3YXMgbm90IGhvaXN0YWJsZSAtIHNvLCB3ZSBo
YWQKKyAgICAgICAgYmVuaWduIChidXQgc3RpbGwgd3JvbmcpIG1pc3NpbmcgcmVhZCgpIGNhbGxz
IGluIHBsYWNlcyB0aGF0IGRpZCB3cml0ZSgpcy4gVGhpcyBmaXhlcworICAgICAgICBhIGJ1bmNo
IG9mIHRob3NlIGNhc2VzLgorCisgICAgICAgICogZGZnL0RGR0NTRVBoYXNlLmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpDU0VQaGFzZTo6cGVyZm9ybU5vZGVDU0UpOgorICAgICAgICAoSlNDOjpE
Rkc6OkNTRVBoYXNlOjpzZXRMb2NhbFN0b3JlRWxpbWluYXRpb24pOiBEZWxldGVkLgorICAgICAg
ICAqIGRmZy9ERkdDbG9iYmVyaXplLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjphY2Nlc3Nlc092
ZXJsYXApOgorICAgICAgICAqIGRmZy9ERkdDbG9iYmVyaXplLmg6CisgICAgICAgIChKU0M6OkRG
Rzo6Y2xvYmJlcml6ZSk6CisgICAgICAgICogZGZnL0RGR1N0cmVuZ3RoUmVkdWN0aW9uUGhhc2Uu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlN0cmVuZ3RoUmVkdWN0aW9uUGhhc2U6OmhhbmRsZU5v
ZGUpOgorCiAyMDE0LTA3LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAg
ICAgICAgW2Z0bG9wdF0gUGhhbnRvbSBzaW1wbGlmaWNhdGlvbiBzaG91bGQgYmUgaW4gaXRzIG93
biBwaGFzZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDU0VQaGFzZS5jcHAJ
KHJldmlzaW9uIDE3MDkwNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ1NFUGhh
c2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MTksNzcgKzcxOSw2IEBAIHByaXZhdGU6CiAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgCi0gICAgTm9kZSogc2V0TG9jYWxTdG9yZUVs
aW1pbmF0aW9uKFZpcnR1YWxSZWdpc3RlciBsb2NhbCkKLSAgICB7Ci0gICAgICAgIGZvciAodW5z
aWduZWQgaSA9IG1faW5kZXhJbkJsb2NrOyBpLS07KSB7Ci0gICAgICAgICAgICBOb2RlKiBub2Rl
ID0gbV9jdXJyZW50QmxvY2stPmF0KGkpOwotICAgICAgICAgICAgc3dpdGNoIChub2RlLT5vcCgp
KSB7Ci0gICAgICAgICAgICBjYXNlIEdldExvY2FsOgotICAgICAgICAgICAgY2FzZSBGbHVzaDoK
LSAgICAgICAgICAgICAgICBpZiAobm9kZS0+bG9jYWwoKSA9PSBsb2NhbCkKLSAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAg
ICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIEdldExvY2FsVW5saW5rZWQ6Ci0gICAgICAgICAg
ICAgICAgaWYgKG5vZGUtPnVubGlua2VkTG9jYWwoKSA9PSBsb2NhbCkKLSAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg
ICAgICAgCi0gICAgICAgICAgICBjYXNlIFNldExvY2FsOiB7Ci0gICAgICAgICAgICAgICAgaWYg
KG5vZGUtPmxvY2FsKCkgPT0gbG9jYWwpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2Rl
OwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgICAg
IAotICAgICAgICAgICAgY2FzZSBHZXRDbG9zdXJlVmFyOgotICAgICAgICAgICAgY2FzZSBQdXRD
bG9zdXJlVmFyOgotICAgICAgICAgICAgICAgIGlmIChzdGF0aWNfY2FzdDxWaXJ0dWFsUmVnaXN0
ZXI+KG5vZGUtPnZhck51bWJlcigpKSA9PSBsb2NhbCkKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgCi0g
ICAgICAgICAgICBjYXNlIEdldE15U2NvcGU6Ci0gICAgICAgICAgICBjYXNlIFNraXBUb3BTY29w
ZToKLSAgICAgICAgICAgICAgICBpZiAobm9kZS0+b3JpZ2luLnNlbWFudGljLmlubGluZUNhbGxG
cmFtZSkKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgaWYgKG1f
Z3JhcGgudW5jaGVja2VkQWN0aXZhdGlvblJlZ2lzdGVyKCkgPT0gbG9jYWwpCi0gICAgICAgICAg
ICAgICAgICAgIHJldHVybiBudWxscHRyOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICAgICAgICAgIAotICAgICAgICAgICAgY2FzZSBDaGVja0FyZ3VtZW50c05vdENyZWF0ZWQ6Ci0g
ICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRzTGVuZ3RoOgotICAgICAgICAgICAgY2FzZSBH
ZXRNeUFyZ3VtZW50c0xlbmd0aFNhZmU6Ci0gICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgudW5j
aGVja2VkQXJndW1lbnRzUmVnaXN0ZXJGb3Iobm9kZS0+b3JpZ2luLnNlbWFudGljKSA9PSBsb2Nh
bCkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIEdldE15QXJndW1lbnRC
eVZhbDoKLSAgICAgICAgICAgIGNhc2UgR2V0TXlBcmd1bWVudEJ5VmFsU2FmZToKLSAgICAgICAg
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGNh
c2UgR2V0QnlWYWw6Ci0gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhY2Nlc3NpbmcgYXJn
dW1lbnRzIHRoZW4gaXQncyBwb3RlbnRpYWxseSBhY2Nlc3NpbmcgbG9jYWxzLgotICAgICAgICAg
ICAgICAgIGlmIChub2RlLT5hcnJheU1vZGUoKS50eXBlKCkgPT0gQXJyYXk6OkFyZ3VtZW50cykK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICBjYXNlIENyZWF0ZUFyZ3VtZW50czoK
LSAgICAgICAgICAgIGNhc2UgVGVhck9mZkFjdGl2YXRpb246Ci0gICAgICAgICAgICBjYXNlIFRl
YXJPZmZBcmd1bWVudHM6Ci0gICAgICAgICAgICAgICAgLy8gSWYgYW4gYWN0aXZhdGlvbiBpcyBi
ZWluZyB0b3JuIG9mZiB0aGVuIGl0IG1lYW5zIHRoYXQgY2FwdHVyZWQgdmFyaWFibGVzCi0gICAg
ICAgICAgICAgICAgLy8gYXJlIGxpdmUuIFdlIGNvdWxkIGJlIGNsZXZlciBoZXJlIGFuZCBjaGVj
ayBpZiB0aGUgbG9jYWwgcXVhbGlmaWVzIGFzIGFuCi0gICAgICAgICAgICAgICAgLy8gYXJndW1l
bnQgcmVnaXN0ZXIuIEJ1dCB0aGF0IHNlZW1zIGxpa2UgaXQgd291bGQgYnV5IHVzIHZlcnkgbGl0
dGxlIHNpbmNlCi0gICAgICAgICAgICAgICAgLy8gYW55IGtpbmQgb2YgdGVhciBvZmZzIGFyZSBy
YXJlIHRvIGJlZ2luIHdpdGguCi0gICAgICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
ICAgICAgICAgICAgCi0gICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKG1fZ3JhcGguY2xvYmJlcnNXb3JsZChu
b2RlKSkKLSAgICAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICAgICAgfQotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KICAgICBib29sIHNldFJlcGxhY2VtZW50KE5vZGUq
IHJlcGxhY2VtZW50KQogICAgIHsKICAgICAgICAgaWYgKCFyZXBsYWNlbWVudCkKQEAgLTEwNDgs
MjMgKzk3Nyw2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgZWxpbWluYXRlKCk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIAotICAgICAgICBjYXNlIEZsdXNoOgotICAgICAg
ICAgICAgLy8gVGhpcyBpcyBuZWVkZWQgZm9yIGFyZ3VtZW50cyBzaW1wbGlmaWNhdGlvbiB0byB3
b3JrLiBXZSBuZWVkIHRvIGVsaW1pbmF0ZSB0aGUKLSAgICAgICAgICAgIC8vIHJlZHVuZGFuY3kg
YmV0d2VlbiBvcF9lbnRlcidzIHVuZGVmaW5lZC1hbGwtdGhlLXRoaW5ncyBhbmQgdGhlIHN1YnNl
cXVlbnQKLSAgICAgICAgICAgIC8vIG9wX2luaXRfbGF6eV9yZWcuCi0gICAgICAgICAgICAKLSAg
ICAgICAgICAgIEFTU0VSVChtX2dyYXBoLm1fZm9ybSAhPSBTU0EpOwotICAgICAgICAgICAgCi0g
ICAgICAgICAgICBpZiAoTm9kZSogc2V0TG9jYWwgPSBzZXRMb2NhbFN0b3JlRWxpbWluYXRpb24o
bm9kZS0+bG9jYWwoKSkpIHsKLSAgICAgICAgICAgICAgICBub2RlLT5jb252ZXJ0VG9QaGFudG9t
KCk7Ci0gICAgICAgICAgICAgICAgTm9kZSogZGF0YU5vZGUgPSBzZXRMb2NhbC0+Y2hpbGQxKCku
bm9kZSgpOwotICAgICAgICAgICAgICAgIEFTU0VSVChkYXRhTm9kZS0+aGFzUmVzdWx0KCkpOwot
ICAgICAgICAgICAgICAgIG5vZGUtPmNoaWxkMSgpID0gZGF0YU5vZGUtPmRlZmF1bHRFZGdlKCk7
Ci0gICAgICAgICAgICAgICAgbV9ncmFwaC5kZXRocmVhZCgpOwotICAgICAgICAgICAgICAgIG1f
Y2hhbmdlZCA9IHRydWU7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgIAogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgLy8gZG8gbm90aGluZy4KICAg
ICAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDbG9i
YmVyaXplLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Ns
b2JiZXJpemUuY3BwCShyZXZpc2lvbiAxNzA5MDcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Nsb2JiZXJpemUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw2ICs0MCwxMyBAQCBi
b29sIGRvZXNXcml0ZXMoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlCiAgICAgcmV0dXJuIGFkZFdy
aXRlLnJlc3VsdCgpOwogfQogCitib29sIGFjY2Vzc2VzT3ZlcmxhcChHcmFwaCYgZ3JhcGgsIE5v
ZGUqIG5vZGUsIEFic3RyYWN0SGVhcCBoZWFwKQoreworICAgIEFic3RyYWN0SGVhcE92ZXJsYXBz
IGFkZEFjY2VzcyhoZWFwKTsKKyAgICBjbG9iYmVyaXplKGdyYXBoLCBub2RlLCBhZGRBY2Nlc3Ms
IGFkZEFjY2Vzcyk7CisgICAgcmV0dXJuIGFkZEFjY2Vzcy5yZXN1bHQoKTsKK30KKwogYm9vbCB3
cml0ZXNPdmVybGFwKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSwgQWJzdHJhY3RIZWFwIGhlYXAp
CiB7CiAgICAgTm9PcENsb2JiZXJpemUgYWRkUmVhZDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCShyZXZpc2lvbiAxNzA5MDcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Nsb2JiZXJpemUuaAkod29ya2luZyBjb3B5KQpAQCAtMTI4LDcg
KzEyOCw2IEBAIHZvaWQgY2xvYmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUKICAgICBj
YXNlIFpvbWJpZUhpbnQ6CiAgICAgY2FzZSBVcHNpbG9uOgogICAgIGNhc2UgUGhpOgotICAgIGNh
c2UgRmx1c2g6CiAgICAgY2FzZSBQaGFudG9tTG9jYWw6CiAgICAgY2FzZSBTZXRBcmd1bWVudDoK
ICAgICBjYXNlIFBoYW50b21Bcmd1bWVudHM6CkBAIC0xNTIsNiArMTUxLDExIEBAIHZvaWQgY2xv
YmJlcml6ZShHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUKICAgICAgICAgd3JpdGUoU2lkZVN0YXRl
KTsKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKKyAgICBjYXNlIEZsdXNoOgorICAgICAgICBy
ZWFkKEFic3RyYWN0SGVhcChWYXJpYWJsZXMsIG5vZGUtPmxvY2FsKCkpKTsKKyAgICAgICAgd3Jp
dGUoU2lkZVN0YXRlKTsKKyAgICAgICAgcmV0dXJuOworCiAgICAgY2FzZSBWYXJpYWJsZVdhdGNo
cG9pbnQ6CiAgICAgY2FzZSBUeXBlZEFycmF5V2F0Y2hwb2ludDoKICAgICAgICAgcmVhZChXYXRj
aHBvaW50X2ZpcmUpOwpAQCAtMTY0LDEzICsxNjgsMjAgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBo
JiBncmFwaCwgTm9kZSogbm9kZQogICAgICAgICByZXR1cm47CiAKICAgICBjYXNlIENyZWF0ZUFj
dGl2YXRpb246Ci0gICAgY2FzZSBDcmVhdGVBcmd1bWVudHM6CiAgICAgICAgIHJlYWQoSGVhcE9i
amVjdENvdW50KTsKICAgICAgICAgd3JpdGUoSGVhcE9iamVjdENvdW50KTsKICAgICAgICAgd3Jp
dGUoU2lkZVN0YXRlKTsKICAgICAgICAgd3JpdGUoV2F0Y2hwb2ludF9maXJlKTsKICAgICAgICAg
cmV0dXJuOwogICAgICAgICAKKyAgICBjYXNlIENyZWF0ZUFyZ3VtZW50czoKKyAgICAgICAgcmVh
ZChWYXJpYWJsZXMpOworICAgICAgICByZWFkKEhlYXBPYmplY3RDb3VudCk7CisgICAgICAgIHdy
aXRlKEhlYXBPYmplY3RDb3VudCk7CisgICAgICAgIHdyaXRlKFNpZGVTdGF0ZSk7CisgICAgICAg
IHdyaXRlKFdhdGNocG9pbnRfZmlyZSk7CisgICAgICAgIHJldHVybjsKKwogICAgIGNhc2UgRnVu
Y3Rpb25SZWVudHJ5V2F0Y2hwb2ludDoKICAgICAgICAgcmVhZChXYXRjaHBvaW50X2ZpcmUpOwog
ICAgICAgICByZXR1cm47CkBAIC02MjksMTAgKzY0MCwxMiBAQCB2b2lkIGNsb2JiZXJpemUoR3Jh
cGgmIGdyYXBoLCBOb2RlKiBub2RlCiAgICAgICAgIH0KIAogICAgIGNhc2UgVGVhck9mZkFjdGl2
YXRpb246CisgICAgICAgIHJlYWQoVmFyaWFibGVzKTsKICAgICAgICAgd3JpdGUoSlNWYXJpYWJs
ZU9iamVjdF9yZWdpc3RlcnMpOwogICAgICAgICByZXR1cm47CiAgICAgICAgIAogICAgIGNhc2Ug
VGVhck9mZkFyZ3VtZW50czoKKyAgICAgICAgcmVhZChWYXJpYWJsZXMpOwogICAgICAgICB3cml0
ZShBcmd1bWVudHNfcmVnaXN0ZXJzKTsKICAgICAgICAgcmV0dXJuOwogICAgICAgICAKQEAgLTcx
NCw2ICs3MjcsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9yZXN1bHQ7CiB9OwogCitib29sIGFj
Y2Vzc2VzT3ZlcmxhcChHcmFwaCYsIE5vZGUqLCBBYnN0cmFjdEhlYXApOwogYm9vbCB3cml0ZXNP
dmVybGFwKEdyYXBoJiwgTm9kZSosIEFic3RyYWN0SGVhcCk7CiAKIH0gfSAvLyBuYW1lc3BhY2Ug
SlNDOjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3RyZW5ndGhSZWR1
Y3Rpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcAkocmV2aXNpb24gMTcwOTA3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTdHJlbmd0aFJlZHVjdGlvblBoYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjgsNiArMjgsOCBAQAogCiAjaWYgRU5BQkxFKERGR19KSVQpCiAKKyNpbmNsdWRl
ICJERkdBYnN0cmFjdEhlYXAuaCIKKyNpbmNsdWRlICJERkdDbG9iYmVyaXplLmgiCiAjaW5jbHVk
ZSAiREZHR3JhcGguaCIKICNpbmNsdWRlICJERkdJbnNlcnRpb25TZXQuaCIKICNpbmNsdWRlICJE
RkdQaGFzZS5oIgpAQCAtMjEzLDYgKzIxNSwzNCBAQCBwcml2YXRlOgogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIAorICAgICAgICBjYXNlIEZsdXNoOiB7CisgICAg
ICAgICAgICBBU1NFUlQobV9ncmFwaC5tX2Zvcm0gIT0gU1NBKTsKKyAgICAgICAgICAgIAorICAg
ICAgICAgICAgTm9kZSogc2V0TG9jYWwgPSBudWxscHRyOworICAgICAgICAgICAgVmlydHVhbFJl
Z2lzdGVyIGxvY2FsID0gbV9ub2RlLT5sb2NhbCgpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSBtX25vZGVJbmRleDsgaS0tOykgeworICAgICAgICAgICAgICAg
IE5vZGUqIG5vZGUgPSBtX2Jsb2NrLT5hdChpKTsKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+
b3AoKSA9PSBTZXRMb2NhbCAmJiBub2RlLT5sb2NhbCgpID09IGxvY2FsKSB7CisgICAgICAgICAg
ICAgICAgICAgIHNldExvY2FsID0gbm9kZTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlmIChhY2Nlc3Nlc092ZXJsYXAobV9n
cmFwaCwgbm9kZSwgQWJzdHJhY3RIZWFwKFZhcmlhYmxlcywgbG9jYWwpKSkKKyAgICAgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IGlmICghc2V0TG9jYWwpCisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIG1fbm9kZS0+Y29udmVydFRvUGhhbnRvbSgpOworICAgICAgICAgICAgTm9kZSog
ZGF0YU5vZGUgPSBzZXRMb2NhbC0+Y2hpbGQxKCkubm9kZSgpOworICAgICAgICAgICAgREZHX0FT
U0VSVChtX2dyYXBoLCBtX25vZGUsIGRhdGFOb2RlLT5oYXNSZXN1bHQoKSk7CisgICAgICAgICAg
ICBtX25vZGUtPmNoaWxkMSgpID0gZGF0YU5vZGUtPmRlZmF1bHRFZGdlKCk7CisgICAgICAgICAg
ICBtX2dyYXBoLmRldGhyZWFkKCk7CisgICAgICAgICAgICBtX2NoYW5nZWQgPSB0cnVlOworICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgICAgIAogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="259157"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>