<?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>148985</bug_id>
          
          <creation_ts>2015-09-08 16:15:02 -0700</creation_ts>
          <short_desc>Clean up HashTable.h</short_desc>
          <delta_ts>2015-09-10 17:51:48 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1124444</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-08 16:15:02 -0700</bug_when>
    <thetext>Clean up HashTable.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124448</commentid>
    <comment_count>1</comment_count>
      <attachid>260805</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-08 16:17:34 -0700</bug_when>
    <thetext>Created attachment 260805
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124456</commentid>
    <comment_count>2</comment_count>
      <attachid>260809</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-08 16:32:54 -0700</bug_when>
    <thetext>Created attachment 260809
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1124458</commentid>
    <comment_count>3</comment_count>
      <attachid>260810</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-09-08 16:42:08 -0700</bug_when>
    <thetext>Created attachment 260810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125096</commentid>
    <comment_count>4</comment_count>
      <attachid>260810</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-09-10 17:51:48 -0700</bug_when>
    <thetext>Comment on attachment 260810
Patch

Build failed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260805</attachid>
            <date>2015-09-08 16:17:34 -0700</date>
            <delta_ts>2015-09-08 16:32:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148985-20150908161728.patch</filename>
            <type>text/plain</type>
            <size>10070</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODk1MTUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDMzIEBACisyMDE1LTA5LTA4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4gdXAgSGFzaFRhYmxlLmgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODk4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0hh
