<?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>127399</bug_id>
          
          <creation_ts>2014-01-21 20:28:20 -0800</creation_ts>
          <short_desc>The IDB backing store put() method shouldn&apos;t call IDB callbacks directly</short_desc>
          <delta_ts>2014-01-21 21:16:24 -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>WebCore Misc.</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></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>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>bdakin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jsbell</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>970544</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-21 20:28:20 -0800</bug_when>
    <thetext>The IDB backing store put() method shouldn&apos;t call IDB callbacks directly

Callbacks are not something the backing store should know about *anywhere*, and we&apos;ll be factoring them out as they come up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970548</commentid>
    <comment_count>1</comment_count>
      <attachid>221822</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-21 20:30:53 -0800</bug_when>
    <thetext>Created attachment 221822
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970563</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-21 21:16:24 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/162501</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221822</attachid>
            <date>2014-01-21 20:30:53 -0800</date>
            <delta_ts>2014-01-21 20:42:43 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16346</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA0MzAzMGMwLi5jNTExNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMTQtMDEtMjEgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIFRoZSBJREIgYmFja2luZyBzdG9yZSBwdXQoKSBtZXRob2Qgc2hvdWxkbid0IGNhbGwgSURC
IGNhbGxiYWNrcyBkaXJlY3RseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI3Mzk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgUmVmYWN0b3IgdGhlIHB1dCgpIGNhbGxiYWNrIHRvIHRha2UgYSByZXN1bHRp
bmcga2V5IG9yIGFuIGVycm9yLgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlNlcnZl
ckNvbm5lY3Rpb24uaDoKKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uQmFja2VuZE9wZXJhdGlvbnMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UHV0T3BlcmF0aW9u
OjpwZXJmb3JtKTogQ2FsbCB0byB0aGUgYmFja2luZyBzdG9yZSwgdGhlbiBwZXJmb3JtIHRoZQor
ICAgICAgICAgIGFwcHJvcHJpYXRlIElEQiBjYWxsYmFjayB3aGV0aGVyIGEga2V5IG9yIGFuIGVy
cm9yIHdhcyByZXR1cm5lZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2Fj
dGlvbkJhY2tlbmRPcGVyYXRpb25zLmg6CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9s
ZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OklEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCOjpwdXQpOiBEb27igJl0IGNhbGwgSURCIGNhbGxi
YWNrcyBkaXJlY3RseS4KKyAgICAgICAgICBJbnN0ZWFkLCBwYXNzIHRoZSByZXN1bHRpbmcga2V5
L2Vycm9yIGJhY2sgdG8gdGhlIFB1dE9wZXJhdGlvbi4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4
ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmg6CisKIDIwMTQtMDEtMjAg
IEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAgIExldCBSZW5kZXJJ
bWFnZSBjb25zdHJ1Y3QgaXRzIFJlbmRlckltYWdlUmVzb3VyY2UuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXgg
NWUxOWNjMS4uODhjM2Y1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlNlcnZlckNvbm5lY3Rpb24uaApAQCAtNzgsNyArNzgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUluZGV4KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNv
bnN0IENyZWF0ZUluZGV4T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8
SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgZGVsZXRlSW5kZXgoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlSW5k
ZXhPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVy
cm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBnZXQoSURC
VHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgR2V0T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2
b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spID0g
MDsKLSAgICB2aXJ0dWFsIHZvaWQgcHV0KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFB1
dE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJy
b3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHB1dChJREJU
cmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBQdXRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQoUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3IoSURCVHJh
bnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rp
b248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNr
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNvdW50KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNv
bnN0IENvdW50T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0
YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
ZGVsZXRlUmFuZ2UoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlUmFuZ2VPcGVy
YXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+
IGNvbXBsZXRpb25DYWxsYmFjaykgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRp
b25zLmNwcAppbmRleCBjNmQ4MWM5Li45ZGM1YTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbkJhY2tl
bmRPcGVyYXRpb25zLmNwcApAQCAtMTA2LDcgKzEwNiwxNSBAQCB2b2lkIFB1dE9wZXJhdGlvbjo6
cGVyZm9ybShzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gY29tcGxldGlvbkNhbGxiYWNrKQogICAgIFJl
ZlB0cjxQdXRPcGVyYXRpb24+IG9wZXJhdGlvbih0aGlzKTsKICAgICBTVEFOREFSRF9EQVRBQkFT
RV9FUlJPUl9DQUxMQkFDSzsKIAotICAgIG1fdHJhbnNhY3Rpb24tPmRhdGFiYXNlKCkuc2VydmVy
Q29ubmVjdGlvbigpLnB1dCgqbV90cmFuc2FjdGlvbiwgKnRoaXMsIG9wZXJhdGlvbkNhbGxiYWNr
KTsKKyAgICBtX3RyYW5zYWN0aW9uLT5kYXRhYmFzZSgpLnNlcnZlckNvbm5lY3Rpb24oKS5wdXQo
Km1fdHJhbnNhY3Rpb24sICp0aGlzLCBbdGhpcywgb3BlcmF0aW9uLCBvcGVyYXRpb25DYWxsYmFj
a10oUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPiBl
cnJvcikgeworICAgICAgICBpZiAoa2V5KSB7CisgICAgICAgICAgICBBU1NFUlQoIWVycm9yKTsK
KyAgICAgICAgICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3Moa2V5KTsKKyAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgIEFTU0VSVChlcnJvcik7CisgICAgICAgICAgICBtX2NhbGxiYWNrcy0+
b25FcnJvcihlcnJvcik7CisgICAgICAgIH0KKyAgICB9KTsKIH0KIAogdm9pZCBTZXRJbmRleGVz
UmVhZHlPcGVyYXRpb246OnBlcmZvcm0oc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGNvbXBsZXRpb25D
YWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QlRyYW5zYWN0aW9uQmFja2VuZE9wZXJhdGlvbnMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uQmFja2VuZE9wZXJhdGlvbnMuaAppbmRleCA0OTA2ZGRj
Li44Yjk0NTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbkJhY2tlbmRPcGVyYXRpb25zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb25CYWNrZW5kT3BlcmF0aW9ucy5oCkBAIC0zMDUs
NyArMzA1LDYgQEAgcHVibGljOgogICAgIElEQktleSoga2V5KCkgY29uc3QgeyByZXR1cm4gbV9r
ZXkuZ2V0KCk7IH0KICAgICBjb25zdCBWZWN0b3I8aW50NjRfdD4mIGluZGV4SURzKCkgY29uc3Qg
eyByZXR1cm4gbV9pbmRleElEczsgfQogICAgIGNvbnN0IFZlY3RvcjxJbmRleEtleXM+JiBpbmRl
eEtleXMoKSBjb25zdCB7IHJldHVybiBtX2luZGV4S2V5czsgfQotICAgIElEQkNhbGxiYWNrcyog
Y2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9jYWxsYmFja3MuZ2V0KCk7IH0KICAgICBTaGFy
ZWRCdWZmZXIqIHZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV92YWx1ZS5nZXQoKTsgfQogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxk
Yi9JREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmNwcAppbmRleCA0
MzdiZDNhLi40ZWZlZTg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQlNlcnZlckNvbm5lY3Rpb25MZXZl
bERCLmNwcApAQCAtNDIsNiArNDIsMTEgQEAKICAgICAgICAgY2FsbGJhY2soYXJnKTsgXAogICAg
IH0pOwogCisjZGVmaW5lIEFTWU5DX0NPTVBMRVRJT05fQ0FMTEJBQ0tfV0lUSF9UV09fQVJHUyhj
YWxsYmFjaywgYXJnMSwgYXJnMikgXAorICAgIGNhbGxPbk1haW5UaHJlYWQoW2NhbGxiYWNrXSgp
IHsgXAorICAgICAgICBjYWxsYmFjayhhcmcxLCBhcmcyKTsgXAorICAgIH0pOworCiAjZGVmaW5l
IEFTWU5DX0NPTVBMRVRJT05fQ0FMTEJBQ0tfV0lUSF9OVUxMX0FSRyhjYWxsYmFjaykgXAogICAg
IGNhbGxPbk1haW5UaHJlYWQoW2NhbGxiYWNrXSgpIHsgXAogICAgICAgICBjYWxsYmFjaygwKTsg
XApAQCAtMzQ3LDcgKzM1Miw3IEBAIHZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxldmVsREI6Omdl
dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0aW9uLCBjb25zdCBHCiAgICAgQVNZTkNf
Q09NUExFVElPTl9DQUxMQkFDS19XSVRIX05VTExfQVJHKGNvbXBsZXRpb25DYWxsYmFjayk7CiB9
CiAKLXZvaWQgSURCU2VydmVyQ29ubmVjdGlvbkxldmVsREI6OnB1dChJREJUcmFuc2FjdGlvbkJh
Y2tlbmQmIHRyYW5zYWN0aW9uLCBjb25zdCBQdXRPcGVyYXRpb24mIG9wZXJhdGlvbiwgc3RkOjpm
dW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2Fs
bGJhY2spCit2b2lkIElEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCOjpwdXQoSURCVHJhbnNhY3Rp
b25CYWNrZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgUHV0T3BlcmF0aW9uJiBvcGVyYXRpb24sIHN0
ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQktleT4sIFBhc3NSZWZQdHI8SURCRGF0YWJh
c2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCiB7CiAgICAgSURCQmFja2luZ1N0b3JlVHJh
bnNhY3Rpb25MZXZlbERCKiBiYWNraW5nU3RvcmVUcmFuc2FjdGlvbiA9IG1fYmFja2luZ1N0b3Jl
VHJhbnNhY3Rpb25zLmdldCh0cmFuc2FjdGlvbi5pZCgpKTsKICAgICBBU1NFUlQoYmFja2luZ1N0
b3JlVHJhbnNhY3Rpb24pOwpAQCAtMzU5LDggKzM2NCw3IEBAIHZvaWQgSURCU2VydmVyQ29ubmVj
dGlvbkxldmVsREI6OnB1dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0aW9uLCBjb25z
dCBQCiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGF1dG9JbmNLZXkgPSBtX2JhY2tpbmdTdG9yZS0+
Z2VuZXJhdGVLZXkodHJhbnNhY3Rpb24sIHRyYW5zYWN0aW9uLmRhdGFiYXNlKCkuaWQoKSwgb3Bl
cmF0aW9uLm9iamVjdFN0b3JlKCkuaWQpOwogICAgICAgICBrZXlXYXNHZW5lcmF0ZWQgPSB0cnVl
OwogICAgICAgICBpZiAoIWF1dG9JbmNLZXktPmlzVmFsaWQoKSkgewotICAgICAgICAgICAgb3Bl
cmF0aW9uLmNhbGxiYWNrcygpLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJE
YXRhYmFzZUV4Y2VwdGlvbjo6Q29uc3RyYWludEVycm9yLCAiTWF4aW11bSBrZXkgZ2VuZXJhdG9y
IHZhbHVlIHJlYWNoZWQuIikpOwotICAgICAgICAgICAgQVNZTkNfQ09NUExFVElPTl9DQUxMQkFD
S19XSVRIX05VTExfQVJHKGNvbXBsZXRpb25DYWxsYmFjayk7CisgICAgICAgICAgICBBU1lOQ19D
T01QTEVUSU9OX0NBTExCQUNLX1dJVEhfVFdPX0FSR1MoY29tcGxldGlvbkNhbGxiYWNrLCBudWxs
cHRyLCBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OkNvbnN0
cmFpbnRFcnJvciwgIk1heGltdW0ga2V5IGdlbmVyYXRvciB2YWx1ZSByZWFjaGVkLiIpKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBrZXkgPSBhdXRvSW5jS2V5OwpA
QCAtMzc0LDEzICszNzgsMTEgQEAgdm9pZCBJREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQjo6cHV0
KElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJhbnNhY3Rpb24sIGNvbnN0IFAKICAgICBpZiAob3Bl
cmF0aW9uLnB1dE1vZGUoKSA9PSBJREJEYXRhYmFzZUJhY2tlbmQ6OkFkZE9ubHkpIHsKICAgICAg
ICAgYm9vbCBvayA9IG1fYmFja2luZ1N0b3JlLT5rZXlFeGlzdHNJbk9iamVjdFN0b3JlKCpiYWNr
aW5nU3RvcmVUcmFuc2FjdGlvbiwgdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5pZCgpLCBvcGVyYXRp
b24ub2JqZWN0U3RvcmUoKS5pZCwgKmtleSwgcmVjb3JkSWRlbnRpZmllcik7CiAgICAgICAgIGlm
ICghb2spIHsKLSAgICAgICAgICAgIG9wZXJhdGlvbi5jYWxsYmFja3MoKS0+b25FcnJvcihJREJE
YXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwg
IkludGVybmFsIGVycm9yIGNoZWNraW5nIGtleSBleGlzdGVuY2UuIikpOwotICAgICAgICAgICAg
QVNZTkNfQ09NUExFVElPTl9DQUxMQkFDS19XSVRIX05VTExfQVJHKGNvbXBsZXRpb25DYWxsYmFj
ayk7CisgICAgICAgICAgICBBU1lOQ19DT01QTEVUSU9OX0NBTExCQUNLX1dJVEhfVFdPX0FSR1Mo
Y29tcGxldGlvbkNhbGxiYWNrLCBudWxscHRyLCBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURC
RGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIkludGVybmFsIGVycm9yIGNoZWNraW5n
IGtleSBleGlzdGVuY2UuIikpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAg
ICAgIGlmIChyZWNvcmRJZGVudGlmaWVyKSB7Ci0gICAgICAgICAgICBvcGVyYXRpb24uY2FsbGJh
Y2tzKCktPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpDb25zdHJhaW50RXJyb3IsICJLZXkgYWxyZWFkeSBleGlzdHMgaW4gdGhlIG9iamVjdCBz
dG9yZS4iKSk7Ci0gICAgICAgICAgICBBU1lOQ19DT01QTEVUSU9OX0NBTExCQUNLX1dJVEhfTlVM
TF9BUkcoY29tcGxldGlvbkNhbGxiYWNrKTsKKyAgICAgICAgICAgIEFTWU5DX0NPTVBMRVRJT05f
Q0FMTEJBQ0tfV0lUSF9UV09fQVJHUyhjb21wbGV0aW9uQ2FsbGJhY2ssIG51bGxwdHIsIElEQkRh
dGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Q29uc3RyYWludEVycm9y
LCAiS2V5IGFscmVhZHkgZXhpc3RzIGluIHRoZSBvYmplY3Qgc3RvcmUuIikpOwogICAgICAgICAg
ICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgfQpAQCAtMzkwLDIxICszOTIsMjAgQEAgdm9pZCBJ
REJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQjo6cHV0KElEQlRyYW5zYWN0aW9uQmFja2VuZCYgdHJh
bnNhY3Rpb24sIGNvbnN0IFAKICAgICBib29sIG9iZXlzQ29uc3RyYWludHMgPSBmYWxzZTsKICAg
ICBib29sIGJhY2tpbmdTdG9yZVN1Y2Nlc3MgPSBtX2JhY2tpbmdTdG9yZS0+bWFrZUluZGV4V3Jp
dGVycyh0cmFuc2FjdGlvbi5pZCgpLCB0cmFuc2FjdGlvbi5kYXRhYmFzZSgpLmlkKCksIG9wZXJh
dGlvbi5vYmplY3RTdG9yZSgpLCAqa2V5LCBrZXlXYXNHZW5lcmF0ZWQsIG9wZXJhdGlvbi5pbmRl
eElEcygpLCBvcGVyYXRpb24uaW5kZXhLZXlzKCksIGluZGV4V3JpdGVycywgJmVycm9yTWVzc2Fn
ZSwgb2JleXNDb25zdHJhaW50cyk7CiAgICAgaWYgKCFiYWNraW5nU3RvcmVTdWNjZXNzKSB7Ci0g
ICAgICAgIG9wZXJhdGlvbi5jYWxsYmFja3MoKS0+b25FcnJvcihJREJEYXRhYmFzZUVycm9yOjpj
cmVhdGUoSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIkludGVybmFsIGVycm9y
OiBiYWNraW5nIHN0b3JlIGVycm9yIHVwZGF0aW5nIGluZGV4IGtleXMuIikpOwotICAgICAgICBB
U1lOQ19DT01QTEVUSU9OX0NBTExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNr
KTsKKyAgICAgICAgQVNZTkNfQ09NUExFVElPTl9DQUxMQkFDS19XSVRIX1RXT19BUkdTKGNvbXBs
ZXRpb25DYWxsYmFjaywgbnVsbHB0ciwgSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFi
YXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJJbnRlcm5hbCBlcnJvcjogYmFja2luZyBzdG9y
ZSBlcnJvciB1cGRhdGluZyBpbmRleCBrZXlzLiIpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0K
ICAgICBpZiAoIW9iZXlzQ29uc3RyYWludHMpIHsKLSAgICAgICAgb3BlcmF0aW9uLmNhbGxiYWNr
cygpLT5vbkVycm9yKElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlv
bjo6Q29uc3RyYWludEVycm9yLCBlcnJvck1lc3NhZ2UpKTsKLSAgICAgICAgQVNZTkNfQ09NUExF
VElPTl9DQUxMQkFDS19XSVRIX05VTExfQVJHKGNvbXBsZXRpb25DYWxsYmFjayk7CisgICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW2NvbXBsZXRpb25DYWxsYmFjaywgZXJyb3JNZXNzYWdlXSgpIHsg
XAorICAgICAgICAgICAgY29tcGxldGlvbkNhbGxiYWNrKG51bGxwdHIsIElEQkRhdGFiYXNlRXJy
b3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6Q29uc3RyYWludEVycm9yLCBlcnJvck1l
c3NhZ2UpKTsgXAorICAgICAgICB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIC8v
IEJlZm9yZSB0aGlzIHBvaW50LCBkb24ndCBkbyBhbnkgbXV0YXRpb24uIEFmdGVyIHRoaXMgcG9p
bnQsIHJvbGxiYWNrIHRoZSB0cmFuc2FjdGlvbiBpbiBjYXNlIG9mIGVycm9yLgogICAgIGJhY2tp
bmdTdG9yZVN1Y2Nlc3MgPSBtX2JhY2tpbmdTdG9yZS0+cHV0UmVjb3JkKCpiYWNraW5nU3RvcmVU
cmFuc2FjdGlvbiwgdHJhbnNhY3Rpb24uZGF0YWJhc2UoKS5pZCgpLCBvcGVyYXRpb24ub2JqZWN0
U3RvcmUoKS5pZCwgKmtleSwgb3BlcmF0aW9uLnZhbHVlKCksIHJlY29yZElkZW50aWZpZXIuZ2V0
KCkpOwogICAgIGlmICghYmFja2luZ1N0b3JlU3VjY2VzcykgewotICAgICAgICBvcGVyYXRpb24u
Y2FsbGJhY2tzKCktPm9uRXJyb3IoSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpVbmtub3duRXJyb3IsICJJbnRlcm5hbCBlcnJvcjogYmFja2luZyBzdG9yZSBl
cnJvciBwZXJmb3JtaW5nIHB1dC9hZGQuIikpOwotICAgICAgICBBU1lOQ19DT01QTEVUSU9OX0NB
TExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNrKTsKKyAgICAgICAgQVNZTkNf
Q09NUExFVElPTl9DQUxMQkFDS19XSVRIX1RXT19BUkdTKGNvbXBsZXRpb25DYWxsYmFjaywgbnVs
bHB0ciwgSURCRGF0YWJhc2VFcnJvcjo6Y3JlYXRlKElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtu
b3duRXJyb3IsICJJbnRlcm5hbCBlcnJvcjogYmFja2luZyBzdG9yZSBlcnJvciBwZXJmb3JtaW5n
IHB1dC9hZGQuIikpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC00MTYsMTQgKzQxNywx
NCBAQCB2b2lkIElEQlNlcnZlckNvbm5lY3Rpb25MZXZlbERCOjpwdXQoSURCVHJhbnNhY3Rpb25C
YWNrZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgUAogICAgIGlmIChvcGVyYXRpb24ub2JqZWN0U3Rv
cmUoKS5hdXRvSW5jcmVtZW50ICYmIG9wZXJhdGlvbi5wdXRNb2RlKCkgIT0gSURCRGF0YWJhc2VC
YWNrZW5kOjpDdXJzb3JVcGRhdGUgJiYga2V5LT50eXBlKCkgPT0gSURCS2V5OjpOdW1iZXJUeXBl
KSB7CiAgICAgICAgIGJvb2wgb2sgPSBtX2JhY2tpbmdTdG9yZS0+dXBkYXRlS2V5R2VuZXJhdG9y
KHRyYW5zYWN0aW9uLCB0cmFuc2FjdGlvbi5kYXRhYmFzZSgpLmlkKCksIG9wZXJhdGlvbi5vYmpl
Y3RTdG9yZSgpLmlkLCAqa2V5LCAha2V5V2FzR2VuZXJhdGVkKTsKICAgICAgICAgaWYgKCFvaykg
ewotICAgICAgICAgICAgb3BlcmF0aW9uLmNhbGxiYWNrcygpLT5vbkVycm9yKElEQkRhdGFiYXNl
RXJyb3I6OmNyZWF0ZShJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCAiSW50ZXJu
YWwgZXJyb3IgdXBkYXRpbmcga2V5IGdlbmVyYXRvci4iKSk7Ci0gICAgICAgICAgICBBU1lOQ19D
T01QTEVUSU9OX0NBTExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNrKTsKKyAg
ICAgICAgICAgIEFTWU5DX0NPTVBMRVRJT05fQ0FMTEJBQ0tfV0lUSF9UV09fQVJHUyhjb21wbGV0
aW9uQ2FsbGJhY2ssIG51bGxwdHIsIElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShJREJEYXRhYmFz
ZUV4Y2VwdGlvbjo6VW5rbm93bkVycm9yLCAiSW50ZXJuYWwgZXJyb3IgdXBkYXRpbmcga2V5IGdl
bmVyYXRvci4iKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICB9CiAKLSAg
ICBvcGVyYXRpb24uY2FsbGJhY2tzKCktPm9uU3VjY2VzcyhrZXkucmVsZWFzZSgpKTsKLSAgICBB
U1lOQ19DT01QTEVUSU9OX0NBTExCQUNLX1dJVEhfTlVMTF9BUkcoY29tcGxldGlvbkNhbGxiYWNr
KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjb21wbGV0aW9uQ2FsbGJhY2ssIGtleV0oKSB7IFwK
KyAgICAgICAgY29tcGxldGlvbkNhbGxiYWNrKGtleS5nZXQoKSwgbnVsbHB0cik7IFwKKyAgICB9
KTsKIH0KIAogdm9pZCBJREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQjo6b3BlbkN1cnNvcihJREJU
cmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0aW9uLCBjb25zdCBPcGVuQ3Vyc29yT3BlcmF0aW9u
JiBvcGVyYXRpb24sIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJy
b3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJTZXJ2ZXJDb25uZWN0aW9uTGV2ZWxEQi5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvbGV2ZWxkYi9JREJTZXJ2ZXJDb25uZWN0aW9u
TGV2ZWxEQi5oCmluZGV4IDlhZDk1YzIuLjI2ZDJkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL2xldmVsZGIvSURCU2VydmVyQ29ubmVjdGlvbkxldmVsREIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9sZXZlbGRiL0lEQlNlcnZl
ckNvbm5lY3Rpb25MZXZlbERCLmgKQEAgLTY3LDcgKzY3LDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBjcmVhdGVJbmRleChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDcmVhdGVJ
bmRleE9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNl
RXJyb3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGVsZXRlSW5kZXgoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgRGVsZXRlSW5kZXhPcGVy
YXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+
IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGdldChJREJU
cmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBHZXRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3Zl
cnJpZGU7Ci0gICAgdmlydHVhbCB2b2lkIHB1dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25z
dCBQdXRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lk
IHB1dChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBQdXRPcGVyYXRpb24mLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxJREJLZXk+LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJy
b3I+KT4gY29tcGxldGlvbkNhbGxiYWNrKSAgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIG9w
ZW5DdXJzb3IoSURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgT3BlbkN1cnNvck9wZXJhdGlv
biYsIHN0ZDo6ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnQoSURCVHJh
bnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgQ291bnRPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZv
aWQoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVJhbmdlKElEQlRyYW5zYWN0aW9uQmFja2Vu
ZCYsIGNvbnN0IERlbGV0ZVJhbmdlT3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NS
ZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nCmluZGV4IGEyMjI5NWMuLjE1ZDdmZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxNC0wMS0yMSAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgVGhlIElEQiBiYWNraW5nIHN0b3JlIHB1dCgpIG1ldGhvZCBzaG91bGRuJ3QgY2FsbCBJREIg
Y2FsbGJhY2tzIGRpcmVjdGx5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjczOTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIFdlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6
cHV0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbi5oOgorCiAyMDE0LTAxLTIwICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtA
aWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBBZGRpdGlvbmFsIGJ1aWxkIGZpeGVz
IGFmdGVyIHIxNjIyNzYgYW5kIHIxNjMzMDQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2Vy
dmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggZDg1OGZmOC4uMWEyZjUzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0lu
ZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMzAwLDcgKzMwMCw3IEBAIHZv
aWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Z2V0KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNv
bnN0IEdldE9wZXJhdGlvbiYsIHN0CiB7CiB9CiAKLXZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlv
bjo6cHV0KElEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFB1dE9wZXJhdGlvbiYsIHN0ZDo6
ZnVuY3Rpb248dm9pZChQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKQordm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpwdXQoSURCVHJhbnNhY3Rpb25C
YWNrZW5kJiwgY29uc3QgUHV0T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQ
dHI8SURCS2V5PiwgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxs
YmFjaykKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmgK
aW5kZXggNTYyODEyYy4uMzU0ZWM1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVy
Q29ubmVjdGlvbi5oCkBAIC02Nyw3ICs2Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
Y3JlYXRlSW5kZXgoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgV2ViQ29y
ZTo6Q3JlYXRlSW5kZXhPcGVyYXRpb24mLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxX
ZWJDb3JlOjpJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZUluZGV4KFdlYkNvcmU6OklEQlRyYW5zYWN0aW9uQmFj
a2VuZCYsIGNvbnN0IFdlYkNvcmU6OkRlbGV0ZUluZGV4T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlv
bjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9u
Q2FsbGJhY2spIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBnZXQoV2ViQ29yZTo6SURCVHJh
bnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgV2ViQ29yZTo6R2V0T3BlcmF0aW9uJiwgc3RkOjpmdW5j
dGlvbjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0
aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwotICAgIHZpcnR1YWwgdm9pZCBwdXQoV2ViQ29yZTo6SURC
VHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgV2ViQ29yZTo6UHV0T3BlcmF0aW9uJiwgc3RkOjpm
dW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0YWJhc2VFcnJvcj4pPiBjb21w
bGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBwdXQoV2ViQ29yZTo6
SURCVHJhbnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgV2ViQ29yZTo6UHV0T3BlcmF0aW9uJiwgc3Rk
OjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCS2V5PiwgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpJREJEYXRhYmFzZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7
CiAgICAgdmlydHVhbCB2b2lkIG9wZW5DdXJzb3IoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb25CYWNr
ZW5kJiwgY29uc3QgV2ViQ29yZTo6T3BlbkN1cnNvck9wZXJhdGlvbiYsIHN0ZDo6ZnVuY3Rpb248
dm9pZChQYXNzUmVmUHRyPFdlYkNvcmU6OklEQkRhdGFiYXNlRXJyb3I+KT4gY29tcGxldGlvbkNh
bGxiYWNrKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgY291bnQoV2ViQ29yZTo6SURCVHJh
bnNhY3Rpb25CYWNrZW5kJiwgY29uc3QgV2ViQ29yZTo6Q291bnRPcGVyYXRpb24mLCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoUGFzc1JlZlB0cjxXZWJDb3JlOjpJREJEYXRhYmFzZUVycm9yPik+IGNvbXBs
ZXRpb25DYWxsYmFjaykgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGRlbGV0ZVJhbmdlKFdl
YkNvcmU6OklEQlRyYW5zYWN0aW9uQmFja2VuZCYsIGNvbnN0IFdlYkNvcmU6OkRlbGV0ZVJhbmdl
T3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2b2lkKFBhc3NSZWZQdHI8V2ViQ29yZTo6SURCRGF0
YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spIG92ZXJyaWRlOwo=
</data>
<flag name="review"
          id="245787"
          type_id="1"
          status="+"
          setter="bdakin"
    />
          </attachment>
      

    </bug>

</bugzilla>