<?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>149436</bug_id>
          
          <creation_ts>2015-09-21 17:52:49 -0700</creation_ts>
          <short_desc>Get rid of ENABLE(PARALLEL_GC)</short_desc>
          <delta_ts>2015-09-22 13:43:51 -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>Other</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>
          <dependson>149438</dependson>
          <blocked>149435</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>achristensen</cc>
    
    <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127862</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-21 17:52:49 -0700</bug_when>
    <thetext>We no longer really use platforms where CAS is unavailable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128068</commentid>
    <comment_count>1</comment_count>
      <attachid>261757</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 12:00:59 -0700</bug_when>
    <thetext>Created attachment 261757
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128070</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 12:03:21 -0700</bug_when>
    <thetext>The main side effect of this is that this enables parallel GC on Windows.  I don&apos;t see anything POSIX-specific in our parallel GC implementation, so I think that this is OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128071</commentid>
    <comment_count>3</comment_count>
      <attachid>261757</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-09-22 12:04:11 -0700</bug_when>
    <thetext>Comment on attachment 261757
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128077</commentid>
    <comment_count>4</comment_count>
      <attachid>261760</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 12:27:18 -0700</bug_when>
    <thetext>Created attachment 261760
patch for landing

Fixes Windows, hopefully.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128096</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-22 13:37:16 -0700</bug_when>
    <thetext>basic browsing on windows seems to work as well as it does without this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128097</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-22 13:43:51 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/190131</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261757</attachid>
            <date>2015-09-22 12:00:59 -0700</date>
            <delta_ts>2015-09-22 12:27:18 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15918</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkwMTIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDE1LTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiBFTkFCTEUoUEFSQUxMRUxfR0MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhbHdheXMgZW5hYmxlIHBhcmFsbGVsIEdDIGV2ZXJ5
d2hlcmUgYnV0IFdpbmRvd3MsIGFuZCBpdCBkb2Vzbid0IGxvb2sgbGlrZSBpdCB3YXMgZGlzYWJs
ZWQKKyAgICAgICAgdGhlcmUgZm9yIGFueSBnb29kIHJlYXNvbi4gU28sIGdldCByaWQgb2YgdGhl
IGZsYWcuCisKKyAgICAgICAgVGhlIG9ubHkgZWZmZWN0IG9mIHRoaXMgY2hhbmdlIGlzIHRoYXQg
cGFyYWxsZWwgR0Mgd2lsbCBub3cgYmUgZW5hYmxlZCBvbiBXaW5kb3dzLCBwcm92aWRlZAorICAg
ICAgICB0aGF0IHRoZSBDUFUgZGV0ZWN0aW9uIGZpbmRzIG1vcmUgdGhhbiBvbmUuCisKKyAgICAg
ICAgKiBoZWFwL0dDVGhyZWFkLmNwcDoKKyAgICAgICAgKEpTQzo6R0NUaHJlYWQ6OmdjVGhyZWFk
TWFpbik6CisgICAgICAgICogaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwOgorICAgICAgICAo
SlNDOjpHQ1RocmVhZFNoYXJlZERhdGE6OnJlc2V0Q2hpbGRyZW4pOgorICAgICAgICAoSlNDOjpH
Q1RocmVhZFNoYXJlZERhdGE6OmNoaWxkQnl0ZXNDb3BpZWQpOgorICAgICAgICAoSlNDOjpHQ1Ro
cmVhZFNoYXJlZERhdGE6OkdDVGhyZWFkU2hhcmVkRGF0YSk6CisgICAgICAgIChKU0M6OkdDVGhy
ZWFkU2hhcmVkRGF0YTo6fkdDVGhyZWFkU2hhcmVkRGF0YSk6CisgICAgICAgIChKU0M6OkdDVGhy
ZWFkU2hhcmVkRGF0YTo6cmVzZXQpOgorICAgICAgICAoSlNDOjpHQ1RocmVhZFNoYXJlZERhdGE6
OmRpZFN0YXJ0TWFya2luZyk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAgKEpT
Qzo6SGVhcDo6Y29udmVyZ2UpOgorICAgICAgICAoSlNDOjpIZWFwOjp2aXNpdFdlYWtIYW5kbGVz
KToKKyAgICAgICAgKEpTQzo6SGVhcDo6dXBkYXRlT2JqZWN0Q291bnRzKToKKyAgICAgICAgKEpT
Qzo6SGVhcDo6cmVzZXRWaXNpdG9ycyk6CisgICAgICAgICogaGVhcC9NYXJrZWRCbG9jay5oOgor
ICAgICAgICAqIGhlYXAvU2xvdFZpc2l0b3IuY3BwOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRv
cjo6ZGlkU3RhcnRNYXJraW5nKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnJlc2V0KToK
KyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OmRyYWluKToKKyAgICAgICAgKEpTQzo6U2xvdFZp
c2l0b3I6OmRyYWluRnJvbVNoYXJlZCk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjptZXJn
ZU9wYXF1ZVJvb3RzKToKKyAgICAgICAgKEpTQzo6SlNTdHJpbmc6OnRyeUhhc2hDb25zTG9jayk6
CisgICAgICAgIChKU0M6OkpTU3RyaW5nOjpyZWxlYXNlSGFzaENvbnNMb2NrKToKKyAgICAgICAg
KiBoZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6
YWRkT3BhcXVlUm9vdCk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1
ZVJvb3QpOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6Y29udGFpbnNPcGFxdWVSb290VHJp
U3RhdGUpOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6b3BhcXVlUm9vdENvdW50KToKKyAg
ICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6Om1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSk6Cisg
ICAgICAgICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Y29tcHV0ZU51bWJl
ck9mR0NNYXJrZXJzKToKKwogMjAxNS0wOS0yMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVl
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4OTYxNi4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDVGhyZWFkLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVhZC5jcHAJKHJldmlzaW9uIDE5
MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDVGhyZWFkLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODQsOSArODQsNyBAQCBHQ1BoYXNlIEdDVGhyZWFkOjp3YWl0Rm9yTmV4dFBo
YXNlKCkKIHZvaWQgR0NUaHJlYWQ6OmdjVGhyZWFkTWFpbigpCiB7CiAgICAgR0NQaGFzZSBjdXJy
ZW50UGhhc2U7Ci0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIFdURjo6cmVnaXN0ZXJHQ1Ro
cmVhZCgpOwotI2VuZGlmCiAgICAgLy8gV2FpdCBmb3IgdGhlIG1haW4gdGhyZWFkIHRvIGZpbmlz
aCBjcmVhdGluZyBhbmQgaW5pdGlhbGl6aW5nIHVzLiBUaGUgbWFpbiB0aHJlYWQgZ3JhYnMgdGhp
cyBsb2NrIGJlZm9yZSAKICAgICAvLyBjcmVhdGluZyB0aGlzIHRocmVhZC4gV2UgYXJlbid0IGd1
YXJhbnRlZWQgdG8gaGF2ZSBhIHZhbGlkIHRocmVhZElEIHVudGlsIHRoZSBtYWluIHRocmVhZCBy
ZWxlYXNlcyB0aGlzIGxvY2suCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvR0NUaHJlYWRTaGFyZWREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCShyZXZpc2lvbiAxOTAxMDMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNyw3ICszNyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxF
KFBBUkFMTEVMX0dDKQogdm9pZCBHQ1RocmVhZFNoYXJlZERhdGE6OnJlc2V0Q2hpbGRyZW4oKQog
ewogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9nY1RocmVhZHMuc2l6ZSgpOyArK2kpCkBA
IC02Nyw3ICs2Niw2IEBAIHNpemVfdCBHQ1RocmVhZFNoYXJlZERhdGE6OmNoaWxkQnl0ZXNDb3AK
ICAgICAgICAgcmVzdWx0ICs9IG1fZ2NUaHJlYWRzW2ldLT5zbG90VmlzaXRvcigpLT5ieXRlc0Nv
cGllZCgpOwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKIAogR0NUaHJlYWRTaGFyZWRE
YXRhOjpHQ1RocmVhZFNoYXJlZERhdGEoVk0qIHZtKQogICAgIDogbV92bSh2bSkKQEAgLTgxLDcg
Kzc5LDYgQEAgR0NUaHJlYWRTaGFyZWREYXRhOjpHQ1RocmVhZFNoYXJlZERhdGEoVgogICAgICwg
bV9nY1RocmVhZHNTaG91bGRXYWl0KGZhbHNlKQogICAgICwgbV9jdXJyZW50UGhhc2UoTm9QaGFz
ZSkKIHsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgLy8gR3JhYiB0aGUgbG9jayBzbyB0
aGUgbmV3IEdDIHRocmVhZHMgY2FuIGJlIHByb3Blcmx5IGluaXRpYWxpemVkIGJlZm9yZSB0aGV5
IHN0YXJ0IHJ1bm5pbmcuCiAgICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1fcGhhc2VN
dXRleCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IE9wdGlvbnM6Om51bWJlck9mR0NN
YXJrZXJzKCk7ICsraSkgewpAQCAtOTQsMTIgKzkxLDEwIEBAIEdDVGhyZWFkU2hhcmVkRGF0YTo6
R0NUaHJlYWRTaGFyZWREYXRhKFYKIAogICAgIC8vIFdhaXQgZm9yIGFsbCB0aGUgR0NUaHJlYWRz
IHRvIGdldCB0byB0aGUgcmlnaHQgcGxhY2UuCiAgICAgbV9hY3Rpdml0eUNvbmRpdGlvblZhcmlh
YmxlLndhaXQobG9jaywgW3RoaXNdIHsgcmV0dXJuICFtX251bWJlck9mQWN0aXZlR0NUaHJlYWRz
OyB9KTsKLSNlbmRpZgogfQogCiBHQ1RocmVhZFNoYXJlZERhdGE6On5HQ1RocmVhZFNoYXJlZERh
dGEoKQogewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykgICAgCiAgICAgLy8gRGVzdHJveSBvdXIg
bWFya2luZyB0aHJlYWRzLgogICAgIHsKICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IG1h
cmtpbmdMb2NrKG1fbWFya2luZ011dGV4KTsKQEAgLTExNCw3ICsxMDksNiBAQCBHQ1RocmVhZFNo
YXJlZERhdGE6On5HQ1RocmVhZFNoYXJlZERhdGEoCiAgICAgICAgIHdhaXRGb3JUaHJlYWRDb21w
bGV0aW9uKG1fZ2NUaHJlYWRzW2ldLT50aHJlYWRJRCgpKTsKICAgICAgICAgZGVsZXRlIG1fZ2NU
aHJlYWRzW2ldOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIEdDVGhyZWFkU2hhcmVkRGF0YTo6
cmVzZXQoKQpAQCAtMTUxLDEzICsxNDUsOCBAQCB2b2lkIEdDVGhyZWFkU2hhcmVkRGF0YTo6ZW5k
Q3VycmVudFBoYXNlCiAKIHZvaWQgR0NUaHJlYWRTaGFyZWREYXRhOjpkaWRTdGFydE1hcmtpbmco
KQogewotICAgIGlmIChtX3ZtLT5oZWFwLm9wZXJhdGlvbkluUHJvZ3Jlc3MoKSA9PSBGdWxsQ29s
bGVjdGlvbikgewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKKyAgICBpZiAobV92bS0+aGVhcC5v
cGVyYXRpb25JblByb2dyZXNzKCkgPT0gRnVsbENvbGxlY3Rpb24pCiAgICAgICAgIG1fb3BhcXVl
Um9vdHMuY2xlYXIoKTsKLSNlbHNlCi0gICAgICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1w
dHkoKSk7Ci0jZW5kaWYKLX0KICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX21hcmtp
bmdNdXRleCk7CiAgICAgbV9wYXJhbGxlbE1hcmtlcnNTaG91bGRFeGl0ID0gZmFsc2U7CiAgICAg
c3RhcnROZXh0UGhhc2UoTWFyayk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9H
Q1RocmVhZFNoYXJlZERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuaAkocmV2aXNpb24gMTkwMTAzKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvR0NUaHJlYWRTaGFyZWREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAg
LTY1LDEzICs2NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydENvcHlpbmcoKTsKICAg
ICB2b2lkIGRpZEZpbmlzaENvcHlpbmcoKTsKIAotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAg
ICB2b2lkIHJlc2V0Q2hpbGRyZW4oKTsKICAgICBzaXplX3QgY2hpbGRWaXNpdENvdW50KCk7CiAg
ICAgc2l6ZV90IGNoaWxkQnl0ZXNWaXNpdGVkKCk7CiAgICAgc2l6ZV90IGNoaWxkQnl0ZXNDb3Bp
ZWQoKTsKICAgICBzaXplX3QgY2hpbGREdXBTdHJpbmdzKCk7Ci0jZW5kaWYKICAgICAKIHByaXZh
dGU6CiAgICAgZnJpZW5kIGNsYXNzIEdDVGhyZWFkOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHJldmlzaW9uIDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjEsMTAgKzc2MSw4IEBAIHZvaWQgSGVh
cDo6dHJhY2VDb2RlQmxvY2tzQW5kSklUU3R1YlJvdXQKIAogdm9pZCBIZWFwOjpjb252ZXJnZSgp
CiB7Ci0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIEdDUEhBU0UoQ29udmVyZ2VuY2UpOwog
ICAgIG1fc2xvdFZpc2l0b3IuZHJhaW5Gcm9tU2hhcmVkKFNsb3RWaXNpdG9yOjpNYXN0ZXJEcmFp
bik7Ci0jZW5kaWYKIH0KIAogdm9pZCBIZWFwOjp2aXNpdFdlYWtIYW5kbGVzKEhlYXBSb290Vmlz
aXRvciYgdmlzaXRvcikKQEAgLTc4Myw5ICs3ODEsNyBAQCB2b2lkIEhlYXA6OnZpc2l0V2Vha0hh
bmRsZXMoSGVhcFJvb3RWaXNpCiAgICAgICAgIHsKICAgICAgICAgICAgIFBhcmFsbGVsTW9kZUVu
YWJsZXIgZW5hYmxlcihtX3Nsb3RWaXNpdG9yKTsKICAgICAgICAgICAgIG1fc2xvdFZpc2l0b3Iu
ZG9uYXRlQW5kRHJhaW4oKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgICAgICAgICBt
X3Nsb3RWaXNpdG9yLmRyYWluRnJvbVNoYXJlZChTbG90VmlzaXRvcjo6TWFzdGVyRHJhaW4pOwot
I2VuZGlmCiAgICAgICAgIH0KICAgICB9CiB9CkBAIC04MDcsOSArODAzLDcgQEAgdm9pZCBIZWFw
Ojp1cGRhdGVPYmplY3RDb3VudHMoZG91YmxlIGdjUwogCiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dD
KCkgPT0gR0NMb2dnaW5nOjpWZXJib3NlKSB7CiAgICAgICAgIHNpemVfdCB2aXNpdENvdW50ID0g
bV9zbG90VmlzaXRvci52aXNpdENvdW50KCk7Ci0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAg
ICAgICB2aXNpdENvdW50ICs9IG1fc2hhcmVkRGF0YS5jaGlsZFZpc2l0Q291bnQoKTsKLSNlbmRp
ZgogICAgICAgICBkYXRhTG9nRigiXG5OdW1iZXIgb2YgbGl2ZSBPYmplY3RzIGFmdGVyIEdDICVs
dSwgdG9vayAlLjZmIHNlY3NcbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KHZpc2l0Q291
bnQpLCBXVEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gZ2NTdGFydFRpbWUpOwog
ICAgIH0KICAgICAKQEAgLTgyNCwxOCArODE4LDE0IEBAIHZvaWQgSGVhcDo6dXBkYXRlT2JqZWN0
Q291bnRzKGRvdWJsZSBnY1MKICAgICAKICAgICBtX3RvdGFsQnl0ZXNWaXNpdGVkICs9IG1fc2xv
dFZpc2l0b3IuYnl0ZXNWaXNpdGVkKCk7CiAgICAgbV90b3RhbEJ5dGVzQ29waWVkICs9IG1fc2xv
dFZpc2l0b3IuYnl0ZXNDb3BpZWQoKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgbV90
b3RhbEJ5dGVzVmlzaXRlZCArPSBtX3NoYXJlZERhdGEuY2hpbGRCeXRlc1Zpc2l0ZWQoKTsKICAg
ICBtX3RvdGFsQnl0ZXNDb3BpZWQgKz0gbV9zaGFyZWREYXRhLmNoaWxkQnl0ZXNDb3BpZWQoKTsK
LSNlbmRpZgogfQogCiB2b2lkIEhlYXA6OnJlc2V0VmlzaXRvcnMoKQogewogICAgIG1fc2xvdFZp
c2l0b3IucmVzZXQoKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgbV9zaGFyZWREYXRh
LnJlc2V0Q2hpbGRyZW4oKTsKLSNlbmRpZgogICAgIG1fc2hhcmVkRGF0YS5yZXNldCgpOwogfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgJKHJldmlzaW9u
IDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgJKHdv
cmtpbmcgY29weSkKQEAgLTE5NSwxMSArMTk1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAg
ICAgc2l6ZV90IG1fYXRvbXNQZXJDZWxsOwogICAgICAgICBzaXplX3QgbV9lbmRBdG9tOyAvLyBU
aGlzIGlzIGEgZnV6enkgZW5kLiBBbHdheXMgdGVzdCBmb3IgPCBtX2VuZEF0b20uCi0jaWYgRU5B
QkxFKFBBUkFMTEVMX0dDKQogICAgICAgICBXVEY6OkJpdG1hcDxhdG9tc1BlckJsb2NrLCBXVEY6
OkJpdG1hcEF0b21pYywgdWludDhfdD4gbV9tYXJrczsKLSNlbHNlCi0gICAgICAgIFdURjo6Qml0
bWFwPGF0b21zUGVyQmxvY2ssIFdURjo6Qml0bWFwTm90QXRvbWljLCB1aW50OF90PiBtX21hcmtz
OwotI2VuZGlmCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkJpdG1hcDxhdG9tc1BlckJs
b2NrPj4gbV9uZXdseUFsbG9jYXRlZDsKIAogICAgICAgICBzaXplX3QgbV9jYXBhY2l0eTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAJKHJldmlzaW9u
IDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjQsMjAgKzY0LDEzIEBAIFNsb3RWaXNpdG9yOjp+U2xvdFZpc2l0
b3IoKQogCiB2b2lkIFNsb3RWaXNpdG9yOjpkaWRTdGFydE1hcmtpbmcoKQogewotICAgIGlmICho
ZWFwKCktPm9wZXJhdGlvbkluUHJvZ3Jlc3MoKSA9PSBGdWxsQ29sbGVjdGlvbikgewotI2lmIEVO
QUJMRShQQVJBTExFTF9HQykKKyAgICBpZiAoaGVhcCgpLT5vcGVyYXRpb25JblByb2dyZXNzKCkg
PT0gRnVsbENvbGxlY3Rpb24pCiAgICAgICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHko
KSk7IC8vIFNob3VsZCBoYXZlIG1lcmdlZCBieSBub3cuCi0jZWxzZQotICAgICAgICBtX29wYXF1
ZVJvb3RzLmNsZWFyKCk7Ci0jZW5kaWYKLSAgICB9CiAKICAgICBtX3NoYXJlZC5tX3Nob3VsZEhh
c2hDb25zID0gbV9zaGFyZWQubV92bS0+aGF2ZUVub3VnaE5ld1N0cmluZ3NUb0hhc2hDb25zKCk7
CiAgICAgbV9zaG91bGRIYXNoQ29ucyA9IG1fc2hhcmVkLm1fc2hvdWxkSGFzaENvbnM7Ci0jaWYg
RU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3NoYXJl
ZC5tX2djVGhyZWFkcy5zaXplKCk7ICsraSkKICAgICAgICAgbV9zaGFyZWQubV9nY1RocmVhZHNb
aV0tPnNsb3RWaXNpdG9yKCktPm1fc2hvdWxkSGFzaENvbnMgPSBtX3NoYXJlZC5tX3Nob3VsZEhh
c2hDb25zOwotI2VuZGlmCiB9CiAKIHZvaWQgU2xvdFZpc2l0b3I6OnJlc2V0KCkKQEAgLTE2Myw3
ICsxNTYsNiBAQCB2b2lkIFNsb3RWaXNpdG9yOjpkcmFpbigpCiAgICAgU3RhY2tTdGF0czo6cHJv
YmUoKTsKICAgICBBU1NFUlQobV9pc0luUGFyYWxsZWxNb2RlKTsKICAgIAotI2lmIEVOQUJMRShQ
QVJBTExFTF9HQykKICAgICBpZiAoT3B0aW9uczo6bnVtYmVyT2ZHQ01hcmtlcnMoKSA+IDEpIHsK
ICAgICAgICAgd2hpbGUgKCFtX3N0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgbV9zdGFj
ay5yZWZpbGwoKTsKQEAgLTE3NSw3ICsxNjcsNiBAQCB2b2lkIFNsb3RWaXNpdG9yOjpkcmFpbigp
CiAgICAgICAgIG1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSgpOwogICAgICAgICByZXR1cm47
CiAgICAgfQotI2VuZGlmCiAgICAgCiAgICAgd2hpbGUgKCFtX3N0YWNrLmlzRW1wdHkoKSkgewog
ICAgICAgICBtX3N0YWNrLnJlZmlsbCgpOwpAQCAtMTkzLDEyICsxODQsNyBAQCB2b2lkIFNsb3RW
aXNpdG9yOjpkcmFpbkZyb21TaGFyZWQoU2hhcmVkCiAgICAgCiAgICAgYm9vbCBzaG91bGRCZVBh
cmFsbGVsOwogCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIHNob3VsZEJlUGFyYWxsZWwg
PSBPcHRpb25zOjpudW1iZXJPZkdDTWFya2VycygpID4gMTsKLSNlbHNlCi0gICAgQVNTRVJUKE9w
dGlvbnM6Om51bWJlck9mR0NNYXJrZXJzKCkgPT0gMSk7Ci0gICAgc2hvdWxkQmVQYXJhbGxlbCA9
IGZhbHNlOwotI2VuZGlmCiAgICAgCiAgICAgaWYgKCFzaG91bGRCZVBhcmFsbGVsKSB7CiAgICAg
ICAgIC8vIFRoaXMgY2FsbCBzaG91bGQgYmUgYSBuby1vcC4KQEAgLTIwOCw3ICsxOTQsNiBAQCB2
b2lkIFNsb3RWaXNpdG9yOjpkcmFpbkZyb21TaGFyZWQoU2hhcmVkCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAgICAgCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIHsKICAgICAgICAgc3Rk
Ojpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9zaGFyZWQubV9tYXJraW5nTXV0ZXgpOwogICAgICAg
ICBtX3NoYXJlZC5tX251bWJlck9mQWN0aXZlUGFyYWxsZWxNYXJrZXJzKys7CkBAIC0yNTgsNyAr
MjQzLDYgQEAgdm9pZCBTbG90VmlzaXRvcjo6ZHJhaW5Gcm9tU2hhcmVkKFNoYXJlZAogICAgICAg
ICAKICAgICAgICAgZHJhaW4oKTsKICAgICB9Ci0jZW5kaWYKIH0KIAogdm9pZCBTbG90VmlzaXRv
cjo6bWVyZ2VPcGFxdWVSb290cygpCkBAIC0yNzUsNyArMjU5LDYgQEAgdm9pZCBTbG90VmlzaXRv
cjo6bWVyZ2VPcGFxdWVSb290cygpCiAKIEFMV0FZU19JTkxJTkUgYm9vbCBKU1N0cmluZzo6dHJ5
SGFzaENvbnNMb2NrKCkKIHsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgdW5zaWduZWQg
Y3VycmVudEZsYWdzID0gbV9mbGFnczsKIAogICAgIGlmIChjdXJyZW50RmxhZ3MgJiBIYXNoQ29u
c0xvY2spCkBAIC0yODgsMjEgKzI3MSwxMSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNTdHJpbmc6
OnRyeUhhc2hDb25zCiAKICAgICBXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2soKTsKICAgICBy
ZXR1cm4gdHJ1ZTsKLSNlbHNlCi0gICAgaWYgKGlzSGFzaENvbnNTaW5nbGV0b24oKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgbV9mbGFncyB8PSBIYXNoQ29uc0xvY2s7Ci0KLSAgICBy
ZXR1cm4gdHJ1ZTsKLSNlbmRpZgogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSlNTdHJpbmc6OnJl
bGVhc2VIYXNoQ29uc0xvY2soKQogewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAgICBXVEY6
Om1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKTsKLSNlbmRpZgogICAgIG1fZmxhZ3MgJj0gfkhh
c2hDb25zTG9jazsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZp
c2l0b3JJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
U2xvdFZpc2l0b3JJbmxpbmVzLmgJKHJldmlzaW9uIDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgs
NyArMTU4LDYgQEAgaW5saW5lIHZvaWQgU2xvdFZpc2l0b3I6OmFkZFVuY29uZGl0aW9uYQogCiBp
bmxpbmUgdm9pZCBTbG90VmlzaXRvcjo6YWRkT3BhcXVlUm9vdCh2b2lkKiByb290KQogewotI2lm
IEVOQUJMRShQQVJBTExFTF9HQykKICAgICBpZiAoT3B0aW9uczo6bnVtYmVyT2ZHQ01hcmtlcnMo
KSA9PSAxKSB7CiAgICAgICAgIC8vIFB1dCBkaXJlY3RseSBpbnRvIHRoZSBzaGFyZWQgSGFzaFNl
dC4KICAgICAgICAgbV9zaGFyZWQubV9vcGFxdWVSb290cy5hZGQocm9vdCk7CkBAIC0xNjgsMjAg
KzE2NywxMyBAQCBpbmxpbmUgdm9pZCBTbG90VmlzaXRvcjo6YWRkT3BhcXVlUm9vdCh2CiAgICAg
Ly8gYSB3aGlsZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbG9jYWwgc2V0cyBkb24ndCBncm93IHRv
byBsYXJnZS4KICAgICBtZXJnZU9wYXF1ZVJvb3RzSWZQcm9maXRhYmxlKCk7CiAgICAgbV9vcGFx
dWVSb290cy5hZGQocm9vdCk7Ci0jZWxzZQotICAgIG1fb3BhcXVlUm9vdHMuYWRkKHJvb3QpOwot
I2VuZGlmCiB9CiAKIGlubGluZSBib29sIFNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1ZVJvb3Qo
dm9pZCogcm9vdCkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1faXNJblBhcmFsbGVsTW9kZSk7Ci0j
aWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHko
KSk7CiAgICAgcmV0dXJuIG1fc2hhcmVkLm1fb3BhcXVlUm9vdHMuY29udGFpbnMocm9vdCk7Ci0j
ZWxzZQotICAgIHJldHVybiBtX29wYXF1ZVJvb3RzLmNvbnRhaW5zKHJvb3QpOwotI2VuZGlmCiB9
CiAKIGlubGluZSBUcmlTdGF0ZSBTbG90VmlzaXRvcjo6Y29udGFpbnNPcGFxdWVSb290VHJpU3Rh
dGUodm9pZCogcm9vdCkgY29uc3QKQEAgLTE5NywxMiArMTg5LDggQEAgaW5saW5lIFRyaVN0YXRl
IFNsb3RWaXNpdG9yOjpjb250YWluc09wYQogaW5saW5lIGludCBTbG90VmlzaXRvcjo6b3BhcXVl
Um9vdENvdW50KCkKIHsKICAgICBBU1NFUlQoIW1faXNJblBhcmFsbGVsTW9kZSk7Ci0jaWYgRU5B
QkxFKFBBUkFMTEVMX0dDKQogICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHkoKSk7CiAg
ICAgcmV0dXJuIG1fc2hhcmVkLm1fb3BhcXVlUm9vdHMuc2l6ZSgpOwotI2Vsc2UKLSAgICByZXR1
cm4gbV9vcGFxdWVSb290cy5zaXplKCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgU2xvdFZp
c2l0b3I6Om1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSgpCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAkocmV2aXNpb24gMTkwMTAzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQx
LDcgKzQxLDcgQEAKICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nQnVpbGRlci5oPgogCi0jaWYgT1MoREFSV0lOKSAmJiBFTkFCTEUoUEFSQUxM
RUxfR0MpCisjaWYgT1MoREFSV0lOKQogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KICNlbmRpZgog
CkBAIC0xNDgsMTIgKzE0OCw3IEBAIHN0YXRpYyBpbnQzMl90IGNvbXB1dGVQcmlvcml0eURlbHRh
T2ZXb3IKIAogc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVOdW1iZXJPZkdDTWFya2Vycyh1bnNpZ25l
ZCBtYXhOdW1iZXJPZkdDTWFya2VycykKIHsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAg
cmV0dXJuIGNvbXB1dGVOdW1iZXJPZldvcmtlclRocmVhZHMobWF4TnVtYmVyT2ZHQ01hcmtlcnMp
OwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0obWF4TnVtYmVyT2ZHQ01hcmtlcnMpOwotICAgIHJl
dHVybiAxOwotI2VuZGlmCiB9CiAKIGNvbnN0IGNoYXIqIGNvbnN0IE9wdGlvblJhbmdlOjpzX251
bGxSYW5nZVN0ciA9ICI8bnVsbD4iOwpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDEyMikKKysrIFNvdXJj
ZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTUtMDkt
MjIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9m
IEVOQUJMRShQQVJBTExFTF9HQykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0OTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlIGFsd2F5cyBlbmFibGUgcGFyYWxsZWwgR0MgZXZlcnl3aGVyZSBidXQg
V2luZG93cywgYW5kIGl0IGRvZXNuJ3QgbG9vayBsaWtlIGl0IHdhcyBkaXNhYmxlZAorICAgICAg
ICB0aGVyZSBmb3IgYW55IGdvb2QgcmVhc29uLiBTbywgZ2V0IHJpZCBvZiB0aGUgZmxhZy4KKwor
ICAgICAgICAqIHd0Zi9NYWluVGhyZWFkLmNwcDoKKyAgICAgICAgKFdURjo6Y2FuQWNjZXNzVGhy
ZWFkTG9jYWxEYXRhRm9yVGhyZWFkKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZUdDVGhyZWFk
cyk6CisgICAgICAgIChXVEY6OnJlZ2lzdGVyR0NUaHJlYWQpOgorICAgICAgICAoV1RGOjppc01h
aW5UaHJlYWRPckdDVGhyZWFkKToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxNS0w
OS0yMSAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2F5cyB1
c2UgdGhlIGNvbXBpbGVyJ3MgQ0FTIGltcGxlbWVudGF0aW9uIGFuZCBnZXQgcmlkIG9mIEVOQUJM
RShDT01QQVJFX0FORF9TV0FQKQpJbmRleDogU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAJKHJldmlzaW9uIDE5
MDEwMykKKysrIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xODcsMTggKzE4NywxMyBAQCBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVh
ZChUCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKIHN0YXRpYyBUaHJlYWRT
cGVjaWZpYzxib29sPiogaXNHQ1RocmVhZDsKLSNlbmRpZgogCiB2b2lkIGluaXRpYWxpemVHQ1Ro
cmVhZHMoKQogewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAgICBpc0dDVGhyZWFkID0gbmV3
IFRocmVhZFNwZWNpZmljPGJvb2w+KCk7Ci0jZW5kaWYKIH0KIAotI2lmIEVOQUJMRShQQVJBTExF
TF9HQykKIHZvaWQgcmVnaXN0ZXJHQ1RocmVhZCgpCiB7CiAgICAgaWYgKCFpc0dDVGhyZWFkKSB7
CkBAIC0yMTcsMTIgKzIxMiw1IEBAIGJvb2wgaXNNYWluVGhyZWFkT3JHQ1RocmVhZCgpCiAKICAg
ICByZXR1cm4gaXNNYWluVGhyZWFkKCk7CiB9Ci0jZWxpZiBPUyhEQVJXSU4pICYmICFQTEFURk9S
TShFRkwpICYmICFQTEFURk9STShHVEspCi0vLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIEph
dmFTY3JpcHRDb3JlLmV4cCBkb2Vzbid0IHN1cHBvcnQgcHJlcHJvY2Vzc29yIG1hY3Jvcy4KLWJv
b2wgaXNNYWluVGhyZWFkT3JHQ1RocmVhZCgpCi17Ci0gICAgcmV0dXJuIGlzTWFpblRocmVhZCgp
OwotfQotI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdURgpJbmRleDogU291cmNlL1dURi93dGYv
TWFpblRocmVhZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaAko
cmV2aXNpb24gMTkwMTAzKQorKysgU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oCSh3b3JraW5n
IGNvcHkpCkBAIC02NiwxNCArNjYsOCBAQCBpbmxpbmUgYm9vbCBpc1VJVGhyZWFkKCkgeyByZXR1
cm4gaXNNYWluCiAKIHZvaWQgaW5pdGlhbGl6ZUdDVGhyZWFkcygpOwogCi0jaWYgRU5BQkxFKFBB
UkFMTEVMX0dDKQogdm9pZCByZWdpc3RlckdDVGhyZWFkKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUg
Ym9vbCBpc01haW5UaHJlYWRPckdDVGhyZWFkKCk7Ci0jZWxpZiBPUyhEQVJXSU4pICYmICFQTEFU
Rk9STShFRkwpICYmICFQTEFURk9STShHVEspCi1XVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01h
aW5UaHJlYWRPckdDVGhyZWFkKCk7Ci0jZWxzZQotaW5saW5lIGJvb2wgaXNNYWluVGhyZWFkT3JH
Q1RocmVhZCgpIHsgcmV0dXJuIGlzTWFpblRocmVhZCgpOyB9Ci0jZW5kaWYKIAogLy8gTk9URTog
dGhlc2UgZnVuY3Rpb25zIGFyZSBpbnRlcm5hbCB0byB0aGUgY2FsbE9uTWFpblRocmVhZCBpbXBs
ZW1lbnRhdGlvbi4KIHZvaWQgaW5pdGlhbGl6ZU1haW5UaHJlYWRQbGF0Zm9ybSgpOwpJbmRleDog
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybS5oCShyZXZpc2lvbiAxOTAxMDMpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5o
CSh3b3JraW5nIGNvcHkpCkBAIC05NzIsMTAgKzk3Miw2IEBACiAjZGVmaW5lIFVTRV9JTUxBTkdf
Rk9OVF9MSU5LMiAxCiAjZW5kaWYKIAotI2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykg
JiYgKE9TKERBUldJTikgfHwgUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShHVEspKQotI2RlZmlu
ZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQotI2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfR0Nf
VkFMSURBVElPTikgJiYgIWRlZmluZWQoTkRFQlVHKQogI2RlZmluZSBFTkFCTEVfR0NfVkFMSURB
VElPTiAxCiAjZW5kaWYK
</data>
<flag name="review"
          id="286947"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261760</attachid>
            <date>2015-09-22 12:27:18 -0700</date>
            <delta_ts>2015-09-22 12:27:18 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>15951</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkwMTIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDE1LTA5LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R2V0IHJpZCBvZiBFTkFCTEUoUEFSQUxMRUxfR0MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDk0MzYKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJr
IExhbS4KKworICAgICAgICBXZSBhbHdheXMgZW5hYmxlIHBhcmFsbGVsIEdDIGV2ZXJ5d2hlcmUg
YnV0IFdpbmRvd3MsIGFuZCBpdCBkb2Vzbid0IGxvb2sgbGlrZSBpdCB3YXMgZGlzYWJsZWQKKyAg
ICAgICAgdGhlcmUgZm9yIGFueSBnb29kIHJlYXNvbi4gU28sIGdldCByaWQgb2YgdGhlIGZsYWcu
CisKKyAgICAgICAgVGhlIG9ubHkgZWZmZWN0IG9mIHRoaXMgY2hhbmdlIGlzIHRoYXQgcGFyYWxs
ZWwgR0Mgd2lsbCBub3cgYmUgZW5hYmxlZCBvbiBXaW5kb3dzLCBwcm92aWRlZAorICAgICAgICB0
aGF0IHRoZSBDUFUgZGV0ZWN0aW9uIGZpbmRzIG1vcmUgdGhhbiBvbmUuCisKKyAgICAgICAgKiBo
ZWFwL0dDVGhyZWFkLmNwcDoKKyAgICAgICAgKEpTQzo6R0NUaHJlYWQ6OmdjVGhyZWFkTWFpbik6
CisgICAgICAgICogaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwOgorICAgICAgICAoSlNDOjpH
Q1RocmVhZFNoYXJlZERhdGE6OnJlc2V0Q2hpbGRyZW4pOgorICAgICAgICAoSlNDOjpHQ1RocmVh
ZFNoYXJlZERhdGE6OmNoaWxkQnl0ZXNDb3BpZWQpOgorICAgICAgICAoSlNDOjpHQ1RocmVhZFNo
YXJlZERhdGE6OkdDVGhyZWFkU2hhcmVkRGF0YSk6CisgICAgICAgIChKU0M6OkdDVGhyZWFkU2hh
cmVkRGF0YTo6fkdDVGhyZWFkU2hhcmVkRGF0YSk6CisgICAgICAgIChKU0M6OkdDVGhyZWFkU2hh
cmVkRGF0YTo6cmVzZXQpOgorICAgICAgICAoSlNDOjpHQ1RocmVhZFNoYXJlZERhdGE6OmRpZFN0
YXJ0TWFya2luZyk6CisgICAgICAgICogaGVhcC9IZWFwLmNwcDoKKyAgICAgICAgKEpTQzo6SGVh
cDo6Y29udmVyZ2UpOgorICAgICAgICAoSlNDOjpIZWFwOjp2aXNpdFdlYWtIYW5kbGVzKToKKyAg
ICAgICAgKEpTQzo6SGVhcDo6dXBkYXRlT2JqZWN0Q291bnRzKToKKyAgICAgICAgKEpTQzo6SGVh
cDo6cmVzZXRWaXNpdG9ycyk6CisgICAgICAgICogaGVhcC9NYXJrZWRCbG9jay5oOgorICAgICAg
ICAqIGhlYXAvU2xvdFZpc2l0b3IuY3BwOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6ZGlk
U3RhcnRNYXJraW5nKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6OnJlc2V0KToKKyAgICAg
ICAgKEpTQzo6U2xvdFZpc2l0b3I6OmRyYWluKToKKyAgICAgICAgKEpTQzo6U2xvdFZpc2l0b3I6
OmRyYWluRnJvbVNoYXJlZCk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjptZXJnZU9wYXF1
ZVJvb3RzKToKKyAgICAgICAgKEpTQzo6SlNTdHJpbmc6OnRyeUhhc2hDb25zTG9jayk6CisgICAg
ICAgIChKU0M6OkpTU3RyaW5nOjpyZWxlYXNlSGFzaENvbnNMb2NrKToKKyAgICAgICAgKiBoZWFw
L1Nsb3RWaXNpdG9ySW5saW5lcy5oOgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6YWRkT3Bh
cXVlUm9vdCk6CisgICAgICAgIChKU0M6OlNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1ZVJvb3Qp
OgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6Y29udGFpbnNPcGFxdWVSb290VHJpU3RhdGUp
OgorICAgICAgICAoSlNDOjpTbG90VmlzaXRvcjo6b3BhcXVlUm9vdENvdW50KToKKyAgICAgICAg
KEpTQzo6U2xvdFZpc2l0b3I6Om1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSk6CisgICAgICAg
ICogcnVudGltZS9PcHRpb25zLmNwcDoKKyAgICAgICAgKEpTQzo6Y29tcHV0ZU51bWJlck9mR0NN
YXJrZXJzKToKKwogMjAxNS0wOS0yMiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE4OTYxNi4KSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDVGhyZWFkLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVhZC5jcHAJKHJldmlzaW9uIDE5MDEwMykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0dDVGhyZWFkLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtODQsOSArODQsNyBAQCBHQ1BoYXNlIEdDVGhyZWFkOjp3YWl0Rm9yTmV4dFBoYXNlKCkK
IHZvaWQgR0NUaHJlYWQ6OmdjVGhyZWFkTWFpbigpCiB7CiAgICAgR0NQaGFzZSBjdXJyZW50UGhh
c2U7Ci0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIFdURjo6cmVnaXN0ZXJHQ1RocmVhZCgp
OwotI2VuZGlmCiAgICAgLy8gV2FpdCBmb3IgdGhlIG1haW4gdGhyZWFkIHRvIGZpbmlzaCBjcmVh
dGluZyBhbmQgaW5pdGlhbGl6aW5nIHVzLiBUaGUgbWFpbiB0aHJlYWQgZ3JhYnMgdGhpcyBsb2Nr
IGJlZm9yZSAKICAgICAvLyBjcmVhdGluZyB0aGlzIHRocmVhZC4gV2UgYXJlbid0IGd1YXJhbnRl
ZWQgdG8gaGF2ZSBhIHZhbGlkIHRocmVhZElEIHVudGlsIHRoZSBtYWluIHRocmVhZCByZWxlYXNl
cyB0aGlzIGxvY2suCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvR0NU
aHJlYWRTaGFyZWREYXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCShyZXZpc2lvbiAxOTAxMDMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVhZFNoYXJlZERhdGEuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zNyw3ICszNyw2IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi0jaWYgRU5BQkxFKFBBUkFM
TEVMX0dDKQogdm9pZCBHQ1RocmVhZFNoYXJlZERhdGE6OnJlc2V0Q2hpbGRyZW4oKQogewogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9nY1RocmVhZHMuc2l6ZSgpOyArK2kpCkBAIC02Nyw3
ICs2Niw2IEBAIHNpemVfdCBHQ1RocmVhZFNoYXJlZERhdGE6OmNoaWxkQnl0ZXNDb3AKICAgICAg
ICAgcmVzdWx0ICs9IG1fZ2NUaHJlYWRzW2ldLT5zbG90VmlzaXRvcigpLT5ieXRlc0NvcGllZCgp
OwogICAgIHJldHVybiByZXN1bHQ7CiB9Ci0jZW5kaWYKIAogR0NUaHJlYWRTaGFyZWREYXRhOjpH
Q1RocmVhZFNoYXJlZERhdGEoVk0qIHZtKQogICAgIDogbV92bSh2bSkKQEAgLTgxLDcgKzc5LDYg
QEAgR0NUaHJlYWRTaGFyZWREYXRhOjpHQ1RocmVhZFNoYXJlZERhdGEoVgogICAgICwgbV9nY1Ro
cmVhZHNTaG91bGRXYWl0KGZhbHNlKQogICAgICwgbV9jdXJyZW50UGhhc2UoTm9QaGFzZSkKIHsK
LSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgLy8gR3JhYiB0aGUgbG9jayBzbyB0aGUgbmV3
IEdDIHRocmVhZHMgY2FuIGJlIHByb3Blcmx5IGluaXRpYWxpemVkIGJlZm9yZSB0aGV5IHN0YXJ0
IHJ1bm5pbmcuCiAgICAgc3RkOjp1bmlxdWVfbG9jazxMb2NrPiBsb2NrKG1fcGhhc2VNdXRleCk7
CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IE9wdGlvbnM6Om51bWJlck9mR0NNYXJrZXJz
KCk7ICsraSkgewpAQCAtOTQsMTIgKzkxLDEwIEBAIEdDVGhyZWFkU2hhcmVkRGF0YTo6R0NUaHJl
YWRTaGFyZWREYXRhKFYKIAogICAgIC8vIFdhaXQgZm9yIGFsbCB0aGUgR0NUaHJlYWRzIHRvIGdl
dCB0byB0aGUgcmlnaHQgcGxhY2UuCiAgICAgbV9hY3Rpdml0eUNvbmRpdGlvblZhcmlhYmxlLndh
aXQobG9jaywgW3RoaXNdIHsgcmV0dXJuICFtX251bWJlck9mQWN0aXZlR0NUaHJlYWRzOyB9KTsK
LSNlbmRpZgogfQogCiBHQ1RocmVhZFNoYXJlZERhdGE6On5HQ1RocmVhZFNoYXJlZERhdGEoKQog
ewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykgICAgCiAgICAgLy8gRGVzdHJveSBvdXIgbWFya2lu
ZyB0aHJlYWRzLgogICAgIHsKICAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IG1hcmtpbmdM
b2NrKG1fbWFya2luZ011dGV4KTsKQEAgLTExNCw3ICsxMDksNiBAQCBHQ1RocmVhZFNoYXJlZERh
dGE6On5HQ1RocmVhZFNoYXJlZERhdGEoCiAgICAgICAgIHdhaXRGb3JUaHJlYWRDb21wbGV0aW9u
KG1fZ2NUaHJlYWRzW2ldLT50aHJlYWRJRCgpKTsKICAgICAgICAgZGVsZXRlIG1fZ2NUaHJlYWRz
W2ldOwogICAgIH0KLSNlbmRpZgogfQogCiB2b2lkIEdDVGhyZWFkU2hhcmVkRGF0YTo6cmVzZXQo
KQpAQCAtMTUxLDEzICsxNDUsOCBAQCB2b2lkIEdDVGhyZWFkU2hhcmVkRGF0YTo6ZW5kQ3VycmVu
dFBoYXNlCiAKIHZvaWQgR0NUaHJlYWRTaGFyZWREYXRhOjpkaWRTdGFydE1hcmtpbmcoKQogewot
ICAgIGlmIChtX3ZtLT5oZWFwLm9wZXJhdGlvbkluUHJvZ3Jlc3MoKSA9PSBGdWxsQ29sbGVjdGlv
bikgewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKKyAgICBpZiAobV92bS0+aGVhcC5vcGVyYXRp
b25JblByb2dyZXNzKCkgPT0gRnVsbENvbGxlY3Rpb24pCiAgICAgICAgIG1fb3BhcXVlUm9vdHMu
Y2xlYXIoKTsKLSNlbHNlCi0gICAgICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHkoKSk7
Ci0jZW5kaWYKLX0KICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX21hcmtpbmdNdXRl
eCk7CiAgICAgbV9wYXJhbGxlbE1hcmtlcnNTaG91bGRFeGl0ID0gZmFsc2U7CiAgICAgc3RhcnRO
ZXh0UGhhc2UoTWFyayk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9HQ1RocmVh
ZFNoYXJlZERhdGEuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9H
Q1RocmVhZFNoYXJlZERhdGEuaAkocmV2aXNpb24gMTkwMTAzKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvR0NUaHJlYWRTaGFyZWREYXRhLmgJKHdvcmtpbmcgY29weSkKQEAgLTY1LDEz
ICs2NSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaWRTdGFydENvcHlpbmcoKTsKICAgICB2b2lk
IGRpZEZpbmlzaENvcHlpbmcoKTsKIAotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAgICB2b2lk
IHJlc2V0Q2hpbGRyZW4oKTsKICAgICBzaXplX3QgY2hpbGRWaXNpdENvdW50KCk7CiAgICAgc2l6
ZV90IGNoaWxkQnl0ZXNWaXNpdGVkKCk7CiAgICAgc2l6ZV90IGNoaWxkQnl0ZXNDb3BpZWQoKTsK
ICAgICBzaXplX3QgY2hpbGREdXBTdHJpbmdzKCk7Ci0jZW5kaWYKICAgICAKIHByaXZhdGU6CiAg
ICAgZnJpZW5kIGNsYXNzIEdDVGhyZWFkOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVh
cC5jcHAJKHJldmlzaW9uIDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hl
YXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NjEsMTAgKzc2MSw4IEBAIHZvaWQgSGVhcDo6dHJh
Y2VDb2RlQmxvY2tzQW5kSklUU3R1YlJvdXQKIAogdm9pZCBIZWFwOjpjb252ZXJnZSgpCiB7Ci0j
aWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIEdDUEhBU0UoQ29udmVyZ2VuY2UpOwogICAgIG1f
c2xvdFZpc2l0b3IuZHJhaW5Gcm9tU2hhcmVkKFNsb3RWaXNpdG9yOjpNYXN0ZXJEcmFpbik7Ci0j
ZW5kaWYKIH0KIAogdm9pZCBIZWFwOjp2aXNpdFdlYWtIYW5kbGVzKEhlYXBSb290VmlzaXRvciYg
dmlzaXRvcikKQEAgLTc4Myw5ICs3ODEsNyBAQCB2b2lkIEhlYXA6OnZpc2l0V2Vha0hhbmRsZXMo
SGVhcFJvb3RWaXNpCiAgICAgICAgIHsKICAgICAgICAgICAgIFBhcmFsbGVsTW9kZUVuYWJsZXIg
ZW5hYmxlcihtX3Nsb3RWaXNpdG9yKTsKICAgICAgICAgICAgIG1fc2xvdFZpc2l0b3IuZG9uYXRl
QW5kRHJhaW4oKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgICAgICAgICBtX3Nsb3RW
aXNpdG9yLmRyYWluRnJvbVNoYXJlZChTbG90VmlzaXRvcjo6TWFzdGVyRHJhaW4pOwotI2VuZGlm
CiAgICAgICAgIH0KICAgICB9CiB9CkBAIC04MDcsOSArODAzLDcgQEAgdm9pZCBIZWFwOjp1cGRh
dGVPYmplY3RDb3VudHMoZG91YmxlIGdjUwogCiAgICAgaWYgKE9wdGlvbnM6OmxvZ0dDKCkgPT0g
R0NMb2dnaW5nOjpWZXJib3NlKSB7CiAgICAgICAgIHNpemVfdCB2aXNpdENvdW50ID0gbV9zbG90
VmlzaXRvci52aXNpdENvdW50KCk7Ci0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgICAgICB2
aXNpdENvdW50ICs9IG1fc2hhcmVkRGF0YS5jaGlsZFZpc2l0Q291bnQoKTsKLSNlbmRpZgogICAg
ICAgICBkYXRhTG9nRigiXG5OdW1iZXIgb2YgbGl2ZSBPYmplY3RzIGFmdGVyIEdDICVsdSwgdG9v
ayAlLjZmIHNlY3NcbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGxvbmc+KHZpc2l0Q291bnQpLCBX
VEY6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpIC0gZ2NTdGFydFRpbWUpOwogICAgIH0K
ICAgICAKQEAgLTgyNCwxOCArODE4LDE0IEBAIHZvaWQgSGVhcDo6dXBkYXRlT2JqZWN0Q291bnRz
KGRvdWJsZSBnY1MKICAgICAKICAgICBtX3RvdGFsQnl0ZXNWaXNpdGVkICs9IG1fc2xvdFZpc2l0
b3IuYnl0ZXNWaXNpdGVkKCk7CiAgICAgbV90b3RhbEJ5dGVzQ29waWVkICs9IG1fc2xvdFZpc2l0
b3IuYnl0ZXNDb3BpZWQoKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgbV90b3RhbEJ5
dGVzVmlzaXRlZCArPSBtX3NoYXJlZERhdGEuY2hpbGRCeXRlc1Zpc2l0ZWQoKTsKICAgICBtX3Rv
dGFsQnl0ZXNDb3BpZWQgKz0gbV9zaGFyZWREYXRhLmNoaWxkQnl0ZXNDb3BpZWQoKTsKLSNlbmRp
ZgogfQogCiB2b2lkIEhlYXA6OnJlc2V0VmlzaXRvcnMoKQogewogICAgIG1fc2xvdFZpc2l0b3Iu
cmVzZXQoKTsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgbV9zaGFyZWREYXRhLnJlc2V0
Q2hpbGRyZW4oKTsKLSNlbmRpZgogICAgIG1fc2hhcmVkRGF0YS5yZXNldCgpOwogfQogCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9NYXJrZWRCbG9jay5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgJKHJldmlzaW9uIDE5MDEw
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL01hcmtlZEJsb2NrLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE5NSwxMSArMTk1LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAgc2l6
ZV90IG1fYXRvbXNQZXJDZWxsOwogICAgICAgICBzaXplX3QgbV9lbmRBdG9tOyAvLyBUaGlzIGlz
IGEgZnV6enkgZW5kLiBBbHdheXMgdGVzdCBmb3IgPCBtX2VuZEF0b20uCi0jaWYgRU5BQkxFKFBB
UkFMTEVMX0dDKQogICAgICAgICBXVEY6OkJpdG1hcDxhdG9tc1BlckJsb2NrLCBXVEY6OkJpdG1h
cEF0b21pYywgdWludDhfdD4gbV9tYXJrczsKLSNlbHNlCi0gICAgICAgIFdURjo6Qml0bWFwPGF0
b21zUGVyQmxvY2ssIFdURjo6Qml0bWFwTm90QXRvbWljLCB1aW50OF90PiBtX21hcmtzOwotI2Vu
ZGlmCiAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxXVEY6OkJpdG1hcDxhdG9tc1BlckJsb2NrPj4g
bV9uZXdseUFsbG9jYXRlZDsKIAogICAgICAgICBzaXplX3QgbV9jYXBhY2l0eTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9TbG90VmlzaXRvci5jcHAJKHJldmlzaW9uIDE5MDEw
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL1Nsb3RWaXNpdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNjQsMjAgKzY0LDEzIEBAIFNsb3RWaXNpdG9yOjp+U2xvdFZpc2l0b3IoKQog
CiB2b2lkIFNsb3RWaXNpdG9yOjpkaWRTdGFydE1hcmtpbmcoKQogewotICAgIGlmIChoZWFwKCkt
Pm9wZXJhdGlvbkluUHJvZ3Jlc3MoKSA9PSBGdWxsQ29sbGVjdGlvbikgewotI2lmIEVOQUJMRShQ
QVJBTExFTF9HQykKKyAgICBpZiAoaGVhcCgpLT5vcGVyYXRpb25JblByb2dyZXNzKCkgPT0gRnVs
bENvbGxlY3Rpb24pCiAgICAgICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHkoKSk7IC8v
IFNob3VsZCBoYXZlIG1lcmdlZCBieSBub3cuCi0jZWxzZQotICAgICAgICBtX29wYXF1ZVJvb3Rz
LmNsZWFyKCk7Ci0jZW5kaWYKLSAgICB9CiAKICAgICBtX3NoYXJlZC5tX3Nob3VsZEhhc2hDb25z
ID0gbV9zaGFyZWQubV92bS0+aGF2ZUVub3VnaE5ld1N0cmluZ3NUb0hhc2hDb25zKCk7CiAgICAg
bV9zaG91bGRIYXNoQ29ucyA9IG1fc2hhcmVkLm1fc2hvdWxkSGFzaENvbnM7Ci0jaWYgRU5BQkxF
KFBBUkFMTEVMX0dDKQogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3NoYXJlZC5tX2dj
VGhyZWFkcy5zaXplKCk7ICsraSkKICAgICAgICAgbV9zaGFyZWQubV9nY1RocmVhZHNbaV0tPnNs
b3RWaXNpdG9yKCktPm1fc2hvdWxkSGFzaENvbnMgPSBtX3NoYXJlZC5tX3Nob3VsZEhhc2hDb25z
OwotI2VuZGlmCiB9CiAKIHZvaWQgU2xvdFZpc2l0b3I6OnJlc2V0KCkKQEAgLTE2Myw3ICsxNTYs
NiBAQCB2b2lkIFNsb3RWaXNpdG9yOjpkcmFpbigpCiAgICAgU3RhY2tTdGF0czo6cHJvYmUoKTsK
ICAgICBBU1NFUlQobV9pc0luUGFyYWxsZWxNb2RlKTsKICAgIAotI2lmIEVOQUJMRShQQVJBTExF
TF9HQykKICAgICBpZiAoT3B0aW9uczo6bnVtYmVyT2ZHQ01hcmtlcnMoKSA+IDEpIHsKICAgICAg
ICAgd2hpbGUgKCFtX3N0YWNrLmlzRW1wdHkoKSkgewogICAgICAgICAgICAgbV9zdGFjay5yZWZp
bGwoKTsKQEAgLTE3NSw3ICsxNjcsNiBAQCB2b2lkIFNsb3RWaXNpdG9yOjpkcmFpbigpCiAgICAg
ICAgIG1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSgpOwogICAgICAgICByZXR1cm47CiAgICAg
fQotI2VuZGlmCiAgICAgCiAgICAgd2hpbGUgKCFtX3N0YWNrLmlzRW1wdHkoKSkgewogICAgICAg
ICBtX3N0YWNrLnJlZmlsbCgpOwpAQCAtMTkzLDEyICsxODQsNyBAQCB2b2lkIFNsb3RWaXNpdG9y
OjpkcmFpbkZyb21TaGFyZWQoU2hhcmVkCiAgICAgCiAgICAgYm9vbCBzaG91bGRCZVBhcmFsbGVs
OwogCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIHNob3VsZEJlUGFyYWxsZWwgPSBPcHRp
b25zOjpudW1iZXJPZkdDTWFya2VycygpID4gMTsKLSNlbHNlCi0gICAgQVNTRVJUKE9wdGlvbnM6
Om51bWJlck9mR0NNYXJrZXJzKCkgPT0gMSk7Ci0gICAgc2hvdWxkQmVQYXJhbGxlbCA9IGZhbHNl
OwotI2VuZGlmCiAgICAgCiAgICAgaWYgKCFzaG91bGRCZVBhcmFsbGVsKSB7CiAgICAgICAgIC8v
IFRoaXMgY2FsbCBzaG91bGQgYmUgYSBuby1vcC4KQEAgLTIwOCw3ICsxOTQsNiBAQCB2b2lkIFNs
b3RWaXNpdG9yOjpkcmFpbkZyb21TaGFyZWQoU2hhcmVkCiAgICAgICAgIHJldHVybjsKICAgICB9
CiAgICAgCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQogICAgIHsKICAgICAgICAgc3RkOjpsb2Nr
X2d1YXJkPExvY2s+IGxvY2sobV9zaGFyZWQubV9tYXJraW5nTXV0ZXgpOwogICAgICAgICBtX3No
YXJlZC5tX251bWJlck9mQWN0aXZlUGFyYWxsZWxNYXJrZXJzKys7CkBAIC0yNTgsNyArMjQzLDYg
QEAgdm9pZCBTbG90VmlzaXRvcjo6ZHJhaW5Gcm9tU2hhcmVkKFNoYXJlZAogICAgICAgICAKICAg
ICAgICAgZHJhaW4oKTsKICAgICB9Ci0jZW5kaWYKIH0KIAogdm9pZCBTbG90VmlzaXRvcjo6bWVy
Z2VPcGFxdWVSb290cygpCkBAIC0yNzUsNyArMjU5LDYgQEAgdm9pZCBTbG90VmlzaXRvcjo6bWVy
Z2VPcGFxdWVSb290cygpCiAKIEFMV0FZU19JTkxJTkUgYm9vbCBKU1N0cmluZzo6dHJ5SGFzaENv
bnNMb2NrKCkKIHsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgdW5zaWduZWQgY3VycmVu
dEZsYWdzID0gbV9mbGFnczsKIAogICAgIGlmIChjdXJyZW50RmxhZ3MgJiBIYXNoQ29uc0xvY2sp
CkBAIC0yODgsMjEgKzI3MSwxMSBAQCBBTFdBWVNfSU5MSU5FIGJvb2wgSlNTdHJpbmc6OnRyeUhh
c2hDb25zCiAKICAgICBXVEY6Om1lbW9yeUJhcnJpZXJBZnRlckxvY2soKTsKICAgICByZXR1cm4g
dHJ1ZTsKLSNlbHNlCi0gICAgaWYgKGlzSGFzaENvbnNTaW5nbGV0b24oKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgbV9mbGFncyB8PSBIYXNoQ29uc0xvY2s7Ci0KLSAgICByZXR1cm4g
dHJ1ZTsKLSNlbmRpZgogfQogCiBBTFdBWVNfSU5MSU5FIHZvaWQgSlNTdHJpbmc6OnJlbGVhc2VI
YXNoQ29uc0xvY2soKQogewotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAgICBXVEY6Om1lbW9y
eUJhcnJpZXJCZWZvcmVVbmxvY2soKTsKLSNlbmRpZgogICAgIG1fZmxhZ3MgJj0gfkhhc2hDb25z
TG9jazsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3JJ
bmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZp
c2l0b3JJbmxpbmVzLmgJKHJldmlzaW9uIDE5MDEwMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9oZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTgsNyArMTU4
LDYgQEAgaW5saW5lIHZvaWQgU2xvdFZpc2l0b3I6OmFkZFVuY29uZGl0aW9uYQogCiBpbmxpbmUg
dm9pZCBTbG90VmlzaXRvcjo6YWRkT3BhcXVlUm9vdCh2b2lkKiByb290KQogewotI2lmIEVOQUJM
RShQQVJBTExFTF9HQykKICAgICBpZiAoT3B0aW9uczo6bnVtYmVyT2ZHQ01hcmtlcnMoKSA9PSAx
KSB7CiAgICAgICAgIC8vIFB1dCBkaXJlY3RseSBpbnRvIHRoZSBzaGFyZWQgSGFzaFNldC4KICAg
ICAgICAgbV9zaGFyZWQubV9vcGFxdWVSb290cy5hZGQocm9vdCk7CkBAIC0xNjgsMjAgKzE2Nywx
MyBAQCBpbmxpbmUgdm9pZCBTbG90VmlzaXRvcjo6YWRkT3BhcXVlUm9vdCh2CiAgICAgLy8gYSB3
aGlsZSB0byBtYWtlIHN1cmUgdGhhdCB0aGUgbG9jYWwgc2V0cyBkb24ndCBncm93IHRvbyBsYXJn
ZS4KICAgICBtZXJnZU9wYXF1ZVJvb3RzSWZQcm9maXRhYmxlKCk7CiAgICAgbV9vcGFxdWVSb290
cy5hZGQocm9vdCk7Ci0jZWxzZQotICAgIG1fb3BhcXVlUm9vdHMuYWRkKHJvb3QpOwotI2VuZGlm
CiB9CiAKIGlubGluZSBib29sIFNsb3RWaXNpdG9yOjpjb250YWluc09wYXF1ZVJvb3Qodm9pZCog
cm9vdCkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1faXNJblBhcmFsbGVsTW9kZSk7Ci0jaWYgRU5B
QkxFKFBBUkFMTEVMX0dDKQogICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHkoKSk7CiAg
ICAgcmV0dXJuIG1fc2hhcmVkLm1fb3BhcXVlUm9vdHMuY29udGFpbnMocm9vdCk7Ci0jZWxzZQot
ICAgIHJldHVybiBtX29wYXF1ZVJvb3RzLmNvbnRhaW5zKHJvb3QpOwotI2VuZGlmCiB9CiAKIGlu
bGluZSBUcmlTdGF0ZSBTbG90VmlzaXRvcjo6Y29udGFpbnNPcGFxdWVSb290VHJpU3RhdGUodm9p
ZCogcm9vdCkgY29uc3QKQEAgLTE5NywxMiArMTg5LDggQEAgaW5saW5lIFRyaVN0YXRlIFNsb3RW
aXNpdG9yOjpjb250YWluc09wYQogaW5saW5lIGludCBTbG90VmlzaXRvcjo6b3BhcXVlUm9vdENv
dW50KCkKIHsKICAgICBBU1NFUlQoIW1faXNJblBhcmFsbGVsTW9kZSk7Ci0jaWYgRU5BQkxFKFBB
UkFMTEVMX0dDKQogICAgIEFTU0VSVChtX29wYXF1ZVJvb3RzLmlzRW1wdHkoKSk7CiAgICAgcmV0
dXJuIG1fc2hhcmVkLm1fb3BhcXVlUm9vdHMuc2l6ZSgpOwotI2Vsc2UKLSAgICByZXR1cm4gbV9v
cGFxdWVSb290cy5zaXplKCk7Ci0jZW5kaWYKIH0KIAogaW5saW5lIHZvaWQgU2xvdFZpc2l0b3I6
Om1lcmdlT3BhcXVlUm9vdHNJZk5lY2Vzc2FyeSgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcnVudGltZS9PcHRpb25zLmNwcAkocmV2aXNpb24gMTkwMTAzKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQxLDcgKzQx
LDcgQEAKICNpbmNsdWRlIDx3dGYvU3RyaW5nRXh0cmFzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
U3RyaW5nQnVpbGRlci5oPgogCi0jaWYgT1MoREFSV0lOKSAmJiBFTkFCTEUoUEFSQUxMRUxfR0Mp
CisjaWYgT1MoREFSV0lOKQogI2luY2x1ZGUgPHN5cy9zeXNjdGwuaD4KICNlbmRpZgogCkBAIC0x
NDgsMTIgKzE0OCw3IEBAIHN0YXRpYyBpbnQzMl90IGNvbXB1dGVQcmlvcml0eURlbHRhT2ZXb3IK
IAogc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVOdW1iZXJPZkdDTWFya2Vycyh1bnNpZ25lZCBtYXhO
dW1iZXJPZkdDTWFya2VycykKIHsKLSNpZiBFTkFCTEUoUEFSQUxMRUxfR0MpCiAgICAgcmV0dXJu
IGNvbXB1dGVOdW1iZXJPZldvcmtlclRocmVhZHMobWF4TnVtYmVyT2ZHQ01hcmtlcnMpOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0obWF4TnVtYmVyT2ZHQ01hcmtlcnMpOwotICAgIHJldHVybiAx
OwotI2VuZGlmCiB9CiAKIGNvbnN0IGNoYXIqIGNvbnN0IE9wdGlvblJhbmdlOjpzX251bGxSYW5n
ZVN0ciA9ICI8bnVsbD4iOwpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5MDEyMikKKysrIFNvdXJjZS9XVEYv
Q2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTUtMDktMjIgIEZp
bGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBHZXQgcmlkIG9mIEVOQUJM
RShQQVJBTExFTF9HQykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0OTQzNgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
IFdlIGFsd2F5cyBlbmFibGUgcGFyYWxsZWwgR0MgZXZlcnl3aGVyZSBidXQgV2luZG93cywgYW5k
IGl0IGRvZXNuJ3QgbG9vayBsaWtlIGl0IHdhcyBkaXNhYmxlZAorICAgICAgICB0aGVyZSBmb3Ig
YW55IGdvb2QgcmVhc29uLiBTbywgZ2V0IHJpZCBvZiB0aGUgZmxhZy4KKworICAgICAgICAqIHd0
Zi9NYWluVGhyZWFkLmNwcDoKKyAgICAgICAgKFdURjo6Y2FuQWNjZXNzVGhyZWFkTG9jYWxEYXRh
Rm9yVGhyZWFkKToKKyAgICAgICAgKFdURjo6aW5pdGlhbGl6ZUdDVGhyZWFkcyk6CisgICAgICAg
IChXVEY6OnJlZ2lzdGVyR0NUaHJlYWQpOgorICAgICAgICAoV1RGOjppc01haW5UaHJlYWRPckdD
VGhyZWFkKToKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDoKKwogMjAxNS0wOS0yMSAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEFsd2F5cyB1c2UgdGhlIGNvbXBp
bGVyJ3MgQ0FTIGltcGxlbWVudGF0aW9uIGFuZCBnZXQgcmlkIG9mIEVOQUJMRShDT01QQVJFX0FO
RF9TV0FQKQpJbmRleDogU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dURi93dGYvTWFpblRocmVhZC5jcHAJKHJldmlzaW9uIDE5MDEwMykKKysrIFNv
dXJjZS9XVEYvd3RmL01haW5UaHJlYWQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODcsMTggKzE4
NywxMyBAQCBib29sIGNhbkFjY2Vzc1RocmVhZExvY2FsRGF0YUZvclRocmVhZChUCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKIHN0YXRpYyBUaHJlYWRTcGVjaWZpYzxib29s
PiogaXNHQ1RocmVhZDsKLSNlbmRpZgogCiB2b2lkIGluaXRpYWxpemVHQ1RocmVhZHMoKQogewot
I2lmIEVOQUJMRShQQVJBTExFTF9HQykKICAgICBpc0dDVGhyZWFkID0gbmV3IFRocmVhZFNwZWNp
ZmljPGJvb2w+KCk7Ci0jZW5kaWYKIH0KIAotI2lmIEVOQUJMRShQQVJBTExFTF9HQykKIHZvaWQg
cmVnaXN0ZXJHQ1RocmVhZCgpCiB7CiAgICAgaWYgKCFpc0dDVGhyZWFkKSB7CkBAIC0yMTcsMTIg
KzIxMiw1IEBAIGJvb2wgaXNNYWluVGhyZWFkT3JHQ1RocmVhZCgpCiAKICAgICByZXR1cm4gaXNN
YWluVGhyZWFkKCk7CiB9Ci0jZWxpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShFRkwpICYmICFQ
TEFURk9STShHVEspCi0vLyBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIEphdmFTY3JpcHRDb3Jl
LmV4cCBkb2Vzbid0IHN1cHBvcnQgcHJlcHJvY2Vzc29yIG1hY3Jvcy4KLWJvb2wgaXNNYWluVGhy
ZWFkT3JHQ1RocmVhZCgpCi17Ci0gICAgcmV0dXJuIGlzTWFpblRocmVhZCgpOwotfQotI2VuZGlm
CiAKIH0gLy8gbmFtZXNwYWNlIFdURgpJbmRleDogU291cmNlL1dURi93dGYvTWFpblRocmVhZC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL01haW5UaHJlYWQuaAkocmV2aXNpb24gMTkw
MTAzKQorKysgU291cmNlL1dURi93dGYvTWFpblRocmVhZC5oCSh3b3JraW5nIGNvcHkpCkBAIC02
NiwxNCArNjYsOCBAQCBpbmxpbmUgYm9vbCBpc1VJVGhyZWFkKCkgeyByZXR1cm4gaXNNYWluCiAK
IHZvaWQgaW5pdGlhbGl6ZUdDVGhyZWFkcygpOwogCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQot
dm9pZCByZWdpc3RlckdDVGhyZWFkKCk7CitXVEZfRVhQT1JUX1BSSVZBVEUgdm9pZCByZWdpc3Rl
ckdDVGhyZWFkKCk7CiBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWRPckdDVGhy
ZWFkKCk7Ci0jZWxpZiBPUyhEQVJXSU4pICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShH
VEspCi1XVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBpc01haW5UaHJlYWRPckdDVGhyZWFkKCk7Ci0j
ZWxzZQotaW5saW5lIGJvb2wgaXNNYWluVGhyZWFkT3JHQ1RocmVhZCgpIHsgcmV0dXJuIGlzTWFp
blRocmVhZCgpOyB9Ci0jZW5kaWYKIAogLy8gTk9URTogdGhlc2UgZnVuY3Rpb25zIGFyZSBpbnRl
cm5hbCB0byB0aGUgY2FsbE9uTWFpblRocmVhZCBpbXBsZW1lbnRhdGlvbi4KIHZvaWQgaW5pdGlh
bGl6ZU1haW5UaHJlYWRQbGF0Zm9ybSgpOwpJbmRleDogU291cmNlL1dURi93dGYvUGxhdGZvcm0u
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCShyZXZpc2lvbiAxOTAx
MDMpCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCSh3b3JraW5nIGNvcHkpCkBAIC05NzIs
MTAgKzk3Miw2IEBACiAjZGVmaW5lIFVTRV9JTUxBTkdfRk9OVF9MSU5LMiAxCiAjZW5kaWYKIAot
I2lmICFkZWZpbmVkKEVOQUJMRV9QQVJBTExFTF9HQykgJiYgKE9TKERBUldJTikgfHwgUExBVEZP
Uk0oRUZMKSB8fCBQTEFURk9STShHVEspKQotI2RlZmluZSBFTkFCTEVfUEFSQUxMRUxfR0MgMQot
I2VuZGlmCi0KICNpZiAhZGVmaW5lZChFTkFCTEVfR0NfVkFMSURBVElPTikgJiYgIWRlZmluZWQo
TkRFQlVHKQogI2RlZmluZSBFTkFCTEVfR0NfVkFMSURBVElPTiAxCiAjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>