<?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>174039</bug_id>
          
          <creation_ts>2017-06-30 14:15:49 -0700</creation_ts>
          <short_desc>B3ReduceStrength should reduce EqualOrUnordered over const float input</short_desc>
          <delta_ts>2017-06-30 20:35:52 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1324528</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-30 14:15:49 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324624</commentid>
    <comment_count>1</comment_count>
      <attachid>314319</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-30 16:35:48 -0700</bug_when>
    <thetext>Created attachment 314319
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324637</commentid>
    <comment_count>2</comment_count>
      <attachid>314319</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2017-06-30 16:43:54 -0700</bug_when>
    <thetext>Comment on attachment 314319
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324638</commentid>
    <comment_count>3</comment_count>
      <attachid>314321</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-30 16:46:47 -0700</bug_when>
    <thetext>Created attachment 314321
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324640</commentid>
    <comment_count>4</comment_count>
      <attachid>314323</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-06-30 16:47:45 -0700</bug_when>
    <thetext>Created attachment 314323
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324711</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 18:56:01 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 314323:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324712</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 18:56:02 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 314323:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324747</commentid>
    <comment_count>7</comment_count>
      <attachid>314323</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 20:35:50 -0700</bug_when>
    <thetext>Comment on attachment 314323
patch for landing

Clearing flags on attachment: 314323

Committed r219038: &lt;http://trac.webkit.org/changeset/219038&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1324748</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-30 20:35:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314319</attachid>
            <date>2017-06-30 16:35:48 -0700</date>
            <delta_ts>2017-06-30 16:46:47 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>6277</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5MDI1KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTA2LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEIzUmVkdWNlU3RyZW5ndGggc2hvdWxkIHJlZHVjZSBFcXVhbE9yVW5vcmRlcmVkIG92ZXIgY29u