c2hUYWJsZS5oOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpIYXNoVGFi
bGVDb25zdEl0ZXJhdG9yKToKKyAgICAgICAgKFdURjo6SGFzaFRhYmxlQ29uc3RJdGVyYXRvcjo6
fkhhc2hUYWJsZUNvbnN0SXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0
ZXJhdG9yOjpvcGVyYXRvcj0pOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9y
OjpnZXQpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpjaGVja1ZhbGlk
aXR5KToKKyAgICAgICAgKFdURjo6SGFzaFRhYmxlOjpsb29rdXApOgorICAgICAgICAoV1RGOjpI
YXNoVGFibGU6OmludGVybmFsQ2hlY2tUYWJsZUNvbnNpc3RlbmN5KToKKyAgICAgICAgKFdURjo6
SGFzaFRhYmxlOjppbnRlcm5hbENoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2VwdFNpemUpOgorICAg
ICAgICAoV1RGOjpIYXNoVGFibGU6Om1ha2VLbm93bkdvb2RJdGVyYXRvcik6CisgICAgICAgIChX
VEY6Okhhc2hUYWJsZTo6bWFrZUtub3duR29vZENvbnN0SXRlcmF0b3IpOgorICAgICAgICAoV1RG
OjpLZXlUcmFpdHM+OjpIYXNoVGFibGUpOgorICAgICAgICAoV1RGOjpkb3VibGVIYXNoKToKKyAg
ICAgICAgKFdURjo6S2V5VHJhaXRzPjo6Y2hlY2tLZXkpOgorICAgICAgICAoV1RGOjpLZXlUcmFp
dHM+OjpjaGVja1RhYmxlQ29uc2lzdGVuY3kpOgorICAgICAgICAoV1RGOjpLZXlUcmFpdHM+Ojpj
aGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKToKKyAgICAgICAgKFdURjo6S2V5VHJhaXRz
Pjo6aW52YWxpZGF0ZUl0ZXJhdG9ycyk6CisgICAgICAgIChXVEY6OmFkZEl0ZXJhdG9yKToKKyAg
ICAgICAgKFdURjo6cmVtb3ZlSXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGU6OmNo
ZWNrVGFibGVDb25zaXN0ZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hUYWJsZTo6
Y2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6
Okhhc2hUYWJsZTo6aW52YWxpZGF0ZUl0ZXJhdG9ycyk6IERlbGV0ZWQuCisKIDIwMTUtMDktMDQg
IENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBFbmFibGUg
cmVmZXJlbmNlIHF1YWxpZmllZCBmdW5jdGlvbnMgZm9yIEdDQwpJbmRleDogU291cmNlL1dURi93
dGYvSGFzaFRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgJ
KHJldmlzaW9uIDE4OTQ2NykKKysrIFNvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC04OSwxNyArODksNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1l
IEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAg
IHZvaWQgcmVtb3ZlSXRlcmF0b3IoSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXksIFZhbHVlLCBF
eHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiopOwogCi0jaWYgIUNI
RUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlw
ZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywg
dHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+Ci0gICAgaW5saW5lIHZvaWQgYWRk
SXRlcmF0b3IoY29uc3QgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0
aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+KiwKLSAgICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRv
cjxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRz
PiopIHsgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlw
ZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMs
IHR5cGVuYW1lIEtleVRyYWl0cz4KLSAgICBpbmxpbmUgdm9pZCByZW1vdmVJdGVyYXRvcihIYXNo
VGFibGVDb25zdEl0ZXJhdG9yPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywg
VHJhaXRzLCBLZXlUcmFpdHM+KikgeyB9Ci0KLSNlbmRpZgotCiAgICAgdHlwZWRlZiBlbnVtIHsg
SGFzaEl0ZW1Lbm93bkdvb2QgfSBIYXNoSXRlbUtub3duR29vZFRhZzsKIAogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5h
bWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+CkBA
IC0xMzcsMTIgKzEyNiw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHB1YmxpYzoKICAgICAgICAg
SGFzaFRhYmxlQ29uc3RJdGVyYXRvcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGFkZEl0ZXJh
dG9yKHN0YXRpY19jYXN0PGNvbnN0IEhhc2hUYWJsZVR5cGUqPigwKSwgdGhpcyk7CisgICAgICAg
ICAgICBhZGRJdGVyYXRvcihudWxscHRyLCB0aGlzKTsKICAgICAgICAgfQogCi0gICAgICAgIC8v
IGRlZmF1bHQgY29weSwgYXNzaWdubWVudCBhbmQgZGVzdHJ1Y3RvciBhcmUgT0sgaWYgQ0hFQ0tf
SEFTSFRBQkxFX0lURVJBVE9SUyBpcyAwCi0KLSNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JT
CiAgICAgICAgIH5IYXNoVGFibGVDb25zdEl0ZXJhdG9yKCkKICAgICAgICAgewogICAgICAgICAg
ICAgcmVtb3ZlSXRlcmF0b3IodGhpcyk7CkBAIC0xNTEsNyArMTM3LDkgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3IoY29uc3QgY29uc3RfaXRlcmF0b3Im
IG90aGVyKQogICAgICAgICAgICAgOiBtX3Bvc2l0aW9uKG90aGVyLm1fcG9zaXRpb24pLCBtX2Vu
ZFBvc2l0aW9uKG90aGVyLm1fZW5kUG9zaXRpb24pCiAgICAgICAgIHsKKyNpZiBDSEVDS19IQVNI
VEFCTEVfSVRFUkFUT1JTCiAgICAgICAgICAgICBhZGRJdGVyYXRvcihvdGhlci5tX3RhYmxlLCB0
aGlzKTsKKyNlbmRpZgogICAgICAgICB9CiAKICAgICAgICAgY29uc3RfaXRlcmF0b3ImIG9wZXJh
dG9yPShjb25zdCBjb25zdF9pdGVyYXRvciYgb3RoZXIpCkBAIC0xNjQsNyArMTUyLDYgQEAgbmFt
ZXNwYWNlIFdURiB7CiAKICAgICAgICAgICAgIHJldHVybiAqdGhpczsKICAgICAgICAgfQotI2Vu
ZGlmCiAKICAgICAgICAgUG9pbnRlclR5cGUgZ2V0KCkgY29uc3QKICAgICAgICAgewpAQCAtMjE0
LDE2ICsyMDEsMTYgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIH0KIAogCi0jaWYgQ0hFQ0tf
SEFTSFRBQkxFX0lURVJBVE9SUwogICAgICAgICB2b2lkIGNoZWNrVmFsaWRpdHkoY29uc3QgY29u
c3RfaXRlcmF0b3ImIG90aGVyKSBjb25zdAogICAgICAgICB7CisjaWYgQ0hFQ0tfSEFTSFRBQkxF
X0lURVJBVE9SUwogICAgICAgICAgICAgQVNTRVJUKG1fdGFibGUpOwogICAgICAgICAgICAgQVNT
RVJUX1VOVVNFRChvdGhlciwgb3RoZXIubV90YWJsZSk7CiAgICAgICAgICAgICBBU1NFUlQobV90
YWJsZSA9PSBvdGhlci5tX3RhYmxlKTsKLSAgICAgICAgfQogI2Vsc2UKLSAgICAgICAgdm9pZCBj
aGVja1ZhbGlkaXR5KGNvbnN0IGNvbnN0X2l0ZXJhdG9yJikgY29uc3QgeyB9CisgICAgICAgICAg
ICBVTlVTRURfUEFSQU0ob3RoZXIpOwogI2VuZGlmCisgICAgICAgIH0KIAogICAgICAgICBQb2lu
dGVyVHlwZSBtX3Bvc2l0aW9uOwogICAgICAgICBQb2ludGVyVHlwZSBtX2VuZFBvc2l0aW9uOwpA
QCAtNDA5LDExICszOTYsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgVmFsdWVUeXBlKiBs
b29rdXAoY29uc3QgS2V5JiBrZXkpIHsgcmV0dXJuIGxvb2t1cDxJZGVudGl0eVRyYW5zbGF0b3JU
eXBlPihrZXkpOyB9CiAgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yLCB0
eXBlbmFtZSBUPiBWYWx1ZVR5cGUqIGxvb2t1cChjb25zdCBUJik7CiAKLSNpZiAhQVNTRVJUX0RJ
U0FCTEVECiAgICAgICAgIHZvaWQgY2hlY2tUYWJsZUNvbnNpc3RlbmN5KCkgY29uc3Q7Ci0jZWxz
ZQotICAgICAgICBzdGF0aWMgdm9pZCBjaGVja1RhYmxlQ29uc2lzdGVuY3koKSB7IH0KLSNlbmRp
ZgogI2lmIENIRUNLX0hBU0hUQUJMRV9DT05TSVNURU5DWQogICAgICAgICB2b2lkIGludGVybmFs
Q2hlY2tUYWJsZUNvbnNpc3RlbmN5KCkgY29uc3QgeyBjaGVja1RhYmxlQ29uc2lzdGVuY3koKTsg
fQogICAgICAgICB2b2lkIGludGVybmFsQ2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSgp
IGNvbnN0IHsgY2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSgpOyB9CkBAIC00NjEsMTcg
KzQ0NCw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBpdGVyYXRvciBtYWtlS25vd25Hb29k
SXRlcmF0b3IoVmFsdWVUeXBlKiBwb3MpIHsgcmV0dXJuIGl0ZXJhdG9yKHRoaXMsIHBvcywgbV90
YWJsZSArIG1fdGFibGVTaXplLCBIYXNoSXRlbUtub3duR29vZCk7IH0KICAgICAgICAgY29uc3Rf
aXRlcmF0b3IgbWFrZUtub3duR29vZENvbnN0SXRlcmF0b3IoVmFsdWVUeXBlKiBwb3MpIGNvbnN0
IHsgcmV0dXJuIGNvbnN0X2l0ZXJhdG9yKHRoaXMsIHBvcywgbV90YWJsZSArIG1fdGFibGVTaXpl
LCBIYXNoSXRlbUtub3duR29vZCk7IH0KIAotI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICAgICAg
dm9pZCBjaGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKCkgY29uc3Q7Ci0jZWxzZQotICAg
ICAgICBzdGF0aWMgdm9pZCBjaGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKCkgeyB9Ci0j
ZW5kaWYKIAotI2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAgICAgdm9pZCBpbnZh
bGlkYXRlSXRlcmF0b3JzKCk7Ci0jZWxzZQotICAgICAgICBzdGF0aWMgdm9pZCBpbnZhbGlkYXRl
SXRlcmF0b3JzKCkgeyB9Ci0jZW5kaWYKIAogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
bV9tYXhMb2FkID0gMjsKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1fbWluTG9hZCA9
IDY7CkBAIC01MzYsNyArNTExLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1l
IEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAg
IGlubGluZSBIYXNoVGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBU
cmFpdHMsIEtleVRyYWl0cz46Okhhc2hUYWJsZSgpCi0gICAgICAgIDogbV90YWJsZSgwKQorICAg
ICAgICA6IG1fdGFibGUobnVsbHB0cikKICAgICAgICAgLCBtX3RhYmxlU2l6ZSgwKQogICAgICAg
ICAsIG1fdGFibGVTaXplTWFzaygwKQogICAgICAgICAsIG1fa2V5Q291bnQoMCkKQEAgLTU2MSwy
MCArNTM2LDExIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICByZXR1cm4ga2V5OwogICAgIH0K
IAotI2lmIEFTU0VSVF9ESVNBQkxFRAotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBl
bmFtZSBWYWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0
eXBlbmFtZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KLSAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBIYXNoVHJhbnNsYXRvciwgdHlwZW5hbWUgVD4KLSAgICBpbmxpbmUgdm9pZCBIYXNoVGFibGU8
S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cz46
OmNoZWNrS2V5KGNvbnN0IFQmKQotICAgIHsKLSAgICB9Ci0KLSNlbHNlCi0KICAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVu
YW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yLCB0eXBlbmFtZSBUPgogICAgIHZv
aWQgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRz
LCBLZXlUcmFpdHM+OjpjaGVja0tleShjb25zdCBUJiBrZXkpCiAgICAgeworI2lmICFBU1NFUlRf
RElTQUJMRUQKICAgICAgICAgaWYgKCFIYXNoRnVuY3Rpb25zOjpzYWZlVG9Db21wYXJlVG9FbXB0
eU9yRGVsZXRlZCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgQVNTRVJUKCFIYXNoVHJh
bnNsYXRvcjo6ZXF1YWwoS2V5VHJhaXRzOjplbXB0eVZhbHVlKCksIGtleSkpOwpAQCAtNTgzLDkg
KzU0OSwxMCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgVmFsdWVUeXBlJiBkZWxldGVkVmFs
dWUgPSAqZGVsZXRlZFZhbHVlUHRyOwogICAgICAgICBUcmFpdHM6OmNvbnN0cnVjdERlbGV0ZWRW
YWx1ZShkZWxldGVkVmFsdWUpOwogICAgICAgICBBU1NFUlQoIUhhc2hUcmFuc2xhdG9yOjplcXVh
bChFeHRyYWN0b3I6OmV4dHJhY3QoZGVsZXRlZFZhbHVlKSwga2V5KSk7Ci0gICAgfQotCisjZWxz
ZQorICAgICAgICBVTlVTRURfUEFSQU0oa2V5KTsKICNlbmRpZgorICAgIH0KIAogICAgIHRlbXBs
YXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlw
ZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5zbGF0b3IsIHR5cGVuYW1lIFQ+CkBAIC0x
MzA4LDggKzEyNzUsNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJuICp0aGlzOwog
ICAgIH0KIAotI2lmICFBU1NFUlRfRElTQUJMRUQKLQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtl
eSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0
aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+CiAgICAgdm9pZCBIYXNo
VGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBUcmFpdHMsIEtleVRy
YWl0cz46OmNoZWNrVGFibGVDb25zaXN0ZW5jeSgpIGNvbnN0CiAgICAgewpAQCAtMTMyMSw2ICsx
Mjg2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBl
bmFtZSBWYWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0
eXBlbmFtZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KICAgICB2b2lkIEhhc2hUYWJsZTxL
ZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPjo6
Y2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSgpIGNvbnN0CiAgICAgeworI2lmICFBU1NF
UlRfRElTQUJMRUQKICAgICAgICAgaWYgKCFtX3RhYmxlKQogICAgICAgICAgICAgcmV0dXJuOwog
CkBAIC0xMzQ4LDE1ICsxMzE0LDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBBU1NFUlQo
bV90YWJsZVNpemUgPj0gS2V5VHJhaXRzOjptaW5pbXVtVGFibGVTaXplKTsKICAgICAgICAgQVNT
RVJUKG1fdGFibGVTaXplTWFzayk7CiAgICAgICAgIEFTU0VSVChtX3RhYmxlU2l6ZSA9PSBtX3Rh
YmxlU2l6ZU1hc2sgKyAxKTsKLSAgICB9Ci0KICNlbmRpZiAvLyBBU1NFUlRfRElTQUJMRUQKLQot
I2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKKyAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhh
c2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAgIHZv
aWQgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRz
LCBLZXlUcmFpdHM+OjppbnZhbGlkYXRlSXRlcmF0b3JzKCkKICAgICB7CisjaWYgQ0hFQ0tfSEFT
SFRBQkxFX0lURVJBVE9SUwogICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jaygqbV9t
dXRleCk7CiAgICAgICAgIGNvbnN0X2l0ZXJhdG9yKiBuZXh0OwogICAgICAgICBmb3IgKGNvbnN0
X2l0ZXJhdG9yKiBwID0gbV9pdGVyYXRvcnM7IHA7IHAgPSBuZXh0KSB7CkBAIC0xMzY2LDEyICsx
MzMwLDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcC0+bV9wcmV2aW91cyA9IDA7
CiAgICAgICAgIH0KICAgICAgICAgbV9pdGVyYXRvcnMgPSAwOworI2VuZGlmCiAgICAgfQogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgRXh0cmFj
dG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMsIHR5cGVuYW1lIEtl
eVRyYWl0cz4KICAgICB2b2lkIGFkZEl0ZXJhdG9yKGNvbnN0IEhhc2hUYWJsZTxLZXksIFZhbHVl
LCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiogdGFibGUsCiAg
ICAgICAgIEhhc2hUYWJsZUNvbnN0SXRlcmF0b3I8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNo
RnVuY3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cz4qIGl0KQogICAgIHsKKyNpZiBDSEVDS19IQVNI
VEFCTEVfSVRFUkFUT1JTCiAgICAgICAgIGl0LT5tX3RhYmxlID0gdGFibGU7CiAgICAgICAgIGl0
LT5tX3ByZXZpb3VzID0gMDsKIApAQCAtMTM4OCwxMSArMTM1NCwxNiBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICAgICAgICAgICAgICBpdC0+bV9uZXh0LT5tX3ByZXZpb3VzID0gaXQ7CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShpdCk7CisgICAg
ICAgIFVOVVNFRF9QQVJBTSh0YWJsZSk7CisjZW5kaWYKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1l
IEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAg
IHZvaWQgcmVtb3ZlSXRlcmF0b3IoSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXksIFZhbHVlLCBF
eHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiogaXQpCiAgICAgewor
I2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAgICAgLy8gRGVsZXRlIGl0ZXJhdG9y
IGZyb20gZG91Ymx5LWxpbmtlZCBsaXN0IG9mIGl0ZXJhdG9ycy4KICAgICAgICAgaWYgKCFpdC0+
bV90YWJsZSkgewogICAgICAgICAgICAgQVNTRVJUKCFpdC0+bV9uZXh0KTsKQEAgLTE0MTYsMTAg
KzEzODcsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGl0LT5tX3RhYmxlID0gMDsKICAg
ICAgICAgaXQtPm1fbmV4dCA9IDA7CiAgICAgICAgIGl0LT5tX3ByZXZpb3VzID0gMDsKKyNlbHNl
CisgICAgICAgIFVOVVNFRF9QQVJBTShpdCk7CisjZW5kaWYKICAgICB9CiAKLSNlbmRpZiAvLyBD
SEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCi0KICAgICAvLyBpdGVyYXRvciBhZGFwdGVycwogCiAg
ICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRhYmxlVHlwZSwgdHlwZW5hbWUgVmFsdWVUeXBlPiBz
dHJ1Y3QgSGFzaFRhYmxlQ29uc3RJdGVyYXRvckFkYXB0ZXIgewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260809</attachid>
            <date>2015-09-08 16:32:54 -0700</date>
            <delta_ts>2015-09-08 16:42:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148985-20150908163248.patch</filename>
            <type>text/plain</type>
            <size>11523</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODk1MTUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE1LTA5LTA4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4gdXAgSGFzaFRhYmxlLmgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODk4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggcmVtb3ZlcyBtYW55IGR1cGxpY2F0ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYnkgbW92aW5n
IGlmZGVmcyB0byB0aGUgZGVmaW5pdGlvbnMuCisgICAgICAgIFRoaXMgbWFrZXMgaXQgbXVjaCBl
YXNpZXIgdG8gcmVhZCBhbmQgZm9sbG93IHdoYXQgaXMgZ29pbmcgb24uCisgICAgICAgIEl0IGFs
c28gcmVtb3ZlcyBhIGNoZWNrIGZvciBtdXN0UmVoYXNoSW5QbGFjZSB3aGljaCB3YXMgYWx3YXlz
IGZhbHNlLCB3aGljaCBzaG91bGQgb25seSBzcGVlZCB1cCByZWhhc2hpbmcuCisKKyAgICAgICAg
KiB3dGYvSGFzaFRhYmxlLmg6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZUNvbnN0SXRlcmF0b3I6
Okhhc2hUYWJsZUNvbnN0SXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0
ZXJhdG9yOjp+SGFzaFRhYmxlQ29uc3RJdGVyYXRvcik6CisgICAgICAgIChXVEY6Okhhc2hUYWJs
ZUNvbnN0SXRlcmF0b3I6Om9wZXJhdG9yPSk6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZUNvbnN0
SXRlcmF0b3I6OmdldCk6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZUNvbnN0SXRlcmF0b3I6OmNo
ZWNrVmFsaWRpdHkpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGU6Omxvb2t1cCk6CisgICAgICAg
IChXVEY6Okhhc2hUYWJsZTo6aW50ZXJuYWxDaGVja1RhYmxlQ29uc2lzdGVuY3kpOgorICAgICAg
ICAoV1RGOjpIYXNoVGFibGU6OmludGVybmFsQ2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6
ZSk6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZTo6c2hvdWxkRXhwYW5kKToKKyAgICAgICAgKFdU
Rjo6SGFzaFRhYmxlOjpzaG91bGRTaHJpbmspOgorICAgICAgICAoV1RGOjpIYXNoVGFibGU6OnNo
cmluayk6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZTo6bWFrZUtub3duR29vZEl0ZXJhdG9yKToK
KyAgICAgICAgKFdURjo6SGFzaFRhYmxlOjptYWtlS25vd25Hb29kQ29uc3RJdGVyYXRvcik6Cisg
ICAgICAgIChXVEY6OktleVRyYWl0cz46Okhhc2hUYWJsZSk6CisgICAgICAgIChXVEY6OmRvdWJs
ZUhhc2gpOgorICAgICAgICAoV1RGOjpLZXlUcmFpdHM+OjpjaGVja0tleSk6CisgICAgICAgIChX
VEY6OktleVRyYWl0cz46OmNoZWNrVGFibGVDb25zaXN0ZW5jeSk6CisgICAgICAgIChXVEY6Oktl
eVRyYWl0cz46OmNoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2VwdFNpemUpOgorICAgICAgICAoV1RG
OjpLZXlUcmFpdHM+OjppbnZhbGlkYXRlSXRlcmF0b3JzKToKKyAgICAgICAgKFdURjo6YWRkSXRl
cmF0b3IpOgorICAgICAgICAoV1RGOjpyZW1vdmVJdGVyYXRvcik6CisgICAgICAgIChXVEY6Okhh
c2hUYWJsZTo6Y2hlY2tUYWJsZUNvbnNpc3RlbmN5KTogRGVsZXRlZC4KKyAgICAgICAgKFdURjo6
SGFzaFRhYmxlOjptdXN0UmVoYXNoSW5QbGFjZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhh
c2hUYWJsZTo6Y2hlY2tUYWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChXVEY6Okhhc2hUYWJsZTo6aW52YWxpZGF0ZUl0ZXJhdG9ycyk6IERlbGV0ZWQuCisKIDIw
MTUtMDktMDQgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBFbmFibGUgcmVmZXJlbmNlIHF1YWxpZmllZCBmdW5jdGlvbnMgZm9yIEdDQwpJbmRleDogU291
cmNlL1dURi93dGYvSGFzaFRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvSGFz
aFRhYmxlLmgJKHJldmlzaW9uIDE4OTQ2NykKKysrIFNvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC04OSwxNyArODksNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3Is
IHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJh
aXRzPgogICAgIHZvaWQgcmVtb3ZlSXRlcmF0b3IoSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXks
IFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiopOwog
Ci0jaWYgIUNIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1
bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+Ci0gICAgaW5saW5l
IHZvaWQgYWRkSXRlcmF0b3IoY29uc3QgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3Rvciwg
SGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+KiwKLSAgICAgICAgSGFzaFRhYmxlQ29u
c3RJdGVyYXRvcjxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywg
S2V5VHJhaXRzPiopIHsgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBW
YWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFt
ZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KLSAgICBpbmxpbmUgdm9pZCByZW1vdmVJdGVy
YXRvcihIYXNoVGFibGVDb25zdEl0ZXJhdG9yPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1
bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+KikgeyB9Ci0KLSNlbmRpZgotCiAgICAgdHlwZWRl
ZiBlbnVtIHsgSGFzaEl0ZW1Lbm93bkdvb2QgfSBIYXNoSXRlbUtub3duR29vZFRhZzsKIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3Rv
ciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlU
cmFpdHM+CkBAIC0xMzcsMTIgKzEyNiw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHB1YmxpYzoK
ICAgICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRvcigpCiAgICAgICAgIHsKLSAgICAgICAgICAg
IGFkZEl0ZXJhdG9yKHN0YXRpY19jYXN0PGNvbnN0IEhhc2hUYWJsZVR5cGUqPigwKSwgdGhpcyk7
CisgICAgICAgICAgICBhZGRJdGVyYXRvcihudWxscHRyLCB0aGlzKTsKICAgICAgICAgfQogCi0g
ICAgICAgIC8vIGRlZmF1bHQgY29weSwgYXNzaWdubWVudCBhbmQgZGVzdHJ1Y3RvciBhcmUgT0sg
aWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUyBpcyAwCi0KLSNpZiBDSEVDS19IQVNIVEFCTEVf
SVRFUkFUT1JTCiAgICAgICAgIH5IYXNoVGFibGVDb25zdEl0ZXJhdG9yKCkKICAgICAgICAgewog
ICAgICAgICAgICAgcmVtb3ZlSXRlcmF0b3IodGhpcyk7CkBAIC0xNTEsMjAgKzEzNywyMSBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRvcihjb25zdCBjb25z
dF9pdGVyYXRvciYgb3RoZXIpCiAgICAgICAgICAgICA6IG1fcG9zaXRpb24ob3RoZXIubV9wb3Np
dGlvbiksIG1fZW5kUG9zaXRpb24ob3RoZXIubV9lbmRQb3NpdGlvbikKICAgICAgICAgeworI2lm
IENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAgICAgICAgIGFkZEl0ZXJhdG9yKG90aGVy
Lm1fdGFibGUsIHRoaXMpOworI2VuZGlmCiAgICAgICAgIH0KIAogICAgICAgICBjb25zdF9pdGVy
YXRvciYgb3BlcmF0b3I9KGNvbnN0IGNvbnN0X2l0ZXJhdG9yJiBvdGhlcikKICAgICAgICAgewog
ICAgICAgICAgICAgbV9wb3NpdGlvbiA9IG90aGVyLm1fcG9zaXRpb247CiAgICAgICAgICAgICBt
X2VuZFBvc2l0aW9uID0gb3RoZXIubV9lbmRQb3NpdGlvbjsKLQorI2lmIENIRUNLX0hBU0hUQUJM
RV9JVEVSQVRPUlMKICAgICAgICAgICAgIHJlbW92ZUl0ZXJhdG9yKHRoaXMpOwogICAgICAgICAg
ICAgYWRkSXRlcmF0b3Iob3RoZXIubV90YWJsZSwgdGhpcyk7Ci0KKyNlbmRpZgogICAgICAgICAg
ICAgcmV0dXJuICp0aGlzOwogICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICBQb2ludGVyVHlw
ZSBnZXQoKSBjb25zdAogICAgICAgICB7CkBAIC0yMTQsMTYgKzIwMSwxNiBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgfQogCiAKLSNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAg
ICAgIHZvaWQgY2hlY2tWYWxpZGl0eShjb25zdCBjb25zdF9pdGVyYXRvciYgb3RoZXIpIGNvbnN0
CiAgICAgICAgIHsKKyNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAgICAgICAgICBB
U1NFUlQobV90YWJsZSk7CiAgICAgICAgICAgICBBU1NFUlRfVU5VU0VEKG90aGVyLCBvdGhlci5t
X3RhYmxlKTsKICAgICAgICAgICAgIEFTU0VSVChtX3RhYmxlID09IG90aGVyLm1fdGFibGUpOwot
ICAgICAgICB9CiAjZWxzZQotICAgICAgICB2b2lkIGNoZWNrVmFsaWRpdHkoY29uc3QgY29uc3Rf
aXRlcmF0b3ImKSBjb25zdCB7IH0KKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShvdGhlcik7CiAj
ZW5kaWYKKyAgICAgICAgfQogCiAgICAgICAgIFBvaW50ZXJUeXBlIG1fcG9zaXRpb247CiAgICAg
ICAgIFBvaW50ZXJUeXBlIG1fZW5kUG9zaXRpb247CkBAIC00MDksMTEgKzM5Niw3IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgICAgICBWYWx1ZVR5cGUqIGxvb2t1cChjb25zdCBLZXkmIGtleSkgeyBy
ZXR1cm4gbG9va3VwPElkZW50aXR5VHJhbnNsYXRvclR5cGU+KGtleSk7IH0KICAgICAgICAgdGVt
cGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5zbGF0b3IsIHR5cGVuYW1lIFQ+IFZhbHVlVHlwZSogbG9v
a3VwKGNvbnN0IFQmKTsKIAotI2lmICFBU1NFUlRfRElTQUJMRUQKICAgICAgICAgdm9pZCBjaGVj
a1RhYmxlQ29uc2lzdGVuY3koKSBjb25zdDsKLSNlbHNlCi0gICAgICAgIHN0YXRpYyB2b2lkIGNo
ZWNrVGFibGVDb25zaXN0ZW5jeSgpIHsgfQotI2VuZGlmCiAjaWYgQ0hFQ0tfSEFTSFRBQkxFX0NP
TlNJU1RFTkNZCiAgICAgICAgIHZvaWQgaW50ZXJuYWxDaGVja1RhYmxlQ29uc2lzdGVuY3koKSBj
b25zdCB7IGNoZWNrVGFibGVDb25zaXN0ZW5jeSgpOyB9CiAgICAgICAgIHZvaWQgaW50ZXJuYWxD
aGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKCkgY29uc3QgeyBjaGVja1RhYmxlQ29uc2lz
dGVuY3lFeGNlcHRTaXplKCk7IH0KQEAgLTQ0Miw3ICs0MjUsNiBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgdm9pZCByZW1vdmUoVmFsdWVUeXBlKik7CiAKICAgICAgICAgYm9vbCBzaG91bGRF
eHBhbmQoKSBjb25zdCB7IHJldHVybiAobV9rZXlDb3VudCArIG1fZGVsZXRlZENvdW50KSAqIG1f
bWF4TG9hZCA+PSBtX3RhYmxlU2l6ZTsgfQotICAgICAgICBib29sIG11c3RSZWhhc2hJblBsYWNl
KCkgY29uc3QgeyByZXR1cm4gbV9rZXlDb3VudCAqIG1fbWluTG9hZCA8IG1fdGFibGVTaXplICog
MjsgfQogICAgICAgICBib29sIHNob3VsZFNocmluaygpIGNvbnN0IHsgcmV0dXJuIG1fa2V5Q291
bnQgKiBtX21pbkxvYWQgPCBtX3RhYmxlU2l6ZSAmJiBtX3RhYmxlU2l6ZSA+IEtleVRyYWl0czo6
bWluaW11bVRhYmxlU2l6ZTsgfQogICAgICAgICBWYWx1ZVR5cGUqIGV4cGFuZChWYWx1ZVR5cGUq
IGVudHJ5ID0gbnVsbHB0cik7CiAgICAgICAgIHZvaWQgc2hyaW5rKCkgeyByZWhhc2gobV90YWJs
ZVNpemUgLyAyLCBudWxscHRyKTsgfQpAQCAtNDYxLDE3ICs0NDMsOSBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICAgICAgaXRlcmF0b3IgbWFrZUtub3duR29vZEl0ZXJhdG9yKFZhbHVlVHlwZSogcG9z
KSB7IHJldHVybiBpdGVyYXRvcih0aGlzLCBwb3MsIG1fdGFibGUgKyBtX3RhYmxlU2l6ZSwgSGFz
aEl0ZW1Lbm93bkdvb2QpOyB9CiAgICAgICAgIGNvbnN0X2l0ZXJhdG9yIG1ha2VLbm93bkdvb2RD
b25zdEl0ZXJhdG9yKFZhbHVlVHlwZSogcG9zKSBjb25zdCB7IHJldHVybiBjb25zdF9pdGVyYXRv
cih0aGlzLCBwb3MsIG1fdGFibGUgKyBtX3RhYmxlU2l6ZSwgSGFzaEl0ZW1Lbm93bkdvb2QpOyB9
CiAKLSNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgICAgIHZvaWQgY2hlY2tUYWJsZUNvbnNpc3Rl
bmN5RXhjZXB0U2l6ZSgpIGNvbnN0OwotI2Vsc2UKLSAgICAgICAgc3RhdGljIHZvaWQgY2hlY2tU
YWJsZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSgpIHsgfQotI2VuZGlmCiAKLSNpZiBDSEVDS19IQVNI
VEFCTEVfSVRFUkFUT1JTCiAgICAgICAgIHZvaWQgaW52YWxpZGF0ZUl0ZXJhdG9ycygpOwotI2Vs
c2UKLSAgICAgICAgc3RhdGljIHZvaWQgaW52YWxpZGF0ZUl0ZXJhdG9ycygpIHsgfQotI2VuZGlm
CiAKICAgICAgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIG1fbWF4TG9hZCA9IDI7CiAgICAgICAg
IHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtX21pbkxvYWQgPSA2OwpAQCAtNTM2LDcgKzUxMCw3IEBA
IG5hbWVzcGFjZSBXVEYgewogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBW
YWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFt
ZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KICAgICBpbmxpbmUgSGFzaFRhYmxlPEtleSwg
VmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+OjpIYXNo
VGFibGUoKQotICAgICAgICA6IG1fdGFibGUoMCkKKyAgICAgICAgOiBtX3RhYmxlKG51bGxwdHIp
CiAgICAgICAgICwgbV90YWJsZVNpemUoMCkKICAgICAgICAgLCBtX3RhYmxlU2l6ZU1hc2soMCkK
ICAgICAgICAgLCBtX2tleUNvdW50KDApCkBAIC01NjEsMjAgKzUzNSwxMSBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgcmV0dXJuIGtleTsKICAgICB9CiAKLSNpZiBBU1NFUlRfRElTQUJMRUQK
LQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4
dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFt
ZSBLZXlUcmFpdHM+Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5zbGF0b3IsIHR5cGVu
YW1lIFQ+Ci0gICAgaW5saW5lIHZvaWQgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3Rvciwg
SGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+OjpjaGVja0tleShjb25zdCBUJikKLSAg
ICB7Ci0gICAgfQotCi0jZWxzZQotCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFt
ZSBWYWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBl
bmFtZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBI
YXNoVHJhbnNsYXRvciwgdHlwZW5hbWUgVD4KICAgICB2b2lkIEhhc2hUYWJsZTxLZXksIFZhbHVl
LCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPjo6Y2hlY2tLZXko
Y29uc3QgVCYga2V5KQogICAgIHsKKyNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgICAgIGlmICgh
SGFzaEZ1bmN0aW9uczo6c2FmZVRvQ29tcGFyZVRvRW1wdHlPckRlbGV0ZWQpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIEFTU0VSVCghSGFzaFRyYW5zbGF0b3I6OmVxdWFsKEtleVRyYWl0
czo6ZW1wdHlWYWx1ZSgpLCBrZXkpKTsKQEAgLTU4Myw5ICs1NDgsMTAgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIFZhbHVlVHlwZSYgZGVsZXRlZFZhbHVlID0gKmRlbGV0ZWRWYWx1ZVB0cjsK
ICAgICAgICAgVHJhaXRzOjpjb25zdHJ1Y3REZWxldGVkVmFsdWUoZGVsZXRlZFZhbHVlKTsKICAg
ICAgICAgQVNTRVJUKCFIYXNoVHJhbnNsYXRvcjo6ZXF1YWwoRXh0cmFjdG9yOjpleHRyYWN0KGRl
bGV0ZWRWYWx1ZSksIGtleSkpOwotICAgIH0KLQorI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFN
KGtleSk7CiAjZW5kaWYKKyAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVu
YW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5
cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEhhc2hUcmFuc2xhdG9yLCB0eXBlbmFtZSBUPgpAQCAtMTE0Myw4ICsxMTA5LDYgQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIHVuc2lnbmVkIG5ld1NpemU7CiAgICAgICAgIGlmIChtX3RhYmxl
U2l6ZSA9PSAwKQogICAgICAgICAgICAgbmV3U2l6ZSA9IEtleVRyYWl0czo6bWluaW11bVRhYmxl
U2l6ZTsKLSAgICAgICAgZWxzZSBpZiAobXVzdFJlaGFzaEluUGxhY2UoKSkKLSAgICAgICAgICAg
IG5ld1NpemUgPSBtX3RhYmxlU2l6ZTsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbmV3U2l6
ZSA9IG1fdGFibGVTaXplICogMjsKIApAQCAtMTMwOCw4ICsxMjcyLDYgQEAgbmFtZXNwYWNlIFdU
RiB7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKLSNpZiAhQVNTRVJUX0RJU0FCTEVE
Ci0KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBF
eHRyYWN0b3IsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5h
bWUgS2V5VHJhaXRzPgogICAgIHZvaWQgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3Rvciwg
SGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+OjpjaGVja1RhYmxlQ29uc2lzdGVuY3ko
KSBjb25zdAogICAgIHsKQEAgLTEzMjEsNiArMTI4Myw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3Rv
ciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlU
cmFpdHM+CiAgICAgdm9pZCBIYXNoVGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVu
Y3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cz46OmNoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2VwdFNp
emUoKSBjb25zdAogICAgIHsKKyNpZiAhQVNTRVJUX0RJU0FCTEVECiAgICAgICAgIGlmICghbV90
YWJsZSkKICAgICAgICAgICAgIHJldHVybjsKIApAQCAtMTM0OCwxNSArMTMxMSwxMyBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICAgICAgQVNTRVJUKG1fdGFibGVTaXplID49IEtleVRyYWl0czo6bWlu
aW11bVRhYmxlU2l6ZSk7CiAgICAgICAgIEFTU0VSVChtX3RhYmxlU2l6ZU1hc2spOwogICAgICAg
ICBBU1NFUlQobV90YWJsZVNpemUgPT0gbV90YWJsZVNpemVNYXNrICsgMSk7Ci0gICAgfQotCiAj
ZW5kaWYgLy8gQVNTRVJUX0RJU0FCTEVECi0KLSNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JT
CisgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlw
ZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMs
IHR5cGVuYW1lIEtleVRyYWl0cz4KICAgICB2b2lkIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRy
YWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPjo6aW52YWxpZGF0ZUl0ZXJh
dG9ycygpCiAgICAgeworI2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAgICAgc3Rk
Ojpsb2NrX2d1YXJkPExvY2s+IGxvY2soKm1fbXV0ZXgpOwogICAgICAgICBjb25zdF9pdGVyYXRv
ciogbmV4dDsKICAgICAgICAgZm9yIChjb25zdF9pdGVyYXRvciogcCA9IG1faXRlcmF0b3JzOyBw
OyBwID0gbmV4dCkgewpAQCAtMTM2NiwxMiArMTMyNywxNCBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICAgICAgICAgIHAtPm1fcHJldmlvdXMgPSAwOwogICAgICAgICB9CiAgICAgICAgIG1faXRlcmF0
b3JzID0gMDsKKyNlbmRpZgogICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlw
ZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywg
dHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+CiAgICAgdm9pZCBhZGRJdGVyYXRv
cihjb25zdCBIYXNoVGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBU
cmFpdHMsIEtleVRyYWl0cz4qIHRhYmxlLAogICAgICAgICBIYXNoVGFibGVDb25zdEl0ZXJhdG9y
PEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+
KiBpdCkKICAgICB7CisjaWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUwogICAgICAgICBpdC0+
bV90YWJsZSA9IHRhYmxlOwogICAgICAgICBpdC0+bV9wcmV2aW91cyA9IDA7CiAKQEAgLTEzODgs
MTEgKzEzNTEsMTYgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAgICAgICAgaXQtPm1fbmV4
dC0+bV9wcmV2aW91cyA9IGl0OwogICAgICAgICAgICAgfQogICAgICAgICB9CisjZWxzZQorICAg
ICAgICBVTlVTRURfUEFSQU0oaXQpOworICAgICAgICBVTlVTRURfUEFSQU0odGFibGUpOworI2Vu
ZGlmCiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwg
dHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFp
dHMsIHR5cGVuYW1lIEtleVRyYWl0cz4KICAgICB2b2lkIHJlbW92ZUl0ZXJhdG9yKEhhc2hUYWJs
ZUNvbnN0SXRlcmF0b3I8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVuY3Rpb25zLCBUcmFp
dHMsIEtleVRyYWl0cz4qIGl0KQogICAgIHsKKyNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JT
CiAgICAgICAgIC8vIERlbGV0ZSBpdGVyYXRvciBmcm9tIGRvdWJseS1saW5rZWQgbGlzdCBvZiBp
dGVyYXRvcnMuCiAgICAgICAgIGlmICghaXQtPm1fdGFibGUpIHsKICAgICAgICAgICAgIEFTU0VS
VCghaXQtPm1fbmV4dCk7CkBAIC0xNDE2LDEwICsxMzg0LDExIEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgICAgICBpdC0+bV90YWJsZSA9IDA7CiAgICAgICAgIGl0LT5tX25leHQgPSAwOwogICAgICAg
ICBpdC0+bV9wcmV2aW91cyA9IDA7CisjZWxzZQorICAgICAgICBVTlVTRURfUEFSQU0oaXQpOwor
I2VuZGlmCiAgICAgfQogCi0jZW5kaWYgLy8gQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUwotCiAg
ICAgLy8gaXRlcmF0b3IgYWRhcHRlcnMKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEhhc2hUYWJs
ZVR5cGUsIHR5cGVuYW1lIFZhbHVlVHlwZT4gc3RydWN0IEhhc2hUYWJsZUNvbnN0SXRlcmF0b3JB
ZGFwdGVyIHsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>260810</attachid>
            <date>2015-09-08 16:42:08 -0700</date>
            <delta_ts>2015-09-10 17:51:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-148985-20150908164202.patch</filename>
            <type>text/plain</type>
            <size>10597</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxODk1MTUpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDE1LTA5LTA4ICBBbGV4IENocmlzdGVuc2VuICA8
YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgQ2xlYW4gdXAgSGFzaFRhYmxlLmgK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0ODk4NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0
Y2ggcmVtb3ZlcyBtYW55IGR1cGxpY2F0ZSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYnkgbW92aW5n
IGlmZGVmcyB0byB0aGUgZGVmaW5pdGlvbnMuCisgICAgICAgIFRoaXMgbWFrZXMgaXQgbXVjaCBl
YXNpZXIgdG8gcmVhZCBhbmQgZm9sbG93IHdoYXQgaXMgZ29pbmcgb24uICBUaGVyZSBzaG91bGQg
YmUgbm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogd3RmL0hhc2hUYWJsZS5oOgor
ICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpIYXNoVGFibGVDb25zdEl0ZXJh
dG9yKToKKyAgICAgICAgKFdURjo6SGFzaFRhYmxlQ29uc3RJdGVyYXRvcjo6fkhhc2hUYWJsZUNv
bnN0SXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpvcGVy
YXRvcj0pOgorICAgICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpnZXQpOgorICAg
ICAgICAoV1RGOjpIYXNoVGFibGVDb25zdEl0ZXJhdG9yOjpjaGVja1ZhbGlkaXR5KToKKyAgICAg
ICAgKFdURjo6SGFzaFRhYmxlOjpsb29rdXApOgorICAgICAgICAoV1RGOjpIYXNoVGFibGU6Omlu
dGVybmFsQ2hlY2tUYWJsZUNvbnNpc3RlbmN5KToKKyAgICAgICAgKFdURjo6SGFzaFRhYmxlOjpp
bnRlcm5hbENoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2VwdFNpemUpOgorICAgICAgICAoV1RGOjpI
YXNoVGFibGU6OnNob3VsZEV4cGFuZCk6CisgICAgICAgIChXVEY6Okhhc2hUYWJsZTo6c2hvdWxk
U2hyaW5rKToKKyAgICAgICAgKFdURjo6SGFzaFRhYmxlOjpzaHJpbmspOgorICAgICAgICAoV1RG
OjpIYXNoVGFibGU6Om1ha2VLbm93bkdvb2RJdGVyYXRvcik6CisgICAgICAgIChXVEY6Okhhc2hU
YWJsZTo6bWFrZUtub3duR29vZENvbnN0SXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpLZXlUcmFp
dHM+OjpIYXNoVGFibGUpOgorICAgICAgICAoV1RGOjpkb3VibGVIYXNoKToKKyAgICAgICAgKFdU
Rjo6S2V5VHJhaXRzPjo6Y2hlY2tLZXkpOgorICAgICAgICAoV1RGOjpLZXlUcmFpdHM+OjpjaGVj
a1RhYmxlQ29uc2lzdGVuY3kpOgorICAgICAgICAoV1RGOjpLZXlUcmFpdHM+OjpjaGVja1RhYmxl
Q29uc2lzdGVuY3lFeGNlcHRTaXplKToKKyAgICAgICAgKFdURjo6S2V5VHJhaXRzPjo6aW52YWxp
ZGF0ZUl0ZXJhdG9ycyk6CisgICAgICAgIChXVEY6OmFkZEl0ZXJhdG9yKToKKyAgICAgICAgKFdU
Rjo6cmVtb3ZlSXRlcmF0b3IpOgorICAgICAgICAoV1RGOjpIYXNoVGFibGU6OmNoZWNrVGFibGVD
b25zaXN0ZW5jeSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hUYWJsZTo6Y2hlY2tUYWJs
ZUNvbnNpc3RlbmN5RXhjZXB0U2l6ZSk6IERlbGV0ZWQuCisgICAgICAgIChXVEY6Okhhc2hUYWJs
ZTo6aW52YWxpZGF0ZUl0ZXJhdG9ycyk6IERlbGV0ZWQuCisKIDIwMTUtMDktMDQgIENzYWJhIE9z
enRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAgICBFbmFibGUgcmVmZXJlbmNl
IHF1YWxpZmllZCBmdW5jdGlvbnMgZm9yIEdDQwpJbmRleDogU291cmNlL1dURi93dGYvSGFzaFRh
YmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvSGFzaFRhYmxlLmgJKHJldmlzaW9u
IDE4OTQ2NykKKysrIFNvdXJjZS9XVEYvd3RmL0hhc2hUYWJsZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC04OSwxNyArODksNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
ZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhhc2hGdW5j
dGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAgIHZvaWQgcmVt
b3ZlSXRlcmF0b3IoSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXksIFZhbHVlLCBFeHRyYWN0b3Is
IEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiopOwogCi0jaWYgIUNIRUNLX0hBU0hU
QUJMRV9JVEVSQVRPUlMKLQotICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFs
dWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUg
VHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+Ci0gICAgaW5saW5lIHZvaWQgYWRkSXRlcmF0b3Io
Y29uc3QgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJh
aXRzLCBLZXlUcmFpdHM+KiwKLSAgICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXksIFZh
bHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiopIHsgfQot
Ci0gICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgRXh0
cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMsIHR5cGVuYW1l
IEtleVRyYWl0cz4KLSAgICBpbmxpbmUgdm9pZCByZW1vdmVJdGVyYXRvcihIYXNoVGFibGVDb25z
dEl0ZXJhdG9yPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBL
ZXlUcmFpdHM+KikgeyB9Ci0KLSNlbmRpZgotCiAgICAgdHlwZWRlZiBlbnVtIHsgSGFzaEl0ZW1L
bm93bkdvb2QgfSBIYXNoSXRlbUtub3duR29vZFRhZzsKIAogICAgIHRlbXBsYXRlPHR5cGVuYW1l
IEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1
bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlUcmFpdHM+CkBAIC0xMzcsMTIg
KzEyNiw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHB1YmxpYzoKICAgICAgICAgSGFzaFRhYmxl
Q29uc3RJdGVyYXRvcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIGFkZEl0ZXJhdG9yKHN0YXRp
Y19jYXN0PGNvbnN0IEhhc2hUYWJsZVR5cGUqPigwKSwgdGhpcyk7CisgICAgICAgICAgICBhZGRJ
dGVyYXRvcihudWxscHRyLCB0aGlzKTsKICAgICAgICAgfQogCi0gICAgICAgIC8vIGRlZmF1bHQg
Y29weSwgYXNzaWdubWVudCBhbmQgZGVzdHJ1Y3RvciBhcmUgT0sgaWYgQ0hFQ0tfSEFTSFRBQkxF
X0lURVJBVE9SUyBpcyAwCi0KLSNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAgICAg
IH5IYXNoVGFibGVDb25zdEl0ZXJhdG9yKCkKICAgICAgICAgewogICAgICAgICAgICAgcmVtb3Zl
SXRlcmF0b3IodGhpcyk7CkBAIC0xNTEsMjAgKzEzNywyMSBAQCBuYW1lc3BhY2UgV1RGIHsKICAg
ICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRvcihjb25zdCBjb25zdF9pdGVyYXRvciYgb3RoZXIp
CiAgICAgICAgICAgICA6IG1fcG9zaXRpb24ob3RoZXIubV9wb3NpdGlvbiksIG1fZW5kUG9zaXRp
b24ob3RoZXIubV9lbmRQb3NpdGlvbikKICAgICAgICAgeworI2lmIENIRUNLX0hBU0hUQUJMRV9J
VEVSQVRPUlMKICAgICAgICAgICAgIGFkZEl0ZXJhdG9yKG90aGVyLm1fdGFibGUsIHRoaXMpOwor
I2VuZGlmCiAgICAgICAgIH0KIAogICAgICAgICBjb25zdF9pdGVyYXRvciYgb3BlcmF0b3I9KGNv
bnN0IGNvbnN0X2l0ZXJhdG9yJiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgbV9wb3Np
dGlvbiA9IG90aGVyLm1fcG9zaXRpb247CiAgICAgICAgICAgICBtX2VuZFBvc2l0aW9uID0gb3Ro
ZXIubV9lbmRQb3NpdGlvbjsKLQorI2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAg
ICAgICAgIHJlbW92ZUl0ZXJhdG9yKHRoaXMpOwogICAgICAgICAgICAgYWRkSXRlcmF0b3Iob3Ro
ZXIubV90YWJsZSwgdGhpcyk7Ci0KKyNlbmRpZgogICAgICAgICAgICAgcmV0dXJuICp0aGlzOwog
ICAgICAgICB9Ci0jZW5kaWYKIAogICAgICAgICBQb2ludGVyVHlwZSBnZXQoKSBjb25zdAogICAg
ICAgICB7CkBAIC0yMTQsMTYgKzIwMSwxNiBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgfQog
CiAKLSNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAgICAgIHZvaWQgY2hlY2tWYWxp
ZGl0eShjb25zdCBjb25zdF9pdGVyYXRvciYgb3RoZXIpIGNvbnN0CiAgICAgICAgIHsKKyNpZiBD
SEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAgICAgICAgICBBU1NFUlQobV90YWJsZSk7CiAg
ICAgICAgICAgICBBU1NFUlRfVU5VU0VEKG90aGVyLCBvdGhlci5tX3RhYmxlKTsKICAgICAgICAg
ICAgIEFTU0VSVChtX3RhYmxlID09IG90aGVyLm1fdGFibGUpOwotICAgICAgICB9CiAjZWxzZQot
ICAgICAgICB2b2lkIGNoZWNrVmFsaWRpdHkoY29uc3QgY29uc3RfaXRlcmF0b3ImKSBjb25zdCB7
IH0KKyAgICAgICAgICAgIFVOVVNFRF9QQVJBTShvdGhlcik7CiAjZW5kaWYKKyAgICAgICAgfQog
CiAgICAgICAgIFBvaW50ZXJUeXBlIG1fcG9zaXRpb247CiAgICAgICAgIFBvaW50ZXJUeXBlIG1f
ZW5kUG9zaXRpb247CkBAIC00MDksMTEgKzM5Niw3IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAg
ICBWYWx1ZVR5cGUqIGxvb2t1cChjb25zdCBLZXkmIGtleSkgeyByZXR1cm4gbG9va3VwPElkZW50
aXR5VHJhbnNsYXRvclR5cGU+KGtleSk7IH0KICAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFz
aFRyYW5zbGF0b3IsIHR5cGVuYW1lIFQ+IFZhbHVlVHlwZSogbG9va3VwKGNvbnN0IFQmKTsKIAot
I2lmICFBU1NFUlRfRElTQUJMRUQKICAgICAgICAgdm9pZCBjaGVja1RhYmxlQ29uc2lzdGVuY3ko
KSBjb25zdDsKLSNlbHNlCi0gICAgICAgIHN0YXRpYyB2b2lkIGNoZWNrVGFibGVDb25zaXN0ZW5j
eSgpIHsgfQotI2VuZGlmCiAjaWYgQ0hFQ0tfSEFTSFRBQkxFX0NPTlNJU1RFTkNZCiAgICAgICAg
IHZvaWQgaW50ZXJuYWxDaGVja1RhYmxlQ29uc2lzdGVuY3koKSBjb25zdCB7IGNoZWNrVGFibGVD
b25zaXN0ZW5jeSgpOyB9CiAgICAgICAgIHZvaWQgaW50ZXJuYWxDaGVja1RhYmxlQ29uc2lzdGVu
Y3lFeGNlcHRTaXplKCkgY29uc3QgeyBjaGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKCk7
IH0KQEAgLTQ2MSwxNyArNDQ0LDkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGl0ZXJhdG9y
IG1ha2VLbm93bkdvb2RJdGVyYXRvcihWYWx1ZVR5cGUqIHBvcykgeyByZXR1cm4gaXRlcmF0b3Io
dGhpcywgcG9zLCBtX3RhYmxlICsgbV90YWJsZVNpemUsIEhhc2hJdGVtS25vd25Hb29kKTsgfQog
ICAgICAgICBjb25zdF9pdGVyYXRvciBtYWtlS25vd25Hb29kQ29uc3RJdGVyYXRvcihWYWx1ZVR5
cGUqIHBvcykgY29uc3QgeyByZXR1cm4gY29uc3RfaXRlcmF0b3IodGhpcywgcG9zLCBtX3RhYmxl
ICsgbV90YWJsZVNpemUsIEhhc2hJdGVtS25vd25Hb29kKTsgfQogCi0jaWYgIUFTU0VSVF9ESVNB
QkxFRAogICAgICAgICB2b2lkIGNoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2VwdFNpemUoKSBjb25z
dDsKLSNlbHNlCi0gICAgICAgIHN0YXRpYyB2b2lkIGNoZWNrVGFibGVDb25zaXN0ZW5jeUV4Y2Vw
dFNpemUoKSB7IH0KLSNlbmRpZgogCi0jaWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUwogICAg
ICAgICB2b2lkIGludmFsaWRhdGVJdGVyYXRvcnMoKTsKLSNlbHNlCi0gICAgICAgIHN0YXRpYyB2
b2lkIGludmFsaWRhdGVJdGVyYXRvcnMoKSB7IH0KLSNlbmRpZgogCiAgICAgICAgIHN0YXRpYyBj
b25zdCB1bnNpZ25lZCBtX21heExvYWQgPSAyOwogICAgICAgICBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgbV9taW5Mb2FkID0gNjsKQEAgLTUzNiw3ICs1MTEsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJh
Y3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBL
ZXlUcmFpdHM+CiAgICAgaW5saW5lIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhh
c2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPjo6SGFzaFRhYmxlKCkKLSAgICAgICAgOiBt
X3RhYmxlKDApCisgICAgICAgIDogbV90YWJsZShudWxscHRyKQogICAgICAgICAsIG1fdGFibGVT
aXplKDApCiAgICAgICAgICwgbV90YWJsZVNpemVNYXNrKDApCiAgICAgICAgICwgbV9rZXlDb3Vu
dCgwKQpAQCAtNTYxLDIwICs1MzYsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIHJldHVy
biBrZXk7CiAgICAgfQogCi0jaWYgQVNTRVJUX0RJU0FCTEVECi0KLSAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhh
c2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgotICAgIHRl
bXBsYXRlPHR5cGVuYW1lIEhhc2hUcmFuc2xhdG9yLCB0eXBlbmFtZSBUPgotICAgIGlubGluZSB2
b2lkIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0
cywgS2V5VHJhaXRzPjo6Y2hlY2tLZXkoY29uc3QgVCYpCi0gICAgewotICAgIH0KLQotI2Vsc2UK
LQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4
dHJhY3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFt
ZSBLZXlUcmFpdHM+CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgSGFzaFRyYW5zbGF0b3IsIHR5cGVu
YW1lIFQ+CiAgICAgdm9pZCBIYXNoVGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVu
Y3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cz46OmNoZWNrS2V5KGNvbnN0IFQmIGtleSkKICAgICB7
CisjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICBpZiAoIUhhc2hGdW5jdGlvbnM6OnNhZmVU
b0NvbXBhcmVUb0VtcHR5T3JEZWxldGVkKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBB
U1NFUlQoIUhhc2hUcmFuc2xhdG9yOjplcXVhbChLZXlUcmFpdHM6OmVtcHR5VmFsdWUoKSwga2V5
KSk7CkBAIC01ODMsOSArNTQ5LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBWYWx1ZVR5
cGUmIGRlbGV0ZWRWYWx1ZSA9ICpkZWxldGVkVmFsdWVQdHI7CiAgICAgICAgIFRyYWl0czo6Y29u
c3RydWN0RGVsZXRlZFZhbHVlKGRlbGV0ZWRWYWx1ZSk7CiAgICAgICAgIEFTU0VSVCghSGFzaFRy
YW5zbGF0b3I6OmVxdWFsKEV4dHJhY3Rvcjo6ZXh0cmFjdChkZWxldGVkVmFsdWUpLCBrZXkpKTsK
LSAgICB9Ci0KKyNlbHNlCisgICAgICAgIFVOVVNFRF9QQVJBTShrZXkpOwogI2VuZGlmCisgICAg
fQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUg
RXh0cmFjdG9yLCB0eXBlbmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMsIHR5cGVu
YW1lIEtleVRyYWl0cz4KICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVHJhbnNsYXRvciwgdHlw
ZW5hbWUgVD4KQEAgLTEzMDgsOCArMTI3NSw2IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBy
ZXR1cm4gKnRoaXM7CiAgICAgfQogCi0jaWYgIUFTU0VSVF9ESVNBQkxFRAotCiAgICAgdGVtcGxh
dGU8dHlwZW5hbWUgS2V5LCB0eXBlbmFtZSBWYWx1ZSwgdHlwZW5hbWUgRXh0cmFjdG9yLCB0eXBl
bmFtZSBIYXNoRnVuY3Rpb25zLCB0eXBlbmFtZSBUcmFpdHMsIHR5cGVuYW1lIEtleVRyYWl0cz4K
ICAgICB2b2lkIEhhc2hUYWJsZTxLZXksIFZhbHVlLCBFeHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMs
IFRyYWl0cywgS2V5VHJhaXRzPjo6Y2hlY2tUYWJsZUNvbnNpc3RlbmN5KCkgY29uc3QKICAgICB7
CkBAIC0xMzIxLDYgKzEyODYsNyBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhh
c2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAgIHZv
aWQgSGFzaFRhYmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRz
LCBLZXlUcmFpdHM+OjpjaGVja1RhYmxlQ29uc2lzdGVuY3lFeGNlcHRTaXplKCkgY29uc3QKICAg
ICB7CisjaWYgIUFTU0VSVF9ESVNBQkxFRAogICAgICAgICBpZiAoIW1fdGFibGUpCiAgICAgICAg
ICAgICByZXR1cm47CiAKQEAgLTEzNDgsMTUgKzEzMTQsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgIEFTU0VSVChtX3RhYmxlU2l6ZSA+PSBLZXlUcmFpdHM6Om1pbmltdW1UYWJsZVNpemUp
OwogICAgICAgICBBU1NFUlQobV90YWJsZVNpemVNYXNrKTsKICAgICAgICAgQVNTRVJUKG1fdGFi
bGVTaXplID09IG1fdGFibGVTaXplTWFzayArIDEpOwotICAgIH0KLQogI2VuZGlmIC8vIEFTU0VS
VF9ESVNBQkxFRAotCi0jaWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUworICAgIH0KIAogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJhY3Rv
ciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBLZXlU
cmFpdHM+CiAgICAgdm9pZCBIYXNoVGFibGU8S2V5LCBWYWx1ZSwgRXh0cmFjdG9yLCBIYXNoRnVu
Y3Rpb25zLCBUcmFpdHMsIEtleVRyYWl0cz46OmludmFsaWRhdGVJdGVyYXRvcnMoKQogICAgIHsK
KyNpZiBDSEVDS19IQVNIVEFCTEVfSVRFUkFUT1JTCiAgICAgICAgIHN0ZDo6bG9ja19ndWFyZDxM
b2NrPiBsb2NrKCptX211dGV4KTsKICAgICAgICAgY29uc3RfaXRlcmF0b3IqIG5leHQ7CiAgICAg
ICAgIGZvciAoY29uc3RfaXRlcmF0b3IqIHAgPSBtX2l0ZXJhdG9yczsgcDsgcCA9IG5leHQpIHsK
QEAgLTEzNjYsMTIgKzEzMzAsMTQgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAgICBwLT5t
X3ByZXZpb3VzID0gMDsKICAgICAgICAgfQogICAgICAgICBtX2l0ZXJhdG9ycyA9IDA7CisjZW5k
aWYKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXksIHR5cGVuYW1lIFZhbHVlLCB0
eXBlbmFtZSBFeHRyYWN0b3IsIHR5cGVuYW1lIEhhc2hGdW5jdGlvbnMsIHR5cGVuYW1lIFRyYWl0
cywgdHlwZW5hbWUgS2V5VHJhaXRzPgogICAgIHZvaWQgYWRkSXRlcmF0b3IoY29uc3QgSGFzaFRh
YmxlPEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFp
dHM+KiB0YWJsZSwKICAgICAgICAgSGFzaFRhYmxlQ29uc3RJdGVyYXRvcjxLZXksIFZhbHVlLCBF
eHRyYWN0b3IsIEhhc2hGdW5jdGlvbnMsIFRyYWl0cywgS2V5VHJhaXRzPiogaXQpCiAgICAgewor
I2lmIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKICAgICAgICAgaXQtPm1fdGFibGUgPSB0YWJs
ZTsKICAgICAgICAgaXQtPm1fcHJldmlvdXMgPSAwOwogCkBAIC0xMzg4LDExICsxMzU0LDE2IEBA
IG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgICAgIGl0LT5tX25leHQtPm1fcHJldmlvdXMg
PSBpdDsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BB
UkFNKGl0KTsKKyAgICAgICAgVU5VU0VEX1BBUkFNKHRhYmxlKTsKKyNlbmRpZgogICAgIH0KIAog
ICAgIHRlbXBsYXRlPHR5cGVuYW1lIEtleSwgdHlwZW5hbWUgVmFsdWUsIHR5cGVuYW1lIEV4dHJh
Y3RvciwgdHlwZW5hbWUgSGFzaEZ1bmN0aW9ucywgdHlwZW5hbWUgVHJhaXRzLCB0eXBlbmFtZSBL
ZXlUcmFpdHM+CiAgICAgdm9pZCByZW1vdmVJdGVyYXRvcihIYXNoVGFibGVDb25zdEl0ZXJhdG9y
PEtleSwgVmFsdWUsIEV4dHJhY3RvciwgSGFzaEZ1bmN0aW9ucywgVHJhaXRzLCBLZXlUcmFpdHM+
KiBpdCkKICAgICB7CisjaWYgQ0hFQ0tfSEFTSFRBQkxFX0lURVJBVE9SUwogICAgICAgICAvLyBE
ZWxldGUgaXRlcmF0b3IgZnJvbSBkb3VibHktbGlua2VkIGxpc3Qgb2YgaXRlcmF0b3JzLgogICAg
ICAgICBpZiAoIWl0LT5tX3RhYmxlKSB7CiAgICAgICAgICAgICBBU1NFUlQoIWl0LT5tX25leHQp
OwpAQCAtMTQxNiwxMCArMTM4NywxMSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgaXQtPm1f
dGFibGUgPSAwOwogICAgICAgICBpdC0+bV9uZXh0ID0gMDsKICAgICAgICAgaXQtPm1fcHJldmlv
dXMgPSAwOworI2Vsc2UKKyAgICAgICAgVU5VU0VEX1BBUkFNKGl0KTsKKyNlbmRpZgogICAgIH0K
IAotI2VuZGlmIC8vIENIRUNLX0hBU0hUQUJMRV9JVEVSQVRPUlMKLQogICAgIC8vIGl0ZXJhdG9y
IGFkYXB0ZXJzCiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBIYXNoVGFibGVUeXBlLCB0eXBlbmFt
ZSBWYWx1ZVR5cGU+IHN0cnVjdCBIYXNoVGFibGVDb25zdEl0ZXJhdG9yQWRhcHRlciB7Cg==
</data>
<flag name="review"
          id="286003"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>