<?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>84256</bug_id>
          
          <creation_ts>2012-04-18 11:04:59 -0700</creation_ts>
          <short_desc>IndexedDB: build out implementation of get/getKey for IDBKeyRange</short_desc>
          <delta_ts>2012-04-18 14:20:10 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>83638</dup_id>
          
          <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="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>jsbell</cc>
    
    <cc>levin+threading</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>604899</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-04-18 11:04:59 -0700</bug_when>
    <thetext>IndexedDB: build out implementation of get/getKey for IDBKeyRange</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604901</commentid>
    <comment_count>1</comment_count>
      <attachid>137723</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-04-18 11:07:10 -0700</bug_when>
    <thetext>Created attachment 137723
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604904</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-04-18 11:07:53 -0700</bug_when>
    <thetext>This is part 2 of 3, I think. jsbell - mind reviewing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>604911</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-18 11:15:14 -0700</bug_when>
    <thetext>Attachment 137723 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1
Source/WebCore/ChangeLog:12:  You should remove the &apos;No new tests&apos; and either add and list tests, or explain why no new tests were possible.  [changelog/nonewtests] [5]
Total errors found: 1 in 12 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>605080</commentid>
    <comment_count>4</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-04-18 14:20:10 -0700</bug_when>
    <thetext>decided to just implement this all in one go

*** This bug has been marked as a duplicate of bug 83638 ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>137723</attachid>
            <date>2012-04-18 11:07:10 -0700</date>
            <delta_ts>2012-04-18 14:19:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-84256-20120418110709.patch</filename>
            <type>text/plain</type>
            <size>25594</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE0NDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDY3YjUyNmU5YTQ5NmYz
ZmU4OWRjZDc3ZmMzN2FmNDE1YTU4YmZkNy4uMDZjZmQ4ZDRmNjc5MTJiZTNkNDI0ZjIyYWMxN2Q2
Y2QzM2E2MzE3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEyLTA0LTE4ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGJ1
aWxkIG91dCBpbXBsZW1lbnRhdGlvbiBvZiBnZXQvZ2V0S2V5IGZvciBJREJLZXlSYW5nZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODQyNTYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGlzIHBhcnQg
b2YgYSBzdGFnZWQgbGFuZGluZy4gSXQgaW1wbGVtZW50cyBzdXBwb3J0IGZvcgorICAgICAgICBJ
REJLZXlSYW5nZSBhcyBhIHBhcmFtZXRlciB0byBnZXQvZ2V0S2V5LCB3aXRob3V0IGV4cG9zaW5n
IGl0IGluCisgICAgICAgIFRoZSBJREwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEp
CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbXBsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZEltcGw6OmdldEludGVybmFsKToKKyAg
ICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6
Z2V0QnlSYW5nZUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZElt
cGw6OmdldEtleUludGVybmFsKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4QmFja2VuZElt
cGw6OmdldEtleUJ5UmFuZ2VJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleEJh
Y2tlbmRJbXBsOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXhCYWNrZW5kSW1wbDo6
Z2V0S2V5KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbXBs
Lmg6CisgICAgICAgIChJREJJbmRleEJhY2tlbmRJbXBsKToKKyAgICAgICAgKiBNb2R1bGVzL2lu
ZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbnRlcmZhY2UuaDoKKyAgICAgICAgKElEQkluZGV4QmFj
a2VuZEludGVyZmFjZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmVCYWNrZW5kSW1wbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZUJhY2tl
bmRJbXBsOjpnZXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJP
YmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXRCeVJhbmdlSW50ZXJuYWwpOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaDoKKyAgICAgICAgKElE
Qk9iamVjdFN0b3JlQmFja2VuZEltcGwpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
Qk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oOgorICAgICAgICAoSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW50ZXJmYWNlKToKKwogMjAxMi0wNC0xNyAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBTaGFkb3dSb290IHNob3VsZG4ndCBiZSBhZG9wdGVkIGJ5
IGFueSBEb2N1bWVudC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOGJhNDRmMjQxOWQw
ODQ3ZTBkODI4YWJhNDQxODdmMmJhMzM0NjhiYy4uNWY2ZWU4MDYwMGZlODZlMmM0NDYzMWUwNmM3
YWNhZGMwNzdiYmMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBA
QAorMjAxMi0wNC0xOCAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgSW5kZXhlZERCOiBidWlsZCBvdXQgaW1wbGVtZW50YXRpb24gb2YgZ2V0L2dldEtleSBm
b3IgSURCS2V5UmFuZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTg0MjU2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW1wbGVtZW50IHRoZSBhcHByb3ByaWF0ZSBzdHViL3Byb3h5IHN1cHBvcnQgZm9yIHRo
ZSBiYWNrZW5kCisgICAgICAgIGltcGxlbWVudGF0aW9uIG9mIGdldC9nZXRLZXkgZm9yIElEQktl
eVJhbmdlLgorCisgICAgICAgICogc3JjL0lEQkluZGV4QmFja2VuZFByb3h5LmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6SURCSW5kZXhCYWNrZW5kUHJveHk6OmdldCk6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0OjpJREJJbmRleEJhY2tlbmRQcm94eTo6Z2V0S2V5KToKKyAgICAg
ICAgKiBzcmMvSURCSW5kZXhCYWNrZW5kUHJveHkuaDoKKyAgICAgICAgKElEQkluZGV4QmFja2Vu
ZFByb3h5KToKKyAgICAgICAgKiBzcmMvV2ViSURCSW5kZXhJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCSW5kZXhJbXBsOjpnZXRPYmplY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
REJJbmRleEltcGw6OmdldEtleSk6CisgICAgICAgICogc3JjL1dlYklEQk9iamVjdFN0b3JlSW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQk9iamVjdFN0b3JlSW1wbDo6Z2V0KToKKwog
MjAxMi0wNC0xNyAgUmFmYWVsIFdlaW5zdGVpbiAgPHJhZmFlbHdAY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtNdXRhdGlvbk9ic2VydmVyc10gZW5hYmxlIFY4UmVjdXJzaW9uU2NvcGUgZGVidWcg
QVNTRVJUKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkluZGV4QmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCSW5kZXhCYWNrZW5kSW1wbC5jcHAKaW5kZXggNDNhZTljMmIxNmE3YjhmMDcyZTFjZjlkMzQw
OTJiMTdlZjM0ZTA5MC4uMjAyNDdmMWM5ZmZjN2E0ZTliNGIzYzE0YWZiNWJiOGFkNWJmZDM1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXhCYWNr
ZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5k
ZXhCYWNrZW5kSW1wbC5jcHAKQEAgLTE1MSwyNSArMTUxLDgxIEBAIHZvaWQgSURCSW5kZXhCYWNr
ZW5kSW1wbDo6Y291bnQoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4gcmFuZ2UsIFBhc3NSZWZQdHI8
SURCQ2FsCiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lO
QUNUSVZFX0VSUjsKIH0KIAotdm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpnZXRJbnRlcm5hbChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBp
bmRleCwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgYm9vbCBnZXRPYmplY3QsIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit2b2lkIElEQkluZGV4QmFja2VuZEltcGw6OmdldElu
dGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2Vu
ZEltcGw+IGluZGV4LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4gY2FsbGJhY2tzKQogewogICAgIElEQl9UUkFDRSgiSURCSW5kZXhCYWNrZW5kSW1wbDo6
Z2V0SW50ZXJuYWwiKTsKLSAgICAvLyBGSVhNRTogU3BsaXQgZ2V0SW50ZXJuYWwgaW50byB0d28g
ZnVuY3Rpb25zLCBnZXR0aW5nIHJpZCBvZmYgfGdldE9iamVjdHwuCi0gICAgaWYgKGdldE9iamVj
dCkgewotICAgICAgICBTdHJpbmcgdmFsdWUgPSBpbmRleC0+bV9iYWNraW5nU3RvcmUtPmdldE9i
amVjdFZpYUluZGV4KGluZGV4LT5tX2RhdGFiYXNlSWQsIGluZGV4LT5tX29iamVjdFN0b3JlQmFj
a2VuZC0+aWQoKSwgaW5kZXgtPmlkKCksICprZXkpOwotICAgICAgICBpZiAodmFsdWUuaXNOdWxs
KCkpIHsKLSAgICAgICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKFNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZTo6dW5kZWZpbmVkVmFsdWUoKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGVGcm9tV2lyZSh2YWx1ZSkpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+
IGtleVJlc3VsdCA9IGluZGV4LT5tX2JhY2tpbmdTdG9yZS0+Z2V0UHJpbWFyeUtleVZpYUluZGV4
KGluZGV4LT5tX2RhdGFiYXNlSWQsIGluZGV4LT5tX29iamVjdFN0b3JlQmFja2VuZC0+aWQoKSwg
aW5kZXgtPmlkKCksICprZXkpOwotICAgICAgICBpZiAoIWtleVJlc3VsdCkgewotICAgICAgICAg
ICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc3RhdGljX2Nhc3Q8SURCS2V5Kj4oMCkpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIGNhbGxiYWNrcy0+b25TdWNjZXNzKGtl
eVJlc3VsdC5nZXQoKSk7CisgICAgU3RyaW5nIHZhbHVlID0gaW5kZXgtPm1fYmFja2luZ1N0b3Jl
LT5nZXRPYmplY3RWaWFJbmRleChpbmRleC0+bV9kYXRhYmFzZUlkLCBpbmRleC0+bV9vYmplY3RT
dG9yZUJhY2tlbmQtPmlkKCksIGluZGV4LT5pZCgpLCAqa2V5KTsKKyAgICBpZiAodmFsdWUuaXNO
dWxsKCkpIHsKKyAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3MoU2VyaWFsaXplZFNjcmlwdFZh
bHVlOjp1bmRlZmluZWRWYWx1ZSgpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjYWxs
YmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZUZyb21XaXJlKHZh
bHVlKSk7Cit9CisKK3ZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0QnlSYW5nZUludGVybmFs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+
IGluZGV4LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBrZXlSYW5nZSwgUGFzc1JlZlB0cjxJREJD
YWxsYmFja3M+IGNhbGxiYWNrcykKK3sKKyAgICBJREJfVFJBQ0UoIklEQkluZGV4QmFja2VuZElt
cGw6OmdldEJ5UmFuZ2VJbnRlcm5hbCIpOworCisgICAgUmVmUHRyPElEQkJhY2tpbmdTdG9yZTo6
Q3Vyc29yPiBiYWNraW5nU3RvcmVDdXJzb3IgPQorICAgICAgICAgICAgaW5kZXgtPm1fYmFja2lu
Z1N0b3JlLT5vcGVuSW5kZXhDdXJzb3IoaW5kZXgtPm1fZGF0YWJhc2VJZCwgaW5kZXgtPm1fb2Jq
ZWN0U3RvcmVCYWNrZW5kLT5pZCgpLCBpbmRleC0+aWQoKSwga2V5UmFuZ2UuZ2V0KCksIElEQkN1
cnNvcjo6TkVYVCk7CisKKyAgICBpZiAoIWJhY2tpbmdTdG9yZUN1cnNvcikgeworICAgICAgICBj
YWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVl
KCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU3RyaW5nIHZhbHVlID0gaW5kZXgt
Pm1fYmFja2luZ1N0b3JlLT5nZXRPYmplY3RWaWFJbmRleChpbmRleC0+bV9kYXRhYmFzZUlkLCBp
bmRleC0+bV9vYmplY3RTdG9yZUJhY2tlbmQtPmlkKCksIGluZGV4LT5pZCgpLCAqYmFja2luZ1N0
b3JlQ3Vyc29yLT5rZXkoKSk7CisgICAgaWYgKHZhbHVlLmlzTnVsbCgpKSB7CisgICAgICAgIGNh
bGxiYWNrcy0+b25TdWNjZXNzKFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6dW5kZWZpbmVkVmFsdWUo
KSk7CisgICAgICAgIGJhY2tpbmdTdG9yZUN1cnNvci0+Y2xvc2UoKTsKKyAgICAgICAgcmV0dXJu
OwogICAgIH0KKyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6
OmNyZWF0ZUZyb21XaXJlKHZhbHVlKSk7CisgICAgYmFja2luZ1N0b3JlQ3Vyc29yLT5jbG9zZSgp
OworfQorCit2b2lkIElEQkluZGV4QmFja2VuZEltcGw6OmdldEtleUludGVybmFsKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+IGluZGV4LCBQ
YXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tz
KQoreworICAgIElEQl9UUkFDRSgiSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0S2V5SW50ZXJuYWwi
KTsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXlSZXN1bHQgPSBpbmRleC0+bV9iYWNraW5nU3RvcmUt
PmdldFByaW1hcnlLZXlWaWFJbmRleChpbmRleC0+bV9kYXRhYmFzZUlkLCBpbmRleC0+bV9vYmpl
Y3RTdG9yZUJhY2tlbmQtPmlkKCksIGluZGV4LT5pZCgpLCAqa2V5KTsKKyAgICBpZiAoIWtleVJl
c3VsdCkgeworICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhzdGF0aWNfY2FzdDxJREJLZXkq
PigwKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Mo
a2V5UmVzdWx0LmdldCgpKTsKK30KKwordm9pZCBJREJJbmRleEJhY2tlbmRJbXBsOjpnZXRLZXlC
eVJhbmdlSW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0
cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4ga2V5
UmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgSURCX1RS
QUNFKCJJREJJbmRleEJhY2tlbmRJbXBsOjpnZXRCeVJhbmdlSW50ZXJuYWwiKTsKKworICAgIFJl
ZlB0cjxJREJCYWNraW5nU3RvcmU6OkN1cnNvcj4gYmFja2luZ1N0b3JlQ3Vyc29yID0KKyAgICAg
ICAgICAgIGluZGV4LT5tX2JhY2tpbmdTdG9yZS0+b3BlbkluZGV4S2V5Q3Vyc29yKGluZGV4LT5t
X2RhdGFiYXNlSWQsIGluZGV4LT5tX29iamVjdFN0b3JlQmFja2VuZC0+aWQoKSwgaW5kZXgtPmlk
KCksIGtleVJhbmdlLmdldCgpLCBJREJDdXJzb3I6Ok5FWFQpOworCisgICAgaWYgKCFiYWNraW5n
U3RvcmVDdXJzb3IpIHsKKyAgICAgICAgY2FsbGJhY2tzLT5vblN1Y2Nlc3Moc3RhdGljX2Nhc3Q8
SURCS2V5Kj4oMCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPElEQktl
eT4ga2V5UmVzdWx0ID0gaW5kZXgtPm1fYmFja2luZ1N0b3JlLT5nZXRQcmltYXJ5S2V5VmlhSW5k
ZXgoaW5kZXgtPm1fZGF0YWJhc2VJZCwgaW5kZXgtPm1fb2JqZWN0U3RvcmVCYWNrZW5kLT5pZCgp
LCBpbmRleC0+aWQoKSwgKmJhY2tpbmdTdG9yZUN1cnNvci0+cHJpbWFyeUtleSgpKTsKKyAgICBp
ZiAoIWtleVJlc3VsdCkgeworICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhzdGF0aWNfY2Fz
dDxJREJLZXkqPigwKSk7CisgICAgICAgIGJhY2tpbmdTdG9yZUN1cnNvci0+Y2xvc2UoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhrZXlSZXN1bHQu
Z2V0KCkpOworICAgIGJhY2tpbmdTdG9yZUN1cnNvci0+Y2xvc2UoKTsKK30KKworCit2b2lkIElE
QkluZGV4QmFja2VuZEltcGw6OmdldChQYXNzUmVmUHRyPElEQktleVJhbmdlPiBwcnBLZXlSYW5n
ZSwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+IHBycENhbGxiYWNrcywgSURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlKiB0cmFuc2FjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAg
SURCX1RSQUNFKCJJREJJbmRleEJhY2tlbmRJbXBsOjpnZXQiKTsKKyAgICBSZWZQdHI8SURCSW5k
ZXhCYWNrZW5kSW1wbD4gaW5kZXggPSB0aGlzOworICAgIFJlZlB0cjxJREJLZXlSYW5nZT4ga2V5
UmFuZ2UgPSBwcnBLZXlSYW5nZTsKKyAgICBSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3Mg
PSBwcnBDYWxsYmFja3M7CisgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0
ZUNhbGxiYWNrVGFzaygmZ2V0QnlSYW5nZUludGVybmFsLCBpbmRleCwga2V5UmFuZ2UsIGNhbGxi
YWNrcykpKQorICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9J
TkFDVElWRV9FUlI7CiB9CiAKIHZvaWQgSURCSW5kZXhCYWNrZW5kSW1wbDo6Z2V0KFBhc3NSZWZQ
dHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3Ms
IElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNv
ZGUmIGVjKQpAQCAtMTc4LDcgKzIzNCwxNyBAQCB2b2lkIElEQkluZGV4QmFja2VuZEltcGw6Omdl
dChQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcwogICAg
IFJlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCA9IHRoaXM7CiAgICAgUmVmUHRyPElE
QktleT4ga2V5ID0gcHJwS2V5OwogICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxiYWNrcyA9
IHBycENhbGxiYWNrczsKLSAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2soY3JlYXRl
Q2FsbGJhY2tUYXNrKCZnZXRJbnRlcm5hbCwgaW5kZXgsIGtleSwgdHJ1ZSwgY2FsbGJhY2tzKSkp
CisgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNyZWF0ZUNhbGxiYWNrVGFzaygm
Z2V0SW50ZXJuYWwsIGluZGV4LCBrZXksIGNhbGxiYWNrcykpKQorICAgICAgICBlYyA9IElEQkRh
dGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElWRV9FUlI7Cit9CisKK3ZvaWQgSURC
SW5kZXhCYWNrZW5kSW1wbDo6Z2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHBycEtleVJh
bmdlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4gcHJwQ2FsbGJhY2tzLCBJREJUcmFuc2FjdGlv
bkJhY2tlbmRJbnRlcmZhY2UqIHRyYW5zYWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICBJREJfVFJBQ0UoIklEQkluZGV4QmFja2VuZEltcGw6OmdldEtleSIpOworICAgIFJlZlB0cjxJ
REJJbmRleEJhY2tlbmRJbXBsPiBpbmRleCA9IHRoaXM7CisgICAgUmVmUHRyPElEQktleVJhbmdl
PiBrZXlSYW5nZSA9IHBycEtleVJhbmdlOworICAgIFJlZlB0cjxJREJDYWxsYmFja3M+IGNhbGxi
YWNrcyA9IHBycENhbGxiYWNrczsKKyAgICBpZiAoIXRyYW5zYWN0aW9uLT5zY2hlZHVsZVRhc2so
Y3JlYXRlQ2FsbGJhY2tUYXNrKCZnZXRLZXlCeVJhbmdlSW50ZXJuYWwsIGluZGV4LCBrZXlSYW5n
ZSwgY2FsbGJhY2tzKSkpCiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5T
QUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIApAQCAtMTg4LDcgKzI1NCw3IEBAIHZvaWQgSURCSW5k
ZXhCYWNrZW5kSW1wbDo6Z2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQ
dHI8SURCQ2FsbGJhCiAgICAgUmVmUHRyPElEQkluZGV4QmFja2VuZEltcGw+IGluZGV4ID0gdGhp
czsKICAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBwcnBLZXk7CiAgICAgUmVmUHRyPElEQkNhbGxi
YWNrcz4gY2FsbGJhY2tzID0gcHJwQ2FsbGJhY2tzOwotICAgIGlmICghdHJhbnNhY3Rpb24tPnNj
aGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJmdldEludGVybmFsLCBpbmRleCwga2V5LCBm
YWxzZSwgY2FsbGJhY2tzKSkpCisgICAgaWYgKCF0cmFuc2FjdGlvbi0+c2NoZWR1bGVUYXNrKGNy
ZWF0ZUNhbGxiYWNrVGFzaygmZ2V0S2V5SW50ZXJuYWwsIGluZGV4LCBrZXksIGNhbGxiYWNrcykp
KQogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpUUkFOU0FDVElPTl9JTkFDVElW
RV9FUlI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkluZGV4QmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkluZGV4QmFja2VuZEltcGwuaAppbmRleCA5ZWY1MWQ1YTljNTMzMTZmYTA4NzdjNDExMzk2
ZTQxYzYzMzgxMDZmLi5lNjQ4NWI2NjRjM2E0ZTMwMzc0NGEzMWJhNjQ1OWMyNWE1M2VjZTlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tl
bmRJbXBsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXhC
YWNrZW5kSW1wbC5oCkBAIC03MCw3ICs3MCw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
b3BlbkN1cnNvcihQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgdW5zaWduZWQgc2hvcnQgZGlyZWN0
aW9uLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVy
ZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnQoUGFzc1JlZlB0
cjxJREJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25C
YWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBvcGVu
S2V5Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rp
b24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJm
YWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBnZXQoUGFzc1JlZlB0cjxJ
REJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXQoUGFz
c1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0
S2V5KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0
dWFsIHZvaWQgZ2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJDYWxsYmFj
a3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJik7CiAK
IHByaXZhdGU6CkBAIC03OSw3ICs4MSwxMCBAQCBwcml2YXRlOgogCiAgICAgc3RhdGljIHZvaWQg
b3BlbkN1cnNvckludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElE
QkluZGV4QmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiwgdW5zaWduZWQgc2hv
cnQgZGlyZWN0aW9uLCBJREJDdXJzb3JCYWNrZW5kSW50ZXJmYWNlOjpDdXJzb3JUeXBlLCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4sIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlPik7CiAgICAgc3RhdGljIHZvaWQgY291bnRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJL
ZXlSYW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxJREJUcmFuc2Fj
dGlvbkJhY2tlbmRJbnRlcmZhY2U+KTsKLSAgICBzdGF0aWMgdm9pZCBnZXRJbnRlcm5hbChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiwgUGFz
c1JlZlB0cjxJREJLZXk+LCBib29sIGdldE9iamVjdCwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+
KTsKKyAgICBzdGF0aWMgdm9pZCBnZXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNz
UmVmUHRyPElEQkNhbGxiYWNrcz4pOworICAgIHN0YXRpYyB2b2lkIGdldEJ5UmFuZ2VJbnRlcm5h
bChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJJbmRleEJhY2tlbmRJbXBs
PiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7Cisg
ICAgc3RhdGljIHZvaWQgZ2V0S2V5SW50ZXJuYWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBh
c3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1wbD4sIFBhc3NSZWZQdHI8SURCS2V5PiwgUGFzc1Jl
ZlB0cjxJREJDYWxsYmFja3M+KTsKKyAgICBzdGF0aWMgdm9pZCBnZXRLZXlCeVJhbmdlSW50ZXJu
YWwoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW1w
bD4sIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOwog
CiAgICAgc3RhdGljIGNvbnN0IGludDY0X3QgSW52YWxpZElkID0gMDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbnRl
cmZhY2UuaAppbmRleCBhMGYxYmE4MWI5OTYzNmZmOTNlNDlkMzcyYjU2NTAwZDgzMDc3MDVmLi43
MGEzNzExMmZiNzAxNzdjYjI0OGJkMTdjNGQzNmNlYmI3ODU5OGVmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbnRlcmZhY2UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleEJhY2tlbmRJbnRl
cmZhY2UuaApAQCAtNTQsNyArNTQsOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIG9wZW5D
dXJzb3IoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlvbiwg
UGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2Uq
LCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjb3VudChQYXNzUmVmUHRy
PElEQktleVJhbmdlPiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+LCBJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2UqLCBFeGNlcHRpb25Db2RlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBv
cGVuS2V5Q3Vyc29yKFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJl
Y3Rpb24sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0KFBhc3NS
ZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0
aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGdldChQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAgICB2
aXJ0dWFsIHZvaWQgZ2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNv
ZGUmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGdldEtleShQYXNzUmVmUHRyPElEQktleT4sIFBh
c3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwg
RXhjZXB0aW9uQ29kZSYpID0gMDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKaW5k
ZXggMmUyZjBmYTk2ZGU4OTg0ZDM3ZmE5N2U0MjE0NGQ2Yjc0ZGIzYThlNy4uYTFhMWVkZDU1ZmE4
NTA1OTZiMDIxNDNlZmI1NGJhZDJmMDUxMzM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5j
cHAKQEAgLTkzLDYgKzkzLDM2IEBAIHZvaWQgSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Z2V0
KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXksIFBhc3NSZWZQdHI8SURCQ2FsCiAgICAgICAgIGVj
ID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRSQU5TQUNUSU9OX0lOQUNUSVZFX0VSUjsKIH0KIAor
dm9pZCBJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXQoUGFzc1JlZlB0cjxJREJLZXlSYW5n
ZT4gcHJwS2V5UmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBwcnBDYWxsYmFja3MsIElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUm
IGVjKQoreworICAgIElEQl9UUkFDRSgiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6Z2V0Iik7
CisgICAgUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+IG9iamVjdFN0b3JlID0gdGhp
czsKKyAgICBSZWZQdHI8SURCS2V5UmFuZ2U+IGtleVJhbmdlID0gcHJwS2V5UmFuZ2U7CisgICAg
UmVmUHRyPElEQkNhbGxiYWNrcz4gY2FsbGJhY2tzID0gcHJwQ2FsbGJhY2tzOworICAgIGlmICgh
dHJhbnNhY3Rpb24tPnNjaGVkdWxlVGFzayhjcmVhdGVDYWxsYmFja1Rhc2soJklEQk9iamVjdFN0
b3JlQmFja2VuZEltcGw6OmdldEJ5UmFuZ2VJbnRlcm5hbCwgb2JqZWN0U3RvcmUsIGtleVJhbmdl
LCBjYWxsYmFja3MpKSkKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VFJBTlNB
Q1RJT05fSU5BQ1RJVkVfRVJSOworfQorCit2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
OmdldEJ5UmFuZ2VJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJ
REJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiBvYmplY3RTdG9yZSwgUGFzc1JlZlB0cjxJREJLZXlS
YW5nZT4ga2V5UmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7Cisg
ICAgSURCX1RSQUNFKCJJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsOjpnZXRCeVJhbmdlSW50ZXJu
YWwiKTsKKyAgICBSZWZQdHI8SURCQmFja2luZ1N0b3JlOjpDdXJzb3I+IGJhY2tpbmdTdG9yZUN1
cnNvciA9IG9iamVjdFN0b3JlLT5tX2JhY2tpbmdTdG9yZS0+b3Blbk9iamVjdFN0b3JlQ3Vyc29y
KG9iamVjdFN0b3JlLT5tX2RhdGFiYXNlSWQsIG9iamVjdFN0b3JlLT5pZCgpLCBrZXlSYW5nZS5n
ZXQoKSwgSURCQ3Vyc29yOjpORVhUKTsKKyAgICBpZiAoIWJhY2tpbmdTdG9yZUN1cnNvcikgewor
ICAgICAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVm
aW5lZFZhbHVlKCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU3RyaW5nIHdpcmVE
YXRhID0gb2JqZWN0U3RvcmUtPm1fYmFja2luZ1N0b3JlLT5nZXRPYmplY3RTdG9yZVJlY29yZChv
YmplY3RTdG9yZS0+bV9kYXRhYmFzZUlkLCBvYmplY3RTdG9yZS0+aWQoKSwgKmJhY2tpbmdTdG9y
ZUN1cnNvci0+a2V5KCkpOworICAgIGlmICh3aXJlRGF0YS5pc051bGwoKSkgeworICAgICAgICBj
YWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFsdWU6OnVuZGVmaW5lZFZhbHVl
KCkpOworICAgICAgICBiYWNraW5nU3RvcmVDdXJzb3ItPmNsb3NlKCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBjYWxsYmFja3MtPm9uU3VjY2VzcyhTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OmNyZWF0ZUZyb21XaXJlKHdpcmVEYXRhKSk7CisgICAgYmFja2luZ1N0b3JlQ3Vyc29yLT5j
bG9zZSgpOworfQorCiB2b2lkIElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OmdldEludGVybmFs
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2Vu
ZEltcGw+IG9iamVjdFN0b3JlLCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4gY2FsbGJhY2tzKQogewogICAgIElEQl9UUkFDRSgiSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW1wbDo6Z2V0SW50ZXJuYWwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaAppbmRleCBj
ZGYzNjBjZGYwNTczYmVkNDY4NGUxNGNmMzI1MzE4ZjZmOWQyY2ZjLi44ZDJlMWRhOTllODRhYzg5
ZGI0N2FmNjFlNWYxZWFjMzM3ZGVjMmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbC5oCkBAIC02
Niw3ICs2Niw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gaW5kZXhOYW1lcygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBhdXRvSW5jcmVtZW50KCkg
Y29uc3QgeyByZXR1cm4gbV9hdXRvSW5jcmVtZW50OyB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0
KFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJh
bnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwg
dm9pZCBnZXQoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tz
PiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOworICAg
IHZpcnR1YWwgdm9pZCBnZXQoUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkNhbGxi
YWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsK
ICAgICB2aXJ0dWFsIHZvaWQgcHV0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiwg
UGFzc1JlZlB0cjxJREJLZXk+LCBQdXRNb2RlLCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4sIElE
QlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNv
ZGUmKTsKICAgICB2aXJ0dWFsIHZvaWQgZGVsZXRlRnVuY3Rpb24oUGFzc1JlZlB0cjxJREJLZXlS
YW5nZT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgSURCVHJhbnNhY3Rpb25CYWNrZW5kSW50
ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpOwpAQCAtODksNyArOTAsOCBAQCBwcml2YXRlOgogICAg
IFBhc3NSZWZQdHI8SURCS2V5PiBnZW5BdXRvSW5jcmVtZW50S2V5KCk7CiAgICAgdm9pZCByZXNl
dEF1dG9JbmNyZW1lbnRLZXlDYWNoZSgpIHsgbV9hdXRvSW5jcmVtZW50TnVtYmVyID0gLTE7IH0K
IAotICAgIHN0YXRpYyB2b2lkIGdldEludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQ
YXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleT4g
a2V5LCBQYXNzUmVmUHRyPElEQkNhbGxiYWNrcz4pOworICAgIHN0YXRpYyB2b2lkIGdldEludGVy
bmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFj
a2VuZEltcGw+LCBQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPik7
CisgICAgc3RhdGljIHZvaWQgZ2V0QnlSYW5nZUludGVybmFsKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqLCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlQmFja2VuZEltcGw+LCBQYXNzUmVmUHRyPElE
QktleVJhbmdlPiwgUGFzc1JlZlB0cjxJREJDYWxsYmFja3M+KTsKICAgICBzdGF0aWMgdm9pZCBw
dXRJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RT
dG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+LCBQYXNz
UmVmUHRyPElEQktleT4sIFB1dE1vZGUsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwgUGFzc1Jl
ZlB0cjxJREJUcmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2U+KTsKICAgICBzdGF0aWMgdm9pZCBk
ZWxldGVJbnRlcm5hbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmpl
Y3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPik7CiAgICAgc3RhdGljIHZvaWQgY2xlYXJJbnRlcm5hbChTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsPiwgUGFz
c1JlZlB0cjxJREJDYWxsYmFja3M+KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgK
aW5kZXggNWU2YmY0OWM1NjQwNGU5MTUwNDU0OTI3ZmU3NThhOTI1YTliOTk3NS4uNmZkODc2M2Rj
YTJhODdkYmUzNmQ0MjcxZTAyOWM5ZWQ1NmNkY2MyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmVCYWNrZW5k
SW50ZXJmYWNlLmgKQEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgUGFzc1Jl
ZlB0cjxET01TdHJpbmdMaXN0PiBpbmRleE5hbWVzKCkgY29uc3QgPSAwOwogCiAgICAgdmlydHVh
bCB2b2lkIGdldChQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiwg
SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgRXhjZXB0aW9uQ29kZSYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgZ2V0KFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+LCBQYXNzUmVmUHRyPElE
QkNhbGxiYWNrcz4sIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIEV4Y2VwdGlvbkNv
ZGUmKSA9IDA7CiAKICAgICBlbnVtIFB1dE1vZGUgewogICAgICAgICBBZGRPclVwZGF0ZSwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkluZGV4QmFja2VuZFByb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkluZGV4QmFja2VuZFByb3h5LmNw
cAppbmRleCBiYzJjODM2ZjhiMzg0NjM0MjNiZmQ1OTNhZTkwYTFmMGRmNDg3MDU1Li5iZjBhYzcz
NzcxY2RiYWUwMzFjZDg1ODY4ZGNlZWQ2NDA3NDNlMTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSURCSW5kZXhCYWNrZW5kUHJveHkuY3BwCkBAIC0xMDQsNiArMTA0
LDE0IEBAIHZvaWQgSURCSW5kZXhCYWNrZW5kUHJveHk6Om9wZW5LZXlDdXJzb3IoUGFzc1JlZlB0
cjxJREJLZXlSYW5nZT4ga2V5UmFuZ2UsIHVuc2lnCiAgICAgbV93ZWJJREJJbmRleC0+b3Blbktl
eUN1cnNvcihrZXlSYW5nZSwgZGlyZWN0aW9uLCBuZXcgV2ViSURCQ2FsbGJhY2tzSW1wbChjYWxs
YmFja3MpLCAqdHJhbnNhY3Rpb25Qcm94eS0+Z2V0V2ViSURCVHJhbnNhY3Rpb24oKSwgZWMpOwog
fQogCit2b2lkIElEQkluZGV4QmFja2VuZFByb3h5OjpnZXQoUGFzc1JlZlB0cjxJREJLZXlSYW5n
ZT4ga2V5UmFuZ2UsIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5z
YWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIC8vIFRoZSB0cmFuc2FjdGlvbiBwb2ludGVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBw
b2ludGVyIHRvIGEgcHJveHkgb2JqZWN0IGFzLCBpbiB0aGUgcmVuZGVyZXIsCisgICAgLy8gYWxs
IGltcGxlbWVudGF0aW9ucyBvZiBJREIgaW50ZXJmYWNlcyBhcmUgcHJveHkgb2JqZWN0cy4KKyAg
ICBJREJUcmFuc2FjdGlvbkJhY2tlbmRQcm94eSogdHJhbnNhY3Rpb25Qcm94eSA9IHN0YXRpY19j
YXN0PElEQlRyYW5zYWN0aW9uQmFja2VuZFByb3h5Kj4odHJhbnNhY3Rpb24pOworICAgIG1fd2Vi
SURCSW5kZXgtPmdldE9iamVjdChrZXlSYW5nZSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwoY2Fs
bGJhY2tzKSwgKnRyYW5zYWN0aW9uUHJveHktPmdldFdlYklEQlRyYW5zYWN0aW9uKCksIGVjKTsK
K30KKwogdm9pZCBJREJJbmRleEJhY2tlbmRQcm94eTo6Z2V0KFBhc3NSZWZQdHI8SURCS2V5PiBr
ZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZSogdHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8v
IFRoZSB0cmFuc2FjdGlvbiBwb2ludGVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBwb2ludGVyIHRv
IGEgcHJveHkgb2JqZWN0IGFzLCBpbiB0aGUgcmVuZGVyZXIsCkBAIC0xMTIsNiArMTIwLDE0IEBA
IHZvaWQgSURCSW5kZXhCYWNrZW5kUHJveHk6OmdldChQYXNzUmVmUHRyPElEQktleT4ga2V5LCBQ
YXNzUmVmUHRyPElEQkNhbGxiYWNrcz4KICAgICBtX3dlYklEQkluZGV4LT5nZXRPYmplY3Qoa2V5
LCBuZXcgV2ViSURCQ2FsbGJhY2tzSW1wbChjYWxsYmFja3MpLCAqdHJhbnNhY3Rpb25Qcm94eS0+
Z2V0V2ViSURCVHJhbnNhY3Rpb24oKSwgZWMpOwogfQogCit2b2lkIElEQkluZGV4QmFja2VuZFBy
b3h5OjpnZXRLZXkoUGFzc1JlZlB0cjxJREJLZXlSYW5nZT4ga2V5UmFuZ2UsIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSog
dHJhbnNhY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIC8vIFRoZSB0cmFuc2FjdGlv
biBwb2ludGVyIGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBwb2ludGVyIHRvIGEgcHJveHkgb2JqZWN0
IGFzLCBpbiB0aGUgcmVuZGVyZXIsCisgICAgLy8gYWxsIGltcGxlbWVudGF0aW9ucyBvZiBJREIg
aW50ZXJmYWNlcyBhcmUgcHJveHkgb2JqZWN0cy4KKyAgICBJREJUcmFuc2FjdGlvbkJhY2tlbmRQ
cm94eSogdHJhbnNhY3Rpb25Qcm94eSA9IHN0YXRpY19jYXN0PElEQlRyYW5zYWN0aW9uQmFja2Vu
ZFByb3h5Kj4odHJhbnNhY3Rpb24pOworICAgIG1fd2ViSURCSW5kZXgtPmdldEtleShrZXlSYW5n
ZSwgbmV3IFdlYklEQkNhbGxiYWNrc0ltcGwoY2FsbGJhY2tzKSwgKnRyYW5zYWN0aW9uUHJveHkt
PmdldFdlYklEQlRyYW5zYWN0aW9uKCksIGVjKTsKK30KKwogdm9pZCBJREJJbmRleEJhY2tlbmRQ
cm94eTo6Z2V0S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBrZXksIFBhc3NSZWZQdHI8SURCQ2FsbGJh
Y2tzPiBjYWxsYmFja3MsIElEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSogdHJhbnNhY3Rp
b24sIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIC8vIFRoZSB0cmFuc2FjdGlvbiBwb2ludGVy
IGlzIGd1YXJhbnRlZWQgdG8gYmUgYSBwb2ludGVyIHRvIGEgcHJveHkgb2JqZWN0IGFzLCBpbiB0
aGUgcmVuZGVyZXIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJ
bmRleEJhY2tlbmRQcm94eS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSURCSW5kZXhC
YWNrZW5kUHJveHkuaAppbmRleCA0Y2U4Yzg3NmJiMWQxMGE3MmY3M2NhMmE0MDNlN2QyZWViNTk5
YzBhLi44ZTk1YWFmNjUwNjlhZWNlNTkwMWM3MTVjYmEyYmM2NzlhNjhhMWJhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JREJJbmRleEJhY2tlbmRQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lEQkluZGV4QmFja2VuZFByb3h5LmgKQEAgLTUw
LDcgKzUwLDkgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBvcGVuQ3Vyc29yKFBhc3NSZWZQ
dHI8V2ViQ29yZTo6SURCS2V5UmFuZ2U+LCB1bnNpZ25lZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NS
ZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNr
ZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9p
ZCBvcGVuS2V5Q3Vyc29yKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5UmFuZ2U+LCB1bnNpZ25l
ZCBzaG9ydCBkaXJlY3Rpb24sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJhY2tzPiwgV2Vi
Q29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6RXhjZXB0aW9u
Q29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBjb3VudChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktl
eVJhbmdlPiwgUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBXZWJDb3JlOjpJREJU
cmFuc2FjdGlvbkJhY2tlbmRJbnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7Cisg
ICAgdmlydHVhbCB2b2lkIGdldChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktleVJhbmdlPiwgUGFz
c1JlZlB0cjxXZWJDb3JlOjpJREJDYWxsYmFja3M+LCBXZWJDb3JlOjpJREJUcmFuc2FjdGlvbkJh
Y2tlbmRJbnRlcmZhY2UqLCBXZWJDb3JlOjpFeGNlcHRpb25Db2RlJik7CiAgICAgdmlydHVhbCB2
b2lkIGdldChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQktleT4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6
SURCQ2FsbGJhY2tzPiwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwg
V2ViQ29yZTo6RXhjZXB0aW9uQ29kZSYpOworICAgIHZpcnR1YWwgdm9pZCBnZXRLZXkoUGFzc1Jl
ZlB0cjxXZWJDb3JlOjpJREJLZXlSYW5nZT4sIFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCQ2FsbGJh
Y2tzPiwgV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKiwgV2ViQ29yZTo6
RXhjZXB0aW9uQ29kZSYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRLZXkoUGFzc1JlZlB0cjxXZWJD
b3JlOjpJREJLZXk+LCBQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkNhbGxiYWNrcz4sIFdlYkNvcmU6
OklEQlRyYW5zYWN0aW9uQmFja2VuZEludGVyZmFjZSosIFdlYkNvcmU6OkV4Y2VwdGlvbkNvZGUm
KTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQkluZGV4SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJJbmRl
eEltcGwuY3BwCmluZGV4IGY1NzNmZjNhYzMxOTAwY2U2ODJkYjk4NzEwNjE1OTg2NzNiMDg2M2Yu
LmI2MDg3ZjM0YjkyNjk2OGNlYzBkMzY4ODMyNjE1Nzc4YzY1OWMwNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQkluZGV4SW1wbC5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCSW5kZXhJbXBsLmNwcApAQCAtOTUsNyArOTUsNyBA
QCB2b2lkIFdlYklEQkluZGV4SW1wbDo6Z2V0T2JqZWN0KGNvbnN0IFdlYklEQktleSYga2V5LCBX
ZWJJREJDYWxsYmFja3MqIGNhbGxiYWNrcwogCiB2b2lkIFdlYklEQkluZGV4SW1wbDo6Z2V0T2Jq
ZWN0KGNvbnN0IFdlYklEQktleVJhbmdlJiBrZXlSYW5nZSwgV2ViSURCQ2FsbGJhY2tzKiBjYWxs
YmFja3MsIGNvbnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9u
Q29kZSYgZWMpCiB7Ci0gICAgLy8gRklYTUU6IG5vdCBpbXBsZW1lbnRlZCBpbiBpbmRleGVkZGIg
eWV0CisgICAgbV9iYWNrZW5kLT5nZXQoa2V5UmFuZ2UsIElEQkNhbGxiYWNrc1Byb3h5OjpjcmVh
dGUoYWRvcHRQdHIoY2FsbGJhY2tzKSksIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9uQmFj
a2VuZEludGVyZmFjZSgpLCBlYyk7CiB9CiAKIHZvaWQgV2ViSURCSW5kZXhJbXBsOjpnZXRLZXko
Y29uc3QgV2ViSURCS2V5JiBrZXksIFdlYklEQkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjb25zdCBX
ZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rpb24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQpAQCAt
MTA1LDcgKzEwNSw3IEBAIHZvaWQgV2ViSURCSW5kZXhJbXBsOjpnZXRLZXkoY29uc3QgV2ViSURC
S2V5JiBrZXksIFdlYklEQkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjCiAKIHZvaWQgV2ViSURCSW5k
ZXhJbXBsOjpnZXRLZXkoY29uc3QgV2ViSURCS2V5UmFuZ2UmIGtleVJhbmdlLCBXZWJJREJDYWxs
YmFja3MqIGNhbGxiYWNrcywgY29uc3QgV2ViSURCVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uLCBX
ZWJFeGNlcHRpb25Db2RlJiBlYykKIHsKLSAgICAvLyBGSVhNRTogbm90IGltcGxlbWVudGVkIGlu
IGluZGV4ZWRkYiB5ZXQKKyAgICBtX2JhY2tlbmQtPmdldEtleShrZXlSYW5nZSwgSURCQ2FsbGJh
Y2tzUHJveHk6OmNyZWF0ZShhZG9wdFB0cihjYWxsYmFja3MpKSwgdHJhbnNhY3Rpb24uZ2V0SURC
VHJhbnNhY3Rpb25CYWNrZW5kSW50ZXJmYWNlKCksIGVjKTsKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmpl
Y3RTdG9yZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCT2JqZWN0
U3RvcmVJbXBsLmNwcAppbmRleCBhYmRlZTQ1N2E0OGE2Mjk1ZWNhZmI2NTVmYjUzNTZiNDZhYzc5
NjEwLi5jOGVjYzY4MWIwODUwYjkzNmNhMjEyNTEzZjZjOGMzYjZlOTYxYTJhIDEwMDc1NQotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJPYmplY3RTdG9yZUltcGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQk9iamVjdFN0b3JlSW1wbC5jcHAK
QEAgLTc0LDcgKzc0LDcgQEAgdm9pZCBXZWJJREJPYmplY3RTdG9yZUltcGw6OmdldChjb25zdCBX
ZWJJREJLZXkmIGtleSwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MKIAogdm9pZCBXZWJJREJP
YmplY3RTdG9yZUltcGw6OmdldChjb25zdCBXZWJJREJLZXlSYW5nZSYga2V5UmFuZ2UsIFdlYklE
QkNhbGxiYWNrcyogY2FsbGJhY2tzLCBjb25zdCBXZWJJREJUcmFuc2FjdGlvbiYgdHJhbnNhY3Rp
b24sIFdlYkV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIC8vIEZJWE1FOiBub3QgaW1wbGVtZW50
ZWQKKyAgICBtX29iamVjdFN0b3JlLT5nZXQoa2V5UmFuZ2UsIElEQkNhbGxiYWNrc1Byb3h5Ojpj
cmVhdGUoYWRvcHRQdHIoY2FsbGJhY2tzKSksIHRyYW5zYWN0aW9uLmdldElEQlRyYW5zYWN0aW9u
QmFja2VuZEludGVyZmFjZSgpLCBlYyk7CiB9CiAKIHZvaWQgV2ViSURCT2JqZWN0U3RvcmVJbXBs
OjpwdXQoY29uc3QgV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlJiB2YWx1ZSwgY29uc3QgV2ViSURC
S2V5JiBrZXksIFB1dE1vZGUgcHV0TW9kZSwgV2ViSURCQ2FsbGJhY2tzKiBjYWxsYmFja3MsIGNv
bnN0IFdlYklEQlRyYW5zYWN0aW9uJiB0cmFuc2FjdGlvbiwgV2ViRXhjZXB0aW9uQ29kZSYgZWMp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>