c3QgZmxvYXQgaW5wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NDAzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlIHBlcmZvcm0gdGhpcyBmb2xkaW5nIGZvciBDb25zdERvdWJsZVZhbHVlLiBJdCBp
cyBzaW1wbHkKKyAgICAgICAgYW4gb3ZlcnNpZ2h0IHRoYXQgd2UgZGlkbid0IGRvIGl0IGZvciBD
b25zdEZsb2F0VmFsdWUuCisKKyAgICAgICAgKiBiMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFu
dCk6CisgICAgICAgICogYjMvQjNDb25zdEZsb2F0VmFsdWUuaDoKKyAgICAgICAgKiBiMy90ZXN0
YjMuY3BwOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRp
bmcpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRpbmdO
YU4pOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZERvbnRGb2xk
KToKKyAgICAgICAgKEpTQzo6QjM6OnJ1bik6CisKIDIwMTctMDYtMjkgIEplciBOb2JsZSAgPGpl
ci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSBMZWdhY3kgRU1FIEFQSSBjb250cm9s
bGVkIGJ5IFJ1bnRpbWVFbmFibGVkIHNldHRpbmcuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDIxOTAxMikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE3Miw2ICsxNzIsMTcgQEAgVHJpU3RhdGUgQ29uc3RGbG9hdFZhbHVlOjpncmVhdGVy
RXF1YWxDbwogICAgIHJldHVybiB0cmlTdGF0ZShtX3ZhbHVlID49IG90aGVyLT5hc0Zsb2F0KCkp
OwogfQogCitUcmlTdGF0ZSBDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFu
dChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0Cit7CisgICAgaWYgKHN0ZDo6aXNuYW4obV92YWx1
ZSkpCisgICAgICAgIHJldHVybiBUcnVlVHJpU3RhdGU7CisKKyAgICBpZiAoIW90aGVyLT5oYXNG
bG9hdCgpKQorICAgICAgICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKKyAgICBmbG9hdCBvdGhlclZh
bHVlID0gb3RoZXItPmFzRmxvYXQoKTsKKyAgICByZXR1cm4gdHJpU3RhdGUoc3RkOjppc3Vub3Jk
ZXJlZChtX3ZhbHVlLCBvdGhlclZhbHVlKSB8fCBtX3ZhbHVlID09IG90aGVyVmFsdWUpOworfQor
CiB2b2lkIENvbnN0RmxvYXRWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJp
bnRTdHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoY29tbWEpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDIx
OTAxMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVh
dGVyVGhhbkNvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
VHJpU3RhdGUgbGVzc0VxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVy
cmlkZTsKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3Ro
ZXIpIGNvbnN0IG92ZXJyaWRlOworICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFu
dChjb25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAg
dm9pZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRl
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDIxOTAxMikK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgogI2luY2x1ZGUgIlB1cmVO
YU4uaCIKICNpbmNsdWRlIDxjbWF0aD4KKyNpbmNsdWRlIDxsaXN0PgogI2luY2x1ZGUgPHN0cmlu
Zz4KICNpbmNsdWRlIDx3dGYvRmFzdFRMUy5oPgogI2luY2x1ZGUgPHd0Zi9MaXN0RHVtcC5oPgpA
QCAtMTU0MzIsNiArMTU0MzMsNzggQEAgdm9pZCB0ZXN0RmFzdFRMU1N0b3JlKCkKICNlbmRpZgog
fQogCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVyZWRGb2xkaW5nKCkKK3sKKyAgICBmb3Ig
KGF1dG8mIGZpcnN0IDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZsb2F0PigpKSB7CisgICAgICAg
IGZvciAoYXV0byYgc2Vjb25kIDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZsb2F0PigpKSB7Cisg
ICAgICAgICAgICBmbG9hdCBhID0gZmlyc3QudmFsdWU7CisgICAgICAgICAgICBmbG9hdCBiID0g
c2Vjb25kLnZhbHVlOworICAgICAgICAgICAgYm9vbCBleHBlY3RlZFJlc3VsdCA9IChhID09IGIp
IHx8IHN0ZDo6aXN1bm9yZGVyZWQoYSwgYik7CisgICAgICAgICAgICBQcm9jZWR1cmUgcHJvYzsK
KyAgICAgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2NrKCk7CisgICAgICAg
ICAgICBWYWx1ZSogY29uc3RBID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0RmxvYXRWYWx1ZT4ocHJv
YywgT3JpZ2luKCksIGEpOworICAgICAgICAgICAgVmFsdWUqIGNvbnN0QiA9IHJvb3QtPmFwcGVu
ZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBiKTsKKworICAgICAgICAgICAg
cm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAg
ICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAgICAgICAgICAgICAg
cHJvYywgRXF1YWxPclVub3JkZXJlZCwgT3JpZ2luKCksCisgICAgICAgICAgICAgICAgICAgIGNv
bnN0QSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3RCKSk7CisgICAgICAgICAgICBDSEVDSygh
IWNvbXBpbGVBbmRSdW48aW50MzJfdD4ocHJvYykgPT0gZXhwZWN0ZWRSZXN1bHQpOworICAgICAg
ICB9CisgICAgfQorfQorCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVyZWRGb2xkaW5nTmFO
KCkKK3sKKyAgICBzdGQ6Omxpc3Q8ZmxvYXQ+IG5hbnMgPSB7CisgICAgICAgIGJpdHdpc2VfY2Fz
dDxmbG9hdD4oMHhmZmZmZmZmZCksCisgICAgICAgIGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZm
ZmZmZSksCisgICAgICAgIGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZmZmZmMCksCisgICAgICAg
IHN0YXRpY19jYXN0PGZsb2F0PihQTmFOKSwKKyAgICB9OworCisgICAgdW5zaWduZWQgaSA9IDA7
CisgICAgZm9yIChmbG9hdCBuYW4gOiBuYW5zKSB7CisgICAgICAgIFJFTEVBU0VfQVNTRVJUKHN0
ZDo6aXNuYW4obmFuKSk7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAgICAgICBCYXNpY0Js
b2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgICAgICBWYWx1ZSogYSA9IHJvb3QtPmFw
cGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBuYW4pOworICAgICAgICBW
YWx1ZSogYiA9IHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRG91YmxlVG9GbG9hdCwgT3Jp
Z2luKCksCisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8QXJndW1lbnRSZWdWYWx1ZT4ocHJv
YywgT3JpZ2luKCksIEZQUkluZm86OmFyZ3VtZW50RlBSMCkpOworCisgICAgICAgIGlmIChpICUg
MikKKyAgICAgICAgICAgIHN0ZDo6c3dhcChhLCBiKTsKKyAgICAgICAgKytpOworICAgICAgICBy
b290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmlnaW4oKSwKKyAgICAg
ICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRXF1YWxPclVub3JkZXJlZCwgT3Jp
Z2luKCksIGEsIGIpKTsKKyAgICAgICAgQ0hFQ0soISFjb21waWxlQW5kUnVuPGludDMyX3Q+KHBy
b2MsIHN0YXRpY19jYXN0PGRvdWJsZT4oMS4wKSkpOworICAgIH0KK30KKwordm9pZCB0ZXN0Rmxv
YXRFcXVhbE9yVW5vcmRlcmVkRG9udEZvbGQoKQoreworICAgIGZvciAoYXV0byYgZmlyc3QgOiBm
bG9hdGluZ1BvaW50T3BlcmFuZHM8ZmxvYXQ+KCkpIHsKKyAgICAgICAgZmxvYXQgYSA9IGZpcnN0
LnZhbHVlOworICAgICAgICBQcm9jZWR1cmUgcHJvYzsKKyAgICAgICAgQmFzaWNCbG9jayogcm9v
dCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICAgICAgVmFsdWUqIGNvbnN0QSA9IHJvb3QtPmFwcGVu
ZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBhKTsKKyAgICAgICAgVmFsdWUq
IGIgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIERvdWJsZVRvRmxvYXQsIE9yaWdpbigp
LAorICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFsdWU+KHByb2MsIE9y
aWdpbigpLCBGUFJJbmZvOjphcmd1bWVudEZQUjApKTsKKyAgICAgICAgcm9vdC0+YXBwZW5kTmV3
Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAgICAgICAgICByb290LT5h
cHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgICAgIHByb2MsIEVxdWFsT3JVbm9yZGVyZWQs
IE9yaWdpbigpLCBjb25zdEEsIGIpKTsKKworICAgICAgICBhdXRvIGNvZGUgPSBjb21waWxlUHJv
Yyhwcm9jKTsKKworICAgICAgICBmb3IgKGF1dG8mIHNlY29uZCA6IGZsb2F0aW5nUG9pbnRPcGVy
YW5kczxmbG9hdD4oKSkgeworICAgICAgICAgICAgZmxvYXQgYiA9IHNlY29uZC52YWx1ZTsKKyAg
ICAgICAgICAgIGJvb2wgZXhwZWN0ZWRSZXN1bHQgPSAoYSA9PSBiKSB8fCBzdGQ6OmlzdW5vcmRl
cmVkKGEsIGIpOworICAgICAgICAgICAgQ0hFQ0soISFpbnZva2U8aW50MzJfdD4oKmNvZGUsIHN0
YXRpY19jYXN0PGRvdWJsZT4oYikpID09IGV4cGVjdGVkUmVzdWx0KTsKKyAgICAgICAgfQorICAg
IH0KK30KKwogLy8gTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCB0cnkgdG8gb3B0aW1p
emUgYW55dGhpbmcgb3V0LgogTkVWRVJfSU5MSU5FIGRvdWJsZSB6ZXJvKCkKIHsKQEAgLTE2OTY2
LDYgKzE3MDM5LDEwIEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikKICAgICBSVU4odGVz
dEZhc3RUTFNMb2FkKCkpOwogICAgIFJVTih0ZXN0RmFzdFRMU1N0b3JlKCkpOwogCisgICAgUlVO
KHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVyZWRGb2xkaW5nKCkpOworICAgIFJVTih0ZXN0RmxvYXRF
cXVhbE9yVW5vcmRlcmVkRm9sZGluZ05hTigpKTsKKyAgICBSVU4odGVzdEZsb2F0RXF1YWxPclVu
b3JkZXJlZERvbnRGb2xkKCkpOworCiAgICAgaWYgKGlzWDg2KCkpIHsKICAgICAgICAgUlVOKHRl
c3RCcmFuY2hCaXRBbmRJbW1GdXNpb24oSWRlbnRpdHksIEludDY0LCAxLCBBaXI6OkJyYW5jaFRl
c3QzMiwgQWlyOjpBcmc6OlRtcCkpOwogICAgICAgICBSVU4odGVzdEJyYW5jaEJpdEFuZEltbUZ1
c2lvbihJZGVudGl0eSwgSW50NjQsIDB4ZmYsIEFpcjo6QnJhbmNoVGVzdDMyLCBBaXI6OkFyZzo6
VG1wKSk7Cg==
</data>
<flag name="review"
          id="335220"
          type_id="1"
          status="+"
          setter="msaboff"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314321</attachid>
            <date>2017-06-30 16:46:47 -0700</date>
            <delta_ts>2017-06-30 16:47:45 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>6213</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5MDI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTA2LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEIzUmVkdWNlU3RyZW5ndGggc2hvdWxkIHJlZHVjZSBFcXVhbE9yVW5vcmRlcmVkIG92ZXIgY29u
