<?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>128257</bug_id>
          
          <creation_ts>2014-02-05 10:26:42 -0800</creation_ts>
          <short_desc>IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails</short_desc>
          <delta_ts>2014-02-05 15:55:35 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124521</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>alecflett</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>jsbell</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>976799</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-05 10:26:42 -0800</bug_when>
    <thetext>IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails

- The schema of the index record table is out of whack
- We mess up storing auto generated keys in indexes
- After the above are fixed, something is preventing us from returning that auto generated id in the result of an index.get()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977094</commentid>
    <comment_count>1</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-05 15:14:03 -0800</bug_when>
    <thetext>(In reply to comment #0)
&gt; IDB: storage/indexeddb/mozilla/autoincrement-indexes.html fails
&gt; ...
&gt; - After the above are fixed, something is preventing us from returning that auto generated id in the result of an index.get()

This was because the IDBGetResult shipped back from the database process did not contain the object store key path when it was needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977097</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-02-05 15:21:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/15995237&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977099</commentid>
    <comment_count>3</comment_count>
      <attachid>223271</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-05 15:24:16 -0800</bug_when>
    <thetext>Created attachment 223271
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977103</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-02-05 15:26:23 -0800</bug_when>
    <thetext>Attachment 223271 did not pass style-queue:


ERROR: Source/WebKit2/DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:77:  The parameter name &quot;result&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabaseBackingStore.h:74:  The parameter name &quot;result&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>977115</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-02-05 15:55:35 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/163482</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>223271</attachid>
            <date>2014-02-05 15:24:16 -0800</date>
            <delta_ts>2014-02-05 15:49:35 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>21048</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAxMDFmODhkLi42ZDQzZjAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDIt
MDUgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIElEQjogc3Rv
cmFnZS9pbmRleGVkZGIvbW96aWxsYS9hdXRvaW5jcmVtZW50LWluZGV4ZXMuaHRtbCBmYWlscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI4MjU3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6IEVuYWJsZSB0aGUgdGVzdC4KKwogMjAxNC0wMi0w
NCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgSURCOiBpbmRl
eGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1sIGZhaWxzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOWM3OTQ4ZC4uYmYyMDQ0
MyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtNDY3LDYgKzQ2Nyw4IEBAIGZ1bGxzY3JlZW4vYW5vbnltb3VzLWJsb2NrLW1lcmdlLWNyYXNo
Lmh0bWwgWyBQYXNzIF0KICMgQWxsIEluZGV4ZWREQiB0ZXN0cyBhcmUgc2tpcHBlZCBpbiBXSzEu
CiAjIFJlZW5hYmxlIGluZGl2aWR1YWwgdGVzdHMgaGVyZSB0aGF0IGFyZSBrbm93biB0byBwYXNz
LCB3aXRoIHRoZSBldmVudHVhbCBnb2FsIG9mIHJlLWVuYWJsaW5nIHRoZSBlbnRpcmUgZGlyZWN0
b3J5Lgogc3RvcmFnZS9pbmRleGVkZGIvbW96aWxsYS9hZGQtdHdpY2UtZmFpbHVyZS5odG1sIFsg
UGFzcyBdCitzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5kZXhlcy5o
dG1sIFsgUGFzcyBdCisKIAogIyMjIEVORCBPRiAoNSkgRmVhdHVyZXMgdGhhdCBhcmUgbm90IHN1
cHBvcnRlZCBpbiBXZWJLaXQxLCBzbyBza2lwcGVkIGluIG1hYy9UZXN0RXhwZWN0YXRpb25zIHRo
ZW4gcmUtZW5hYmxlZCBoZXJlCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggNzdlNTE4MC4uZWJiNmRjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIyIEBACisyMDE0LTAyLTA1ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwor
ICAgICAgICBJREI6IHN0b3JhZ2UvaW5kZXhlZGRiL21vemlsbGEvYXV0b2luY3JlbWVudC1pbmRl
eGVzLmh0bWwgZmFpbHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEyODI1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3RzOiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1dG9pbmNyZW1lbnQtaW5k
ZXhlcy5odG1sCisKKyAgICAgICAgQWRkIHNvbWUgSURCS2V5RGF0YSB1dGlsaXR5IG1ldGhvZHMg
Zm9yIFdLMiB0byB1c2U6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlEYXRhOjpzZXRBcnJheVZhbHVlKToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQktleURhdGE6OnNldFN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQktleURhdGE6OnNldERhdGVWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlE
YXRhOjpzZXROdW1iZXJWYWx1ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5
RGF0YS5oOgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisKIDIwMTQtMDItMDQgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIElEQjogaW5kZXhlZGRiL21v
emlsbGEvYWRkLXR3aWNlLWZhaWx1cmUuaHRtbCBmYWlscwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcAppbmRleCBmNzU3ODFkLi4xOTcxMTQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmNwcApA
QCAtMjgxLDYgKzI4MSwzOCBAQCBTdHJpbmcgSURCS2V5RGF0YTo6bG9nZ2luZ1N0cmluZygpIGNv
bnN0CiB9CiAjZW5kaWYKIAordm9pZCBJREJLZXlEYXRhOjpzZXRBcnJheVZhbHVlKGNvbnN0IFZl
Y3RvcjxJREJLZXlEYXRhPiYgdmFsdWUpCit7CisgICAgKnRoaXMgPSBJREJLZXlEYXRhKCk7Cisg
ICAgYXJyYXlWYWx1ZSA9IHZhbHVlOworICAgIHR5cGUgPSBJREJLZXk6OkFycmF5VHlwZTsKKyAg
ICBpc051bGwgPSBmYWxzZTsKK30KKwordm9pZCBJREJLZXlEYXRhOjpzZXRTdHJpbmdWYWx1ZShj
b25zdCBTdHJpbmcmIHZhbHVlKQoreworICAgICp0aGlzID0gSURCS2V5RGF0YSgpOworICAgIHN0
cmluZ1ZhbHVlID0gdmFsdWU7CisgICAgdHlwZSA9IElEQktleTo6U3RyaW5nVHlwZTsKKyAgICBp
c051bGwgPSBmYWxzZTsKK30KKwordm9pZCBJREJLZXlEYXRhOjpzZXREYXRlVmFsdWUoZG91Ymxl
IHZhbHVlKQoreworICAgICp0aGlzID0gSURCS2V5RGF0YSgpOworICAgIG51bWJlclZhbHVlID0g
dmFsdWU7CisgICAgdHlwZSA9IElEQktleTo6RGF0ZVR5cGU7CisgICAgaXNOdWxsID0gZmFsc2U7
Cit9CisKK3ZvaWQgSURCS2V5RGF0YTo6c2V0TnVtYmVyVmFsdWUoZG91YmxlIHZhbHVlKQorewor
ICAgICp0aGlzID0gSURCS2V5RGF0YSgpOworICAgIG51bWJlclZhbHVlID0gdmFsdWU7CisgICAg
dHlwZSA9IElEQktleTo6TnVtYmVyVHlwZTsKKyAgICBpc051bGwgPSBmYWxzZTsKK30KKwogfQog
CiAjZW5kaWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlEYXRhLmgKaW5kZXggOGVmMTcwZC4uYzU5NjFkNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5RGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleURhdGEuaApAQCAtNTgs
NiArNTgsMTEgQEAgc3RydWN0IElEQktleURhdGEgewogICAgIC8vICAgLSBSZXR1cm5zIHplcm8g
aWYgdGhpcyBJREJLZXlEYXRhIGlzIGVxdWFsIHRvIG90aGVyLgogICAgIGludCBjb21wYXJlKGNv
bnN0IElEQktleURhdGEmIG90aGVyKSBjb25zdDsKIAorICAgIHZvaWQgc2V0QXJyYXlWYWx1ZShj
b25zdCBWZWN0b3I8SURCS2V5RGF0YT4mKTsKKyAgICB2b2lkIHNldFN0cmluZ1ZhbHVlKGNvbnN0
IFN0cmluZyYpOworICAgIHZvaWQgc2V0RGF0ZVZhbHVlKGRvdWJsZSk7CisgICAgdm9pZCBzZXRO
dW1iZXJWYWx1ZShkb3VibGUpOworCiAjaWZuZGVmIE5ERUJVRwogICAgIFN0cmluZyBsb2dnaW5n
U3RyaW5nKCkgY29uc3Q7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggY2VjYWZmYS4u
NmU4NmEyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTMxMDEsNiArMzEwMSw3IEBAIF9fWk5L
N1dlYkNvcmUxMUlEQktleVJhbmdlOWlzT25seUtleUV2CiBfX1pOSzdXZWJDb3JlMTVJREJLZXlS
YW5nZURhdGExNWlzRXhhY3RseU9uZUtleUV2CiBfX1pOSzdXZWJDb3JlMTVJREJLZXlSYW5nZURh
dGEyMm1heWJlQ3JlYXRlSURCS2V5UmFuZ2VFdgogX19aTks3V2ViQ29yZTZJREJLZXk3aXNWYWxp
ZEV2CitfX1pON1dlYkNvcmUxMElEQktleURhdGExNHNldE51bWJlclZhbHVlRWQKIF9fWk43V2Vi
Q29yZTEwSURCS2V5RGF0YTZkZWNvZGVFUk5TXzEyS2V5ZWREZWNvZGVyRVJTMF8KIF9fWk43V2Vi
Q29yZTEwSURCS2V5RGF0YUMxRVBLTlNfNklEQktleUUKIF9fWk43V2ViQ29yZTEwSURCS2V5UGF0
aEMxRVJLTjNXVEY2U3RyaW5nRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc4NTRmZjQuLjliNDkxZDAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAxNC0wMi0wNSAgQnJhZHkgRWlkc29uICA8YmVpZHNv
bkBhcHBsZS5jb20+CisKKyAgICAgICAgSURCOiBzdG9yYWdlL2luZGV4ZWRkYi9tb3ppbGxhL2F1
dG9pbmNyZW1lbnQtaW5kZXhlcy5odG1sIGZhaWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjgyNTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVl
SURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpVbmlxdWVJREJEYXRhYmFzZTo6cHV0
UmVjb3JkSW5CYWNraW5nU3RvcmUpOiBXcml0ZSB0aGUgY29ycmVjdCBrZXkgdG8gdGhlIGluZGV4
IGlmIGl0IHdhcyBhdXRvIGdlbmVyYXRlZC4KKyAgICAgICAgKFdlYktpdDo6VW5pcXVlSURCRGF0
YWJhc2U6OmdldFJlY29yZEZyb21CYWNraW5nU3RvcmUpOiBJZiB0aGlzIGlzIGFuIGF1dG8gaW5j
cmVtZW50IG9iamVjdCBzdG9yZSB3aXRoCisgICAgICAgICAgYSBub24tZW1wdHkga2V5IHBhdGgs
IHNhdmUgdGhlIGtleSBwYXRoIHRvIHRoZSBnZXQgcmVzdWx0LgorCisgICAgICAgICogRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZS5oOgorICAg
ICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1VuaXF1ZUlEQkRhdGFiYXNl
QmFja2luZ1N0b3JlU1FMaXRlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6VW5pcXVlSURCRGF0YWJh
c2VCYWNraW5nU3RvcmVTUUxpdGU6OmNyZWF0ZUFuZFBvcHVsYXRlSW5pdGlhbE1ldGFkYXRhKTog
VXBkYXRlIGEgTE9HX0VSUk9SLgorICAgICAgICAoV2ViS2l0OjpVbmlxdWVJREJEYXRhYmFzZUJh
Y2tpbmdTdG9yZVNRTGl0ZTo6cHV0UmVjb3JkKTogVGFrZSBJREJLZXlEYXRhIGluc3RlYWQgb2Yg
SURCS2V5LgorICAgICAgICAoV2ViS2l0OjpVbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNR
TGl0ZTo6Z2V0SW5kZXhSZWNvcmQpOiBGaWxsIGluIHRoZSBwcmltYXJ5IGtleSBmcm9tIHRoZSBm
ZXRjaC4KKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9VbmlxdWVJ
REJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZS5oOgorCiAyMDE0LTAyLTA0ICBCcmFkeSBFaWRz
b24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBJREI6IGluZGV4ZWRkYi9tb3ppbGxh
L2FkZC10d2ljZS1mYWlsdXJlLmh0bWwgZmFpbHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5jcHAK
aW5kZXggY2FkZmI5Mi4uOTJhNTliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5jcHAKQEAg
LTgxMywzMSArODEzLDI4IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmRlbGV0ZUluZGV4SW5C
YWNraW5nU3RvcmUodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBJREJJCiAgICAgcG9zdE1haW5U
aHJlYWRUYXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRE
ZWxldGVJbmRleCwgcmVxdWVzdElELCBzdWNjZXNzKSk7CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0
YWJhc2U6OnB1dFJlY29yZEluQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3Qg
SURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb24sIGNvbnN0IElEQk9iamVjdFN0b3JlTWV0YWRhdGEm
IG9iamVjdFN0b3JlTWV0YWRhdGEsIGNvbnN0IElEQktleURhdGEmIGtleURhdGEsIGNvbnN0IFZl
Y3Rvcjx1aW50OF90PiYgdmFsdWUsIGludDY0X3QgcHV0TW9kZSwgY29uc3QgVmVjdG9yPGludDY0
X3Q+JiBpbmRleElEcywgY29uc3QgVmVjdG9yPFZlY3RvcjxJREJLZXlEYXRhPj4mIGluZGV4S2V5
cykKK3ZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OnB1dFJlY29yZEluQmFja2luZ1N0b3JlKHVpbnQ2
NF90IHJlcXVlc3RJRCwgY29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb24sIGNvbnN0IElE
Qk9iamVjdFN0b3JlTWV0YWRhdGEmIG9iamVjdFN0b3JlTWV0YWRhdGEsIGNvbnN0IElEQktleURh
dGEmIGlucHV0S2V5RGF0YSwgY29uc3QgVmVjdG9yPHVpbnQ4X3Q+JiB2YWx1ZSwgaW50NjRfdCBw
dXRNb2RlLCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIGluZGV4SURzLCBjb25zdCBWZWN0b3I8VmVj
dG9yPElEQktleURhdGE+PiYgaW5kZXhLZXlzKQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFk
KCkpOwogICAgIEFTU0VSVChtX2JhY2tpbmdTdG9yZSk7CiAKICAgICBib29sIGtleVdhc0dlbmVy
YXRlZCA9IGZhbHNlOwotICAgIFJlZlB0cjxJREJLZXk+IGtleTsKKyAgICBJREJLZXlEYXRhIGtl
eTsKICAgICBpbnQ2NF90IGtleU51bWJlciA9IDA7CiAKLSAgICBpZiAocHV0TW9kZSAhPSBJREJE
YXRhYmFzZUJhY2tlbmQ6OkN1cnNvclVwZGF0ZSAmJiBvYmplY3RTdG9yZU1ldGFkYXRhLmF1dG9J
bmNyZW1lbnQgJiYga2V5RGF0YS5pc051bGwpIHsKKyAgICBpZiAocHV0TW9kZSAhPSBJREJEYXRh
YmFzZUJhY2tlbmQ6OkN1cnNvclVwZGF0ZSAmJiBvYmplY3RTdG9yZU1ldGFkYXRhLmF1dG9JbmNy
ZW1lbnQgJiYgaW5wdXRLZXlEYXRhLmlzTnVsbCkgewogICAgICAgICBpZiAoIW1fYmFja2luZ1N0
b3JlLT5nZW5lcmF0ZUtleU51bWJlcih0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVNZXRhZGF0YS5p
ZCwga2V5TnVtYmVyKSkgewogICAgICAgICAgICAgcG9zdE1haW5UaHJlYWRUYXNrKGNyZWF0ZUFz
eW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQdXRSZWNvcmRJbkJhY2tpbmdT
dG9yZSwgcmVxdWVzdElELCBJREJLZXlEYXRhKCksIElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtu
b3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiSW50ZXJuYWwgYmFja2luZyBzdG9yZSBlcnJvciBjaGVj
a2luZyBmb3Iga2V5IGV4aXN0ZW5jZSIpKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KLSAgICAgICAga2V5ID0gSURCS2V5OjpjcmVhdGVOdW1iZXIoa2V5TnVtYmVyKTsKKyAgICAg
ICAga2V5LnNldE51bWJlclZhbHVlKGtleU51bWJlcik7CiAgICAgICAgIGtleVdhc0dlbmVyYXRl
ZCA9IHRydWU7CiAgICAgfSBlbHNlCi0gICAgICAgIGtleSA9IGtleURhdGEubWF5YmVDcmVhdGVJ
REJLZXkoKTsKLQotICAgIEFTU0VSVChrZXkpOwotICAgIEFTU0VSVChrZXktPmlzVmFsaWQoKSk7
CisgICAgICAgIGtleSA9IGlucHV0S2V5RGF0YTsKIAogICAgIGlmIChwdXRNb2RlID09IElEQkRh
dGFiYXNlQmFja2VuZDo6QWRkT25seSkgewogICAgICAgICBib29sIGtleUV4aXN0czsKLSAgICAg
ICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+a2V5RXhpc3RzSW5PYmplY3RTdG9yZSh0cmFuc2FjdGlv
biwgb2JqZWN0U3RvcmVNZXRhZGF0YS5pZCwga2V5RGF0YSwga2V5RXhpc3RzKSkgeworICAgICAg
ICBpZiAoIW1fYmFja2luZ1N0b3JlLT5rZXlFeGlzdHNJbk9iamVjdFN0b3JlKHRyYW5zYWN0aW9u
LCBvYmplY3RTdG9yZU1ldGFkYXRhLmlkLCBrZXksIGtleUV4aXN0cykpIHsKICAgICAgICAgICAg
IHBvc3RNYWluVGhyZWFkVGFzayhjcmVhdGVBc3luY1Rhc2soKnRoaXMsICZVbmlxdWVJREJEYXRh
YmFzZTo6ZGlkUHV0UmVjb3JkSW5CYWNraW5nU3RvcmUsIHJlcXVlc3RJRCwgSURCS2V5RGF0YSgp
LCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIkludGVy
bmFsIGJhY2tpbmcgc3RvcmUgZXJyb3IgY2hlY2tpbmcgZm9yIGtleSBleGlzdGVuY2UiKSkpOwog
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CkBAIC04NDksMTIgKzg0NiwxMiBAQCB2b2lk
IFVuaXF1ZUlEQkRhdGFiYXNlOjpwdXRSZWNvcmRJbkJhY2tpbmdTdG9yZSh1aW50NjRfdCByZXF1
ZXN0SUQsIGNvbnN0IElEQklkZQogCiAgICAgLy8gVGhlIHNwZWMgc2F5cyB0aGF0IGV2ZW4gaWYg
d2UncmUgYWJvdXQgdG8gb3ZlcndyaXRlIHRoZSByZWNvcmQsIHBlcmZvcm0gdGhlIHN0ZXBzIHRv
IGRlbGV0ZSBpdCBmaXJzdC4KICAgICAvLyBUaGlzIGlzIGltcG9ydGFudCBiZWNhdXNlIGZvcm1h
bGx5IGRlbGV0aW5nIGl0IGZyb20gZnJvbSB0aGUgb2JqZWN0IHN0b3JlIGFsc28gcmVtb3ZlcyBp
dCBmcm9tIHRoZSBhcHByb3ByaWF0ZSBpbmRleGVzLgotICAgIGlmICghbV9iYWNraW5nU3RvcmUt
PmRlbGV0ZVJlY29yZCh0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVNZXRhZGF0YS5pZCwga2V5RGF0
YSkpIHsKKyAgICBpZiAoIW1fYmFja2luZ1N0b3JlLT5kZWxldGVSZWNvcmQodHJhbnNhY3Rpb24s
IG9iamVjdFN0b3JlTWV0YWRhdGEuaWQsIGtleSkpIHsKICAgICAgICAgcG9zdE1haW5UaHJlYWRU
YXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQdXRSZWNv
cmRJbkJhY2tpbmdTdG9yZSwgcmVxdWVzdElELCBJREJLZXlEYXRhKCksIElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiUmVwbGFjaW5nIGFuIGV4aXN0aW5n
IGtleSBpbiBiYWNraW5nIHN0b3JlLCB1bmFibGUgdG8gZGVsZXRlIHByZXZpb3VzIHJlY29yZC4i
KSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+
cHV0UmVjb3JkKHRyYW5zYWN0aW9uLCBvYmplY3RTdG9yZU1ldGFkYXRhLmlkLCAqa2V5LCB2YWx1
ZS5kYXRhKCksIHZhbHVlLnNpemUoKSkpIHsKKyAgICBpZiAoIW1fYmFja2luZ1N0b3JlLT5wdXRS
ZWNvcmQodHJhbnNhY3Rpb24sIG9iamVjdFN0b3JlTWV0YWRhdGEuaWQsIGtleSwgdmFsdWUuZGF0
YSgpLCB2YWx1ZS5zaXplKCkpKSB7CiAgICAgICAgIHBvc3RNYWluVGhyZWFkVGFzayhjcmVhdGVB
c3luY1Rhc2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFzZTo6ZGlkUHV0UmVjb3JkSW5CYWNraW5n
U3RvcmUsIHJlcXVlc3RJRCwgSURCS2V5RGF0YSgpLCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5r
bm93bkVycm9yLCBBU0NJSUxpdGVyYWwoIkludGVybmFsIGJhY2tpbmcgc3RvcmUgZXJyb3IgcHV0
dGluZyBhIHJlY29yZCIpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC04NjIsMjEgKzg1
OSwyMSBAQCB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpwdXRSZWNvcmRJbkJhY2tpbmdTdG9yZSh1
aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IElEQklkZQogICAgIEFTU0VSVChpbmRleElEcy5zaXpl
KCkgPT0gaW5kZXhLZXlzLnNpemUoKSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBpbmRl
eElEcy5zaXplKCk7ICsraSkgewogICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IGluZGV4
S2V5c1tpXS5zaXplKCk7ICsraikgewotICAgICAgICAgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+
cHV0SW5kZXhSZWNvcmQodHJhbnNhY3Rpb24sIG9iamVjdFN0b3JlTWV0YWRhdGEuaWQsIGluZGV4
SURzW2ldLCBrZXlEYXRhLCBpbmRleEtleXNbaV1bal0pKSB7CisgICAgICAgICAgICBpZiAoIW1f
YmFja2luZ1N0b3JlLT5wdXRJbmRleFJlY29yZCh0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVNZXRh
ZGF0YS5pZCwgaW5kZXhJRHNbaV0sIGtleSwgaW5kZXhLZXlzW2ldW2pdKSkgewogICAgICAgICAg
ICAgICAgIHBvc3RNYWluVGhyZWFkVGFzayhjcmVhdGVBc3luY1Rhc2soKnRoaXMsICZVbmlxdWVJ
REJEYXRhYmFzZTo6ZGlkUHV0UmVjb3JkSW5CYWNraW5nU3RvcmUsIHJlcXVlc3RJRCwgSURCS2V5
RGF0YSgpLCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxpdGVyYWwo
IkludGVybmFsIGJhY2tpbmcgc3RvcmUgZXJyb3Igd3JpdGluZyBpbmRleCBrZXkiKSkpOwogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIAot
ICAgIGlmIChwdXRNb2RlICE9IElEQkRhdGFiYXNlQmFja2VuZDo6Q3Vyc29yVXBkYXRlICYmIG9i
amVjdFN0b3JlTWV0YWRhdGEuYXV0b0luY3JlbWVudCAmJiBrZXktPnR5cGUoKSA9PSBJREJLZXk6
Ok51bWJlclR5cGUpIHsKKyAgICBpZiAocHV0TW9kZSAhPSBJREJEYXRhYmFzZUJhY2tlbmQ6OkN1
cnNvclVwZGF0ZSAmJiBvYmplY3RTdG9yZU1ldGFkYXRhLmF1dG9JbmNyZW1lbnQgJiYga2V5LnR5
cGUgPT0gSURCS2V5OjpOdW1iZXJUeXBlKSB7CiAgICAgICAgIGlmICghbV9iYWNraW5nU3RvcmUt
PnVwZGF0ZUtleUdlbmVyYXRvck51bWJlcih0cmFuc2FjdGlvbiwgb2JqZWN0U3RvcmVNZXRhZGF0
YS5pZCwga2V5TnVtYmVyLCBrZXlXYXNHZW5lcmF0ZWQpKSB7CiAgICAgICAgICAgICBwb3N0TWFp
blRocmVhZFRhc2soY3JlYXRlQXN5bmNUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OmRp
ZFB1dFJlY29yZEluQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIElEQktleURhdGEoKSwgSURCRGF0
YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVNDSUlMaXRlcmFsKCJJbnRlcm5hbCBiYWNr
aW5nIHN0b3JlIGVycm9yIHVwZGF0aW5nIGtleSBnZW5lcmF0b3IiKSkpOwogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgfQogCi0gICAgcG9zdE1haW5UaHJlYWRUYXNrKGNyZWF0
ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRQdXRSZWNvcmRJbkJhY2tp
bmdTdG9yZSwgcmVxdWVzdElELCBJREJLZXlEYXRhKGtleS5nZXQoKSksIDAsIFN0cmluZyhTdHJp
bmdJbXBsOjplbXB0eSgpKSkpOworICAgIHBvc3RNYWluVGhyZWFkVGFzayhjcmVhdGVBc3luY1Rh
c2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFzZTo6ZGlkUHV0UmVjb3JkSW5CYWNraW5nU3RvcmUs
IHJlcXVlc3RJRCwga2V5LCAwLCBTdHJpbmcoU3RyaW5nSW1wbDo6ZW1wdHkoKSkpKTsKIH0KIAog
dm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6ZGlkUHV0UmVjb3JkSW5CYWNraW5nU3RvcmUodWludDY0
X3QgcmVxdWVzdElELCBjb25zdCBJREJLZXlEYXRhJiBrZXlEYXRhLCB1aW50MzJfdCBlcnJvckNv
ZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQpAQCAtOTI0LDEzICs5MjEsMTggQEAgdm9p
ZCBVbmlxdWVJREJEYXRhYmFzZTo6Z2V0UmVjb3JkRnJvbUJhY2tpbmdTdG9yZSh1aW50NjRfdCBy
ZXF1ZXN0SUQsIGNvbnN0IElEQkkKIAogICAgIC8vIElEQkluZGV4IGdldCByZWNvcmQKIAotICAg
IFJlZlB0cjxTaGFyZWRCdWZmZXI+IHJlc3VsdDsKKyAgICBJREJHZXRSZXN1bHQgcmVzdWx0Owog
ICAgIGlmICghbV9iYWNraW5nU3RvcmUtPmdldEluZGV4UmVjb3JkKHRyYW5zYWN0aW9uLCBvYmpl
Y3RTdG9yZU1ldGFkYXRhLmlkLCBpbmRleElELCBrZXlSYW5nZURhdGEsIHJlc3VsdCkpIHsKICAg
ICAgICAgcG9zdE1haW5UaHJlYWRUYXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlE
QkRhdGFiYXNlOjpkaWRHZXRSZWNvcmRGcm9tQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIElEQkdl
dFJlc3VsdCgpLCBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCBBU0NJSUxpdGVy
YWwoIkZhaWxlZCB0byBnZXQgaW5kZXggcmVjb3JkIGZyb20gYmFja2luZyBzdG9yZSIpKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBwb3N0TWFpblRocmVhZFRhc2soY3JlYXRlQXN5
bmNUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OmRpZEdldFJlY29yZEZyb21CYWNraW5n
U3RvcmUsIHJlcXVlc3RJRCwgSURCR2V0UmVzdWx0KHJlc3VsdC5yZWxlYXNlKCkpLCAwLCBTdHJp
bmcoU3RyaW5nSW1wbDo6ZW1wdHkoKSkpKTsKKyAgICAvLyBBIGdldCByZXF1ZXN0IHRoYXQgbWVl
dHMgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIG5lZWRzIHRvIGtub3cgdGhlIG9iamVjdCBzdG9y
ZSBrZXlwYXRoCisgICAgLy8gdG8gaW5qZWN0IHRoZSByZXN1bHQga2V5IGludG8gdGhlIHJlc3Vs
dCB2YWx1ZSBvYmplY3QuCisgICAgaWYgKG9iamVjdFN0b3JlTWV0YWRhdGEuYXV0b0luY3JlbWVu
dCAmJiAhb2JqZWN0U3RvcmVNZXRhZGF0YS5rZXlQYXRoLmlzTnVsbCgpKQorICAgICAgICByZXN1
bHQua2V5UGF0aCA9IG9iamVjdFN0b3JlTWV0YWRhdGEua2V5UGF0aDsKKworICAgIHBvc3RNYWlu
VGhyZWFkVGFzayhjcmVhdGVBc3luY1Rhc2soKnRoaXMsICZVbmlxdWVJREJEYXRhYmFzZTo6ZGlk
R2V0UmVjb3JkRnJvbUJhY2tpbmdTdG9yZSwgcmVxdWVzdElELCByZXN1bHQsIDAsIFN0cmluZyhT
dHJpbmdJbXBsOjplbXB0eSgpKSkpOwogfQogCiB2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRH
ZXRSZWNvcmRGcm9tQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgSURCR2V0
UmVzdWx0JiByZXN1bHQsIHVpbnQzMl90IGVycm9yQ29kZSwgY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhl
ZERCL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRh
YmFzZVByb2Nlc3MvSW5kZXhlZERCL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlLmgKaW5k
ZXggNGI3NTlkYy4uMTk4NmEzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQ
cm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0YWJhc2VC
YWNraW5nU3RvcmUuaApAQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBJREJLZXlSYW5nZTsKIGNsYXNz
IFNoYXJlZEJ1ZmZlcjsKIAogc3RydWN0IElEQkRhdGFiYXNlTWV0YWRhdGE7CitzdHJ1Y3QgSURC
R2V0UmVzdWx0Owogc3RydWN0IElEQktleURhdGE7CiBzdHJ1Y3QgSURCT2JqZWN0U3RvcmVNZXRh
ZGF0YTsKIH0KQEAgLTY4LDkgKzY5LDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1cGRh
dGVLZXlHZW5lcmF0b3JOdW1iZXIoY29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3Qga2V5TnVtYmVyLCBib29sIGNo
ZWNrQ3VycmVudCkgPSAwOwogCiAgICAgdmlydHVhbCBib29sIGtleUV4aXN0c0luT2JqZWN0U3Rv
cmUoY29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9i
amVjdFN0b3JlSUQsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmLCBib29sJiBrZXlFeGlzdHMp
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgcHV0UmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRy
YW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBXZWJDb3Jl
OjpJREJLZXkmLCBjb25zdCB1aW50OF90KiB2YWx1ZUJ1ZmZlciwgc2l6ZV90IHZhbHVlU2l6ZSkg
PSAwOworICAgIHZpcnR1YWwgYm9vbCBwdXRSZWNvcmQoY29uc3QgSURCSWRlbnRpZmllciYgdHJh
bnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGNvbnN0IFdlYkNvcmU6
OklEQktleURhdGEmLCBjb25zdCB1aW50OF90KiB2YWx1ZUJ1ZmZlciwgc2l6ZV90IHZhbHVlU2l6
ZSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBwdXRJbmRleFJlY29yZChjb25zdCBJREJJZGVudGlm
aWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRf
dCBpbmRleElELCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiwgY29uc3QgV2ViQ29yZTo6SURC
S2V5RGF0YSYgaW5kZXhLZXkpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgZ2V0SW5kZXhSZWNvcmQo
Y29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVj
dFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRh
JiwgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mIHJlc3VsdCkgPSAwOworICAgIHZpcnR1
YWwgYm9vbCBnZXRJbmRleFJlY29yZChjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBjb25zdCBX
ZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmLCBXZWJDb3JlOjpJREJHZXRSZXN1bHQmIHJlc3VsdCkg
PSAwOwogICAgIHZpcnR1YWwgYm9vbCBkZWxldGVSYW5nZShjb25zdCBJREJJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgV2ViQ29y
ZTo6SURCS2V5UmFuZ2VEYXRhJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBkZWxldGVSZWNvcmQo
Y29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVj
dFN0b3JlSUQsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmKSA9IDA7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1VuaXF1ZUlE
QkRhdGFiYXNlQmFja2luZ1N0b3JlU1FMaXRlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNl
UHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlU1FM
aXRlLmNwcAppbmRleCA2MzYyODA5Li5lMDVhM2Y2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9VbmlxdWVJREJEYXRhYmFzZUJhY2tp
bmdTdG9yZVNRTGl0ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0lu
ZGV4ZWREQi9zcWxpdGUvVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGUuY3BwCkBA
IC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiU1FMaXRlSURCVHJhbnNhY3Rpb24uaCIKICNpbmNs
dWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0lEQkRhdGFiYXNl
TWV0YWRhdGEuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0lEQkdldFJlc3VsdC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvSURCS2V5RGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSURCS2V5UmFuZ2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1NRTGl0ZURhdGFiYXNlLmg+CkBAIC0xMDMsOCArMTA0LDggQEAg
c3RkOjp1bmlxdWVfcHRyPElEQkRhdGFiYXNlTWV0YWRhdGE+IFVuaXF1ZUlEQkRhdGFiYXNlQmFj
a2luZ1N0b3JlU1FMaXRlOjpjcmVhdGUKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQog
Ci0gICAgaWYgKCFtX3NxbGl0ZURCLT5leGVjdXRlQ29tbWFuZCgiQ1JFQVRFIFRBQkxFIEluZGV4
UmVjb3JkcyAoaW5kZXhJRCBJTlRFR0VSIE5PVCBOVUxMIE9OIENPTkZMSUNUIEZBSUwsIG9iamVj
dFN0b3JlSUQgSU5URUdFUiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBrZXkgVEVYVCBDT0xM
QVRFIElEQktFWSBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMIFVOSVFVRSBPTiBDT05GTElDVCBS
RVBMQUNFLCB2YWx1ZSBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMKTsiKSkgewotICAgICAgICBM
T0dfRVJST1IoIkNvdWxkIG5vdCBjcmVhdGUgUmVjb3JkcyB0YWJsZSBpbiBkYXRhYmFzZSAoJWkp
IC0gJXMiLCBtX3NxbGl0ZURCLT5sYXN0RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9yTXNn
KCkpOworICAgIGlmICghbV9zcWxpdGVEQi0+ZXhlY3V0ZUNvbW1hbmQoIkNSRUFURSBUQUJMRSBJ
bmRleFJlY29yZHMgKGluZGV4SUQgSU5URUdFUiBOT1QgTlVMTCBPTiBDT05GTElDVCBGQUlMLCBv
YmplY3RTdG9yZUlEIElOVEVHRVIgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwga2V5IFRFWFQg
Q09MTEFURSBJREJLRVkgTk9UIE5VTEwgT04gQ09ORkxJQ1QgRkFJTCwgdmFsdWUgTk9UIE5VTEwg
T04gQ09ORkxJQ1QgRkFJTCk7IikpIHsKKyAgICAgICAgTE9HX0VSUk9SKCJDb3VsZCBub3QgY3Jl
YXRlIEluZGV4UmVjb3JkcyB0YWJsZSBpbiBkYXRhYmFzZSAoJWkpIC0gJXMiLCBtX3NxbGl0ZURC
LT5sYXN0RXJyb3IoKSwgbV9zcWxpdGVEQi0+bGFzdEVycm9yTXNnKCkpOwogICAgICAgICBtX3Nx
bGl0ZURCID0gbnVsbHB0cjsKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgfQpAQCAtNzcy
LDcgKzc3Myw3IEBAIGJvb2wgVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6Omtl
eUV4aXN0c0luT2JqZWN0U3RvcmUoY29uc3QgSURCSWRlbnRpCiAgICAgcmV0dXJuIHRydWU7CiB9
CiAKLWJvb2wgVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6OnB1dFJlY29yZChj
b25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0
U3RvcmVJRCwgY29uc3QgSURCS2V5JiBrZXksIGNvbnN0IHVpbnQ4X3QqIHZhbHVlQnVmZmVyLCBz
aXplX3QgdmFsdWVTaXplKQorYm9vbCBVbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0
ZTo6cHV0UmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwg
aW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBJREJLZXlEYXRhJiBrZXlEYXRhLCBjb25zdCB1
aW50OF90KiB2YWx1ZUJ1ZmZlciwgc2l6ZV90IHZhbHVlU2l6ZSkKIHsKICAgICBBU1NFUlQoIWlz
TWFpblRocmVhZCgpKTsKICAgICBBU1NFUlQobV9zcWxpdGVEQik7CkBAIC03ODgsNyArNzg5LDcg
QEAgYm9vbCBVbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZTo6cHV0UmVjb3JkKGNv
bnN0IElEQklkZW50aWZpZXImIHRyYW5zYWMKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0K
IAotICAgIFJlZlB0cjxTaGFyZWRCdWZmZXI+IGtleUJ1ZmZlciA9IHNlcmlhbGl6ZUlEQktleURh
dGEoSURCS2V5RGF0YSgma2V5KSk7CisgICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4ga2V5QnVmZmVy
ID0gc2VyaWFsaXplSURCS2V5RGF0YShrZXlEYXRhKTsKICAgICBpZiAoIWtleUJ1ZmZlcikgewog
ICAgICAgICBMT0dfRVJST1IoIlVuYWJsZSB0byBzZXJpYWxpemUgSURCS2V5IHRvIGJlIHN0b3Jl
ZCBpbiB0aGUgZGF0YWJhc2UiKTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtODUxLDcgKzg1
Miw3IEBAIGJvb2wgVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6OnB1dEluZGV4
UmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRyCiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJv
b2wgVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6OmdldEluZGV4UmVjb3JkKGNv
bnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RT
dG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNvbnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2VE
YXRhLCBSZWZQdHI8U2hhcmVkQnVmZmVyPiYgcmVzdWx0KQorYm9vbCBVbmlxdWVJREJEYXRhYmFz
ZUJhY2tpbmdTdG9yZVNRTGl0ZTo6Z2V0SW5kZXhSZWNvcmQoY29uc3QgSURCSWRlbnRpZmllciYg
dHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGludDY0X3QgaW5k
ZXhJRCwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBrZXlSYW5nZURhdGEsIElEQkdldFJlc3VsdCYg
cmVzdWx0KQogewogICAgIEFTU0VSVCghaXNNYWluVGhyZWFkKCkpOwogICAgIEFTU0VSVChtX3Nx
bGl0ZURCKTsKQEAgLTg3Myw3ICs4NzQsOCBAQCBib29sIFVuaXF1ZUlEQkRhdGFiYXNlQmFja2lu
Z1N0b3JlU1FMaXRlOjpnZXRJbmRleFJlY29yZChjb25zdCBJREJJZGVudGlmaWVyJiB0cgogICAg
IC8vIEV2ZW4gdGhvdWdoIHdlJ3JlIG9ubHkgdXNpbmcgdGhpcyBjdXJzb3IgbG9jYWxseSwgYWRk
IGl0IHRvIG91ciBjdXJzb3Igc2V0LgogICAgIG1fY3Vyc29ycy5zZXQoY3Vyc29yLT5pZGVudGlm
aWVyKCksIGN1cnNvcik7CiAKLSAgICByZXN1bHQgPSBTaGFyZWRCdWZmZXI6OmNyZWF0ZShjdXJz
b3ItPmN1cnJlbnRWYWx1ZUJ1ZmZlcigpLmRhdGEoKSwgY3Vyc29yLT5jdXJyZW50VmFsdWVCdWZm
ZXIoKS5zaXplKCkpOworICAgIHJlc3VsdCA9IElEQkdldFJlc3VsdChTaGFyZWRCdWZmZXI6OmNy
ZWF0ZShjdXJzb3ItPmN1cnJlbnRWYWx1ZUJ1ZmZlcigpLmRhdGEoKSwgY3Vyc29yLT5jdXJyZW50
VmFsdWVCdWZmZXIoKS5zaXplKCkpKTsKKyAgICByZXN1bHQua2V5RGF0YSA9IGN1cnNvci0+Y3Vy
cmVudFZhbHVlS2V5KCk7CiAKICAgICAvLyBDbG9zaW5nIHRoZSBjdXJzb3Igd2lsbCBkZXN0cm95
IHRoZSBjdXJzb3Igb2JqZWN0IGFuZCByZW1vdmUgaXQgZnJvbSBvdXIgY3Vyc29yIHNldC4KICAg
ICB0cmFuc2FjdGlvbi0+Y2xvc2VDdXJzb3IoKmN1cnNvcik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9VbmlxdWVJREJEYXRhYmFz
ZUJhY2tpbmdTdG9yZVNRTGl0ZS5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0lu
ZGV4ZWREQi9zcWxpdGUvVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGUuaAppbmRl
eCBlYjE0YmYzLi4zMjFhYjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVBy
b2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9VbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRl
L1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlU1FMaXRlLmgKQEAgLTcyLDkgKzcyLDkgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1cGRhdGVLZXlHZW5lcmF0b3JOdW1iZXIoY29uc3Qg
SURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3Jl
SWQsIGludDY0X3Qga2V5TnVtYmVyLCBib29sIGNoZWNrQ3VycmVudCkgb3ZlcnJpZGU7CiAKICAg
ICB2aXJ0dWFsIGJvb2wga2V5RXhpc3RzSW5PYmplY3RTdG9yZShjb25zdCBJREJJZGVudGlmaWVy
JiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgV2Vi
Q29yZTo6SURCS2V5RGF0YSYsIGJvb2wmIGtleUV4aXN0cykgb3ZlcnJpZGU7Ci0gICAgdmlydHVh
bCBib29sIHB1dFJlY29yZChjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZp
ZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5JiwgY29uc3Qg
dWludDhfdCogdmFsdWVCdWZmZXIsIHNpemVfdCB2YWx1ZVNpemUpIG92ZXJyaWRlOworICAgIHZp
cnR1YWwgYm9vbCBwdXRSZWNvcmQoY29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVu
dGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEm
LCBjb25zdCB1aW50OF90KiB2YWx1ZUJ1ZmZlciwgc2l6ZV90IHZhbHVlU2l6ZSkgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCBib29sIHB1dEluZGV4UmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRy
YW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBpbnQ2NF90IGluZGV4
SUQsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmIGtleVZhbHVlLCBjb25zdCBXZWJDb3JlOjpJ
REJLZXlEYXRhJiBpbmRleEtleSkgb3ZlcnJpZGU7Ci0gICAgdmlydHVhbCBib29sIGdldEluZGV4
UmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRf
dCBvYmplY3RTdG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNvbnN0IFdlYkNvcmU6OklEQktleVJh
bmdlRGF0YSYsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiByZXN1bHQpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgYm9vbCBnZXRJbmRleFJlY29yZChjb25zdCBJREJJZGVudGlmaWVyJiB0
cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRl
eElELCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmLCBXZWJDb3JlOjpJREJHZXRSZXN1
bHQmIHJlc3VsdCkgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGRlbGV0ZVJhbmdlKGNvbnN0
IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9y
ZUlELCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKSBvdmVycmlkZTsKICAgICB2aXJ0
dWFsIGJvb2wgZGVsZXRlUmVjb3JkKGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRl
bnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRh
Jikgb3ZlcnJpZGU7CiAK
</data>
<flag name="review"
          id="247284"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>