c3QgZmxvYXQgaW5wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NDAzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlIHBlcmZvcm0gdGhpcyBmb2xkaW5nIGZvciBDb25zdERvdWJsZVZhbHVlLiBJdCBp
cyBzaW1wbHkKKyAgICAgICAgYW4gb3ZlcnNpZ2h0IHRoYXQgd2UgZGlkbid0IGRvIGl0IGZvciBD
b25zdEZsb2F0VmFsdWUuCisKKyAgICAgICAgKiBiMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFu
dCk6CisgICAgICAgICogYjMvQjNDb25zdEZsb2F0VmFsdWUuaDoKKyAgICAgICAgKiBiMy90ZXN0
YjMuY3BwOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRp
bmcpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRpbmdO
YU4pOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZERvbnRGb2xk
KToKKyAgICAgICAgKEpTQzo6QjM6OnJ1bik6CisKIDIwMTctMDYtMzAgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQjNNb3ZlQ29uc3RhbnRzIGZsb2F0WmVybygp
IHJldHVybnMgdGhlIHdyb25nIFZhbHVlS2V5CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDIxOTAyOCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3Miw2ICsxNzIsMTcgQEAgVHJpU3RhdGUgQ29uc3RGbG9hdFZhbHVlOjpncmVhdGVyRXF1
YWxDbwogICAgIHJldHVybiB0cmlTdGF0ZShtX3ZhbHVlID49IG90aGVyLT5hc0Zsb2F0KCkpOwog
fQogCitUcmlTdGF0ZSBDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChj
b25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0Cit7CisgICAgaWYgKHN0ZDo6aXNuYW4obV92YWx1ZSkp
CisgICAgICAgIHJldHVybiBUcnVlVHJpU3RhdGU7CisKKyAgICBpZiAoIW90aGVyLT5oYXNGbG9h
dCgpKQorICAgICAgICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKKyAgICBmbG9hdCBvdGhlclZhbHVl
ID0gb3RoZXItPmFzRmxvYXQoKTsKKyAgICByZXR1cm4gdHJpU3RhdGUoc3RkOjppc3Vub3JkZXJl
ZChtX3ZhbHVlLCBvdGhlclZhbHVlKSB8fCBtX3ZhbHVlID09IG90aGVyVmFsdWUpOworfQorCiB2
b2lkIENvbnN0RmxvYXRWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoY29tbWEpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDIxOTAy
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVhdGVy
VGhhbkNvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJp
U3RhdGUgbGVzc0VxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlk
ZTsKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIp
IGNvbnN0IG92ZXJyaWRlOworICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChj
b25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDIxOTAyOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTQ3Myw2ICsxNTQ3Myw3OCBAQCB2b2lkIHRlc3REb3VibGVMaXRlcmFsQ29tcGFyaXNvbihkb3Vi
bGUgCiAgICAgfQogfQogCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVyZWRGb2xkaW5nKCkK
K3sKKyAgICBmb3IgKGF1dG8mIGZpcnN0IDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZsb2F0Pigp
KSB7CisgICAgICAgIGZvciAoYXV0byYgc2Vjb25kIDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZs
b2F0PigpKSB7CisgICAgICAgICAgICBmbG9hdCBhID0gZmlyc3QudmFsdWU7CisgICAgICAgICAg
ICBmbG9hdCBiID0gc2Vjb25kLnZhbHVlOworICAgICAgICAgICAgYm9vbCBleHBlY3RlZFJlc3Vs
dCA9IChhID09IGIpIHx8IHN0ZDo6aXN1bm9yZGVyZWQoYSwgYik7CisgICAgICAgICAgICBQcm9j
ZWR1cmUgcHJvYzsKKyAgICAgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2Nr
KCk7CisgICAgICAgICAgICBWYWx1ZSogY29uc3RBID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0Rmxv
YXRWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGEpOworICAgICAgICAgICAgVmFsdWUqIGNvbnN0QiA9
IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBiKTsKKwor
ICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3Jp
Z2luKCksCisgICAgICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAg
ICAgICAgICAgICAgcHJvYywgRXF1YWxPclVub3JkZXJlZCwgT3JpZ2luKCksCisgICAgICAgICAg
ICAgICAgICAgIGNvbnN0QSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3RCKSk7CisgICAgICAg
ICAgICBDSEVDSyghIWNvbXBpbGVBbmRSdW48aW50MzJfdD4ocHJvYykgPT0gZXhwZWN0ZWRSZXN1
bHQpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVy
ZWRGb2xkaW5nTmFOKCkKK3sKKyAgICBzdGQ6Omxpc3Q8ZmxvYXQ+IG5hbnMgPSB7CisgICAgICAg
IGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZmZmZmZCksCisgICAgICAgIGJpdHdpc2VfY2FzdDxm
bG9hdD4oMHhmZmZmZmZmZSksCisgICAgICAgIGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZmZmZm
MCksCisgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0PihQTmFOKSwKKyAgICB9OworCisgICAgdW5z
aWduZWQgaSA9IDA7CisgICAgZm9yIChmbG9hdCBuYW4gOiBuYW5zKSB7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHN0ZDo6aXNuYW4obmFuKSk7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAg
ICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgICAgICBWYWx1ZSog
YSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBuYW4p
OworICAgICAgICBWYWx1ZSogYiA9IHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRG91Ymxl
VG9GbG9hdCwgT3JpZ2luKCksCisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8QXJndW1lbnRS
ZWdWYWx1ZT4ocHJvYywgT3JpZ2luKCksIEZQUkluZm86OmFyZ3VtZW50RlBSMCkpOworCisgICAg
ICAgIGlmIChpICUgMikKKyAgICAgICAgICAgIHN0ZDo6c3dhcChhLCBiKTsKKyAgICAgICAgKytp
OworICAgICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmln
aW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRXF1YWxPclVu
b3JkZXJlZCwgT3JpZ2luKCksIGEsIGIpKTsKKyAgICAgICAgQ0hFQ0soISFjb21waWxlQW5kUnVu
PGludDMyX3Q+KHByb2MsIHN0YXRpY19jYXN0PGRvdWJsZT4oMS4wKSkpOworICAgIH0KK30KKwor
dm9pZCB0ZXN0RmxvYXRFcXVhbE9yVW5vcmRlcmVkRG9udEZvbGQoKQoreworICAgIGZvciAoYXV0
byYgZmlyc3QgOiBmbG9hdGluZ1BvaW50T3BlcmFuZHM8ZmxvYXQ+KCkpIHsKKyAgICAgICAgZmxv
YXQgYSA9IGZpcnN0LnZhbHVlOworICAgICAgICBQcm9jZWR1cmUgcHJvYzsKKyAgICAgICAgQmFz
aWNCbG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICAgICAgVmFsdWUqIGNvbnN0QSA9
IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBhKTsKKyAg
ICAgICAgVmFsdWUqIGIgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIERvdWJsZVRvRmxv
YXQsIE9yaWdpbigpLAorICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFs
dWU+KHByb2MsIE9yaWdpbigpLCBGUFJJbmZvOjphcmd1bWVudEZQUjApKTsKKyAgICAgICAgcm9v
dC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAgICAg
ICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgICAgIHByb2MsIEVxdWFs
T3JVbm9yZGVyZWQsIE9yaWdpbigpLCBjb25zdEEsIGIpKTsKKworICAgICAgICBhdXRvIGNvZGUg
PSBjb21waWxlUHJvYyhwcm9jKTsKKworICAgICAgICBmb3IgKGF1dG8mIHNlY29uZCA6IGZsb2F0
aW5nUG9pbnRPcGVyYW5kczxmbG9hdD4oKSkgeworICAgICAgICAgICAgZmxvYXQgYiA9IHNlY29u
ZC52YWx1ZTsKKyAgICAgICAgICAgIGJvb2wgZXhwZWN0ZWRSZXN1bHQgPSAoYSA9PSBiKSB8fCBz
dGQ6OmlzdW5vcmRlcmVkKGEsIGIpOworICAgICAgICAgICAgQ0hFQ0soISFpbnZva2U8aW50MzJf
dD4oKmNvZGUsIHN0YXRpY19jYXN0PGRvdWJsZT4oYikpID09IGV4cGVjdGVkUmVzdWx0KTsKKyAg
ICAgICAgfQorICAgIH0KK30KKwogLy8gTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCB0
cnkgdG8gb3B0aW1pemUgYW55dGhpbmcgb3V0LgogTkVWRVJfSU5MSU5FIGRvdWJsZSB6ZXJvKCkK
IHsKQEAgLTE3MDEyLDYgKzE3MDg0LDEwIEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikK
ICAgICBSVU4odGVzdERvdWJsZUxpdGVyYWxDb21wYXJpc29uKDEyNS4zMTQ0NDQ2OTQ4MjQxLCAx
MjUuMzE0NDQ0Njk0ODI0MikpOwogICAgIFJVTih0ZXN0RG91YmxlTGl0ZXJhbENvbXBhcmlzb24o
MTI1LjMxNDQ0NDY5NDgyNDIsIDEyNS4zMTQ0NDQ2OTQ4MjQxKSk7CiAKKyAgICBSVU4odGVzdEZs
b2F0RXF1YWxPclVub3JkZXJlZEZvbGRpbmcoKSk7CisgICAgUlVOKHRlc3RGbG9hdEVxdWFsT3JV
bm9yZGVyZWRGb2xkaW5nTmFOKCkpOworICAgIFJVTih0ZXN0RmxvYXRFcXVhbE9yVW5vcmRlcmVk
RG9udEZvbGQoKSk7CisKICAgICBpZiAoaXNYODYoKSkgewogICAgICAgICBSVU4odGVzdEJyYW5j
aEJpdEFuZEltbUZ1c2lvbihJZGVudGl0eSwgSW50NjQsIDEsIEFpcjo6QnJhbmNoVGVzdDMyLCBB
aXI6OkFyZzo6VG1wKSk7CiAgICAgICAgIFJVTih0ZXN0QnJhbmNoQml0QW5kSW1tRnVzaW9uKElk
ZW50aXR5LCBJbnQ2NCwgMHhmZiwgQWlyOjpCcmFuY2hUZXN0MzIsIEFpcjo6QXJnOjpUbXApKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>314323</attachid>
            <date>2017-06-30 16:47:45 -0700</date>
            <delta_ts>2017-06-30 20:35:50 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>6213</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjE5MDI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDE3LTA2LTMwICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEIzUmVkdWNlU3RyZW5ndGggc2hvdWxkIHJlZHVjZSBFcXVhbE9yVW5vcmRlcmVkIG92ZXIgY29u
c3QgZmxvYXQgaW5wdXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NDAzOQorCisgICAgICAgIFJldmlld2VkIGJ5IE1pY2hhZWwgU2Fib2ZmLgorCisg
ICAgICAgIFdlIHBlcmZvcm0gdGhpcyBmb2xkaW5nIGZvciBDb25zdERvdWJsZVZhbHVlLiBJdCBp
cyBzaW1wbHkKKyAgICAgICAgYW4gb3ZlcnNpZ2h0IHRoYXQgd2UgZGlkbid0IGRvIGl0IGZvciBD
b25zdEZsb2F0VmFsdWUuCisKKyAgICAgICAgKiBiMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFu
dCk6CisgICAgICAgICogYjMvQjNDb25zdEZsb2F0VmFsdWUuaDoKKyAgICAgICAgKiBiMy90ZXN0
YjMuY3BwOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRp
bmcpOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZEZvbGRpbmdO
YU4pOgorICAgICAgICAoSlNDOjpCMzo6dGVzdEZsb2F0RXF1YWxPclVub3JkZXJlZERvbnRGb2xk
KToKKyAgICAgICAgKEpTQzo6QjM6OnJ1bik6CisKIDIwMTctMDYtMzAgIFNhYW0gQmFyYXRpICA8
c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgQjNNb3ZlQ29uc3RhbnRzIGZsb2F0WmVybygp
IHJldHVybnMgdGhlIHdyb25nIFZhbHVlS2V5CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvQjNDb25zdEZsb2F0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHJldmlzaW9uIDIxOTAyOCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE3Miw2ICsxNzIsMTcgQEAgVHJpU3RhdGUgQ29uc3RGbG9hdFZhbHVlOjpncmVhdGVyRXF1
YWxDbwogICAgIHJldHVybiB0cmlTdGF0ZShtX3ZhbHVlID49IG90aGVyLT5hc0Zsb2F0KCkpOwog
fQogCitUcmlTdGF0ZSBDb25zdEZsb2F0VmFsdWU6OmVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChj
b25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0Cit7CisgICAgaWYgKHN0ZDo6aXNuYW4obV92YWx1ZSkp
CisgICAgICAgIHJldHVybiBUcnVlVHJpU3RhdGU7CisKKyAgICBpZiAoIW90aGVyLT5oYXNGbG9h
dCgpKQorICAgICAgICByZXR1cm4gTWl4ZWRUcmlTdGF0ZTsKKyAgICBmbG9hdCBvdGhlclZhbHVl
ID0gb3RoZXItPmFzRmxvYXQoKTsKKyAgICByZXR1cm4gdHJpU3RhdGUoc3RkOjppc3Vub3JkZXJl
ZChtX3ZhbHVlLCBvdGhlclZhbHVlKSB8fCBtX3ZhbHVlID09IG90aGVyVmFsdWUpOworfQorCiB2
b2lkIENvbnN0RmxvYXRWYWx1ZTo6ZHVtcE1ldGEoQ29tbWFQcmludGVyJiBjb21tYSwgUHJpbnRT
dHJlYW0mIG91dCkgY29uc3QKIHsKICAgICBvdXQucHJpbnQoY29tbWEpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2IzL0IzQ29uc3RGbG9hdFZhbHVlLmgJKHJldmlzaW9uIDIxOTAy
OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9CM0NvbnN0RmxvYXRWYWx1ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICBUcmlTdGF0ZSBncmVhdGVy
VGhhbkNvbnN0YW50KGNvbnN0IFZhbHVlKiBvdGhlcikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgVHJp
U3RhdGUgbGVzc0VxdWFsQ29uc3RhbnQoY29uc3QgVmFsdWUqIG90aGVyKSBjb25zdCBvdmVycmlk
ZTsKICAgICBUcmlTdGF0ZSBncmVhdGVyRXF1YWxDb25zdGFudChjb25zdCBWYWx1ZSogb3RoZXIp
IGNvbnN0IG92ZXJyaWRlOworICAgIFRyaVN0YXRlIGVxdWFsT3JVbm9yZGVyZWRDb25zdGFudChj
b25zdCBWYWx1ZSogb3RoZXIpIGNvbnN0IG92ZXJyaWRlOwogCiBwcm90ZWN0ZWQ6CiAgICAgdm9p
ZCBkdW1wTWV0YShDb21tYVByaW50ZXImLCBQcmludFN0cmVhbSYpIGNvbnN0IG92ZXJyaWRlOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2IzL3Rlc3RiMy5jcHAJKHJldmlzaW9uIDIxOTAyOCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy90ZXN0YjMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NTQ3Myw2ICsxNTQ3Myw3OCBAQCB2b2lkIHRlc3REb3VibGVMaXRlcmFsQ29tcGFyaXNvbihkb3Vi
bGUgCiAgICAgfQogfQogCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVyZWRGb2xkaW5nKCkK
K3sKKyAgICBmb3IgKGF1dG8mIGZpcnN0IDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZsb2F0Pigp
KSB7CisgICAgICAgIGZvciAoYXV0byYgc2Vjb25kIDogZmxvYXRpbmdQb2ludE9wZXJhbmRzPGZs
b2F0PigpKSB7CisgICAgICAgICAgICBmbG9hdCBhID0gZmlyc3QudmFsdWU7CisgICAgICAgICAg
ICBmbG9hdCBiID0gc2Vjb25kLnZhbHVlOworICAgICAgICAgICAgYm9vbCBleHBlY3RlZFJlc3Vs
dCA9IChhID09IGIpIHx8IHN0ZDo6aXN1bm9yZGVyZWQoYSwgYik7CisgICAgICAgICAgICBQcm9j
ZWR1cmUgcHJvYzsKKyAgICAgICAgICAgIEJhc2ljQmxvY2sqIHJvb3QgPSBwcm9jLmFkZEJsb2Nr
KCk7CisgICAgICAgICAgICBWYWx1ZSogY29uc3RBID0gcm9vdC0+YXBwZW5kTmV3PENvbnN0Rmxv
YXRWYWx1ZT4ocHJvYywgT3JpZ2luKCksIGEpOworICAgICAgICAgICAgVmFsdWUqIGNvbnN0QiA9
IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBiKTsKKwor
ICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3Jp
Z2luKCksCisgICAgICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PFZhbHVlPigKKyAgICAgICAg
ICAgICAgICAgICAgcHJvYywgRXF1YWxPclVub3JkZXJlZCwgT3JpZ2luKCksCisgICAgICAgICAg
ICAgICAgICAgIGNvbnN0QSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3RCKSk7CisgICAgICAg
ICAgICBDSEVDSyghIWNvbXBpbGVBbmRSdW48aW50MzJfdD4ocHJvYykgPT0gZXhwZWN0ZWRSZXN1
bHQpOworICAgICAgICB9CisgICAgfQorfQorCit2b2lkIHRlc3RGbG9hdEVxdWFsT3JVbm9yZGVy
ZWRGb2xkaW5nTmFOKCkKK3sKKyAgICBzdGQ6Omxpc3Q8ZmxvYXQ+IG5hbnMgPSB7CisgICAgICAg
IGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZmZmZmZCksCisgICAgICAgIGJpdHdpc2VfY2FzdDxm
bG9hdD4oMHhmZmZmZmZmZSksCisgICAgICAgIGJpdHdpc2VfY2FzdDxmbG9hdD4oMHhmZmZmZmZm
MCksCisgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0PihQTmFOKSwKKyAgICB9OworCisgICAgdW5z
aWduZWQgaSA9IDA7CisgICAgZm9yIChmbG9hdCBuYW4gOiBuYW5zKSB7CisgICAgICAgIFJFTEVB
U0VfQVNTRVJUKHN0ZDo6aXNuYW4obmFuKSk7CisgICAgICAgIFByb2NlZHVyZSBwcm9jOworICAg
ICAgICBCYXNpY0Jsb2NrKiByb290ID0gcHJvYy5hZGRCbG9jaygpOworICAgICAgICBWYWx1ZSog
YSA9IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBuYW4p
OworICAgICAgICBWYWx1ZSogYiA9IHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRG91Ymxl
VG9GbG9hdCwgT3JpZ2luKCksCisgICAgICAgICAgICByb290LT5hcHBlbmROZXc8QXJndW1lbnRS
ZWdWYWx1ZT4ocHJvYywgT3JpZ2luKCksIEZQUkluZm86OmFyZ3VtZW50RlBSMCkpOworCisgICAg
ICAgIGlmIChpICUgMikKKyAgICAgICAgICAgIHN0ZDo6c3dhcChhLCBiKTsKKyAgICAgICAgKytp
OworICAgICAgICByb290LT5hcHBlbmROZXdDb250cm9sVmFsdWUocHJvYywgUmV0dXJuLCBPcmln
aW4oKSwKKyAgICAgICAgICAgIHJvb3QtPmFwcGVuZE5ldzxWYWx1ZT4ocHJvYywgRXF1YWxPclVu
b3JkZXJlZCwgT3JpZ2luKCksIGEsIGIpKTsKKyAgICAgICAgQ0hFQ0soISFjb21waWxlQW5kUnVu
PGludDMyX3Q+KHByb2MsIHN0YXRpY19jYXN0PGRvdWJsZT4oMS4wKSkpOworICAgIH0KK30KKwor
dm9pZCB0ZXN0RmxvYXRFcXVhbE9yVW5vcmRlcmVkRG9udEZvbGQoKQoreworICAgIGZvciAoYXV0
byYgZmlyc3QgOiBmbG9hdGluZ1BvaW50T3BlcmFuZHM8ZmxvYXQ+KCkpIHsKKyAgICAgICAgZmxv
YXQgYSA9IGZpcnN0LnZhbHVlOworICAgICAgICBQcm9jZWR1cmUgcHJvYzsKKyAgICAgICAgQmFz
aWNCbG9jayogcm9vdCA9IHByb2MuYWRkQmxvY2soKTsKKyAgICAgICAgVmFsdWUqIGNvbnN0QSA9
IHJvb3QtPmFwcGVuZE5ldzxDb25zdEZsb2F0VmFsdWU+KHByb2MsIE9yaWdpbigpLCBhKTsKKyAg
ICAgICAgVmFsdWUqIGIgPSByb290LT5hcHBlbmROZXc8VmFsdWU+KHByb2MsIERvdWJsZVRvRmxv
YXQsIE9yaWdpbigpLAorICAgICAgICAgICAgcm9vdC0+YXBwZW5kTmV3PEFyZ3VtZW50UmVnVmFs
dWU+KHByb2MsIE9yaWdpbigpLCBGUFJJbmZvOjphcmd1bWVudEZQUjApKTsKKyAgICAgICAgcm9v
dC0+YXBwZW5kTmV3Q29udHJvbFZhbHVlKHByb2MsIFJldHVybiwgT3JpZ2luKCksCisgICAgICAg
ICAgICByb290LT5hcHBlbmROZXc8VmFsdWU+KAorICAgICAgICAgICAgICAgIHByb2MsIEVxdWFs
T3JVbm9yZGVyZWQsIE9yaWdpbigpLCBjb25zdEEsIGIpKTsKKworICAgICAgICBhdXRvIGNvZGUg
PSBjb21waWxlUHJvYyhwcm9jKTsKKworICAgICAgICBmb3IgKGF1dG8mIHNlY29uZCA6IGZsb2F0
aW5nUG9pbnRPcGVyYW5kczxmbG9hdD4oKSkgeworICAgICAgICAgICAgZmxvYXQgYiA9IHNlY29u
ZC52YWx1ZTsKKyAgICAgICAgICAgIGJvb2wgZXhwZWN0ZWRSZXN1bHQgPSAoYSA9PSBiKSB8fCBz
dGQ6OmlzdW5vcmRlcmVkKGEsIGIpOworICAgICAgICAgICAgQ0hFQ0soISFpbnZva2U8aW50MzJf
dD4oKmNvZGUsIHN0YXRpY19jYXN0PGRvdWJsZT4oYikpID09IGV4cGVjdGVkUmVzdWx0KTsKKyAg
ICAgICAgfQorICAgIH0KK30KKwogLy8gTWFrZSBzdXJlIHRoZSBjb21waWxlciBkb2VzIG5vdCB0
cnkgdG8gb3B0aW1pemUgYW55dGhpbmcgb3V0LgogTkVWRVJfSU5MSU5FIGRvdWJsZSB6ZXJvKCkK
IHsKQEAgLTE3MDEyLDYgKzE3MDg0LDEwIEBAIHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikK
ICAgICBSVU4odGVzdERvdWJsZUxpdGVyYWxDb21wYXJpc29uKDEyNS4zMTQ0NDQ2OTQ4MjQxLCAx
MjUuMzE0NDQ0Njk0ODI0MikpOwogICAgIFJVTih0ZXN0RG91YmxlTGl0ZXJhbENvbXBhcmlzb24o
MTI1LjMxNDQ0NDY5NDgyNDIsIDEyNS4zMTQ0NDQ2OTQ4MjQxKSk7CiAKKyAgICBSVU4odGVzdEZs
b2F0RXF1YWxPclVub3JkZXJlZEZvbGRpbmcoKSk7CisgICAgUlVOKHRlc3RGbG9hdEVxdWFsT3JV
bm9yZGVyZWRGb2xkaW5nTmFOKCkpOworICAgIFJVTih0ZXN0RmxvYXRFcXVhbE9yVW5vcmRlcmVk
RG9udEZvbGQoKSk7CisKICAgICBpZiAoaXNYODYoKSkgewogICAgICAgICBSVU4odGVzdEJyYW5j
aEJpdEFuZEltbUZ1c2lvbihJZGVudGl0eSwgSW50NjQsIDEsIEFpcjo6QnJhbmNoVGVzdDMyLCBB
aXI6OkFyZzo6VG1wKSk7CiAgICAgICAgIFJVTih0ZXN0QnJhbmNoQml0QW5kSW1tRnVzaW9uKElk
ZW50aXR5LCBJbnQ2NCwgMHhmZiwgQWlyOjpCcmFuY2hUZXN0MzIsIEFpcjo6QXJnOjpUbXApKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>