<?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>44491</bug_id>
          
          <creation_ts>2010-08-23 23:37:16 -0700</creation_ts>
          <short_desc>Deploy adoptPtr in WebCore/storage</short_desc>
          <delta_ts>2010-08-24 00:53:44 -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>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>268337</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-23 23:37:16 -0700</bug_when>
    <thetext>Deploy adoptPtr in WebCore/storage</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268338</commentid>
    <comment_count>1</comment_count>
      <attachid>65216</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-23 23:38:45 -0700</bug_when>
    <thetext>Created attachment 65216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268341</commentid>
    <comment_count>2</comment_count>
      <attachid>65216</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-23 23:41:17 -0700</bug_when>
    <thetext>Comment on attachment 65216
Patch

I&apos;m confused.  Were some of these leaks before?

Also you use leakPtr, yet you say it&apos;s not defined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268345</commentid>
    <comment_count>3</comment_count>
      <attachid>65218</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-23 23:50:20 -0700</bug_when>
    <thetext>Created attachment 65218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268349</commentid>
    <comment_count>4</comment_count>
      <attachid>65218</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-23 23:57:22 -0700</bug_when>
    <thetext>Comment on attachment 65218
Patch

Using adoptPtr outside of create() seems like a bad idea.  I guess you&apos;re going to move all this code into create methods next?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268351</commentid>
    <comment_count>5</comment_count>
      <attachid>65218</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-24 00:00:00 -0700</bug_when>
    <thetext>Comment on attachment 65218
Patch

Yes.  This patch is just easier to do first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268367</commentid>
    <comment_count>6</comment_count>
      <attachid>65218</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-24 00:35:07 -0700</bug_when>
    <thetext>Comment on attachment 65218
Patch

Clearing flags on attachment: 65218

Committed r65871: &lt;http://trac.webkit.org/changeset/65871&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268368</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-08-24 00:35:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>268377</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-08-24 00:53:44 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/65871 might have broken Chromium Linux Release
The following changes are on the blame list:
http://trac.webkit.org/changeset/65872
http://trac.webkit.org/changeset/65871</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65216</attachid>
            <date>2010-08-23 23:38:45 -0700</date>
            <delta_ts>2010-08-23 23:50:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44491-20100823233844.patch</filename>
            <type>text/plain</type>
            <size>14124</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGM5M2ZjYjcyOWQ0Y2RmYjMxNTBkNWU2NDdmMzMwNzAxZmQ2MGRkYi4uMDAzOWM4MGNhM2FlMDBm
MDZjYjE1NDRjZTkzNTI1ZTJjZjg3NjQyNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw1MiBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIERlcGxveSBhZG9wdFB0ciBpbiBXZWJD
b3JlL3N0b3JhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0NDkxCisKKyAgICAgICAgVGhlcmUgYXJlIHN0aWxsIHNvbWUgbmFrZWQgbmV3cywgYnV0
IEkgd2Fzbid0IHN1cmUgaG93IHRvIG1hcmsgdGhlbS4KKyAgICAgICAgbGVha1B0ciBkb2Vzbid0
IHNlZW0gdG8gYmUgZGVmaW5lZC4gIFRoZSBuZXh0IHN0ZXAgaXMgdG8gbWFrZSBjcmVhdGUKKyAg
ICAgICAgbWV0aG9kcy4KKworICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrVGFzazo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRlcmVmQ29udGV4dFRhc2s6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpEZWxpdmVyUGVuZGluZ0NhbGxiYWNrVGFzazo6Y3JlYXRlKToKKyAgICAgICAgKiBzdG9yYWdl
L0RhdGFiYXNlU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDbG9zZVN5bmNEYXRhYmFzZU9u
Q29udGV4dFRocmVhZFRhc2s6OmNyZWF0ZSk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZVRh
c2suaDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZU9wZW5UYXNrOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlQ2xvc2VUYXNrOjpjcmVh
dGUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlVHJhbnNhY3Rpb25UYXNr
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2U6OkRhdGFiYXNlVGFibGVOYW1l
c1Rhc2s6OmNyZWF0ZSk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRocmVhZDo6RGF0YWJhc2VUaHJlYWQpOgorICAgICAg
ICAqIHN0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFi
YXNlVHJhY2tlcjo6cG9wdWxhdGVPcmlnaW5zKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNl
VHJhY2tlcjo6YWRkT3BlbkRhdGFiYXNlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleVRyZWUu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ojo6cHV0KToKKyAgICAgICAgKiBzdG9yYWdlL0lEQlBlbmRp
bmdUcmFuc2FjdGlvbk1vbml0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCUGVuZGluZ1Ry
YW5zYWN0aW9uTW9uaXRvcjo6YWRkUGVuZGluZ1RyYW5zYWN0aW9uKToKKyAgICAgICAgKiBzdG9y
YWdlL0xvY2FsU3RvcmFnZVRhc2suaDoKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU3RvcmFnZVRh
c2s6OmNyZWF0ZUltcG9ydCk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjpj
cmVhdGVTeW5jKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU3RvcmFnZVRhc2s6OmNyZWF0ZURl
bGV0ZUVtcHR5RGF0YWJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTdG9yYWdlVGFzazo6
Y3JlYXRlVGVybWluYXRlKToKKyAgICAgICAgKiBzdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUaHJlYWQ6OmNyZWF0ZSk6CisgICAg
ICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxU
cmFuc2FjdGlvbjo6b3BlblRyYW5zYWN0aW9uQW5kUHJlZmxpZ2h0KToKKyAgICAgICAgKiBzdG9y
YWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2Fj
dGlvblN5bmM6OlNRTFRyYW5zYWN0aW9uU3luYyk6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFu
c2FjdGlvblN5bmM6OmJlZ2luKToKKyAgICAgICAgKiBzdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJ
bXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VOYW1lc3BhY2VJbXBsOjpjb3B5KToK
KworMjAxMC0wOC0yMyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAgIEhUTUxUb2tlbml6ZXI6OmNy
ZWF0ZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDQ0
NzcKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcCBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZS5jcHAKaW5kZXggOTYxMzEwZDY3MGU0YjE3NDBjNWI4M2Q0MDZlZmJl
NGEwZTkzNzllZi4uMDg5ZjllZThkZTc1YThlMTQ3YWQ5NmMwOTE3ZDVlMjkyOGI2YjdmYyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2UuY3BwCkBAIC02NSw3ICs2NSw3IEBAIGNsYXNzIERhdGFiYXNlQ3JlYXRpb25D
YWxsYmFja1Rhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7CiBwdWJs
aWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RGF0YWJhc2VDcmVhdGlvbkNhbGxiYWNrVGFzaz4g
Y3JlYXRlKFBhc3NSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlLCBQYXNzUmVmUHRyPERhdGFiYXNl
Q2FsbGJhY2s+IGNyZWF0aW9uQ2FsbGJhY2spCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IERh
dGFiYXNlQ3JlYXRpb25DYWxsYmFja1Rhc2soZGF0YWJhc2UsIGNyZWF0aW9uQ2FsbGJhY2spOwor
ICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IERhdGFiYXNlQ3JlYXRpb25DYWxsYmFja1Rhc2so
ZGF0YWJhc2UsIGNyZWF0aW9uQ2FsbGJhY2spKTsKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQg
cGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopCkBAIC0xNDIsNyArMTQyLDcgQEAg
Y2xhc3MgRGVyZWZDb250ZXh0VGFzayA6IHB1YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpU
YXNrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEZXJlZkNvbnRleHRUYXNrPiBj
cmVhdGUoUGFzc1JlZlB0cjxTY3JpcHRFeGVjdXRpb25Db250ZXh0PiBjb250ZXh0KQogICAgIHsK
LSAgICAgICAgcmV0dXJuIG5ldyBEZXJlZkNvbnRleHRUYXNrKGNvbnRleHQpOworICAgICAgICBy
ZXR1cm4gYWRvcHRQdHIobmV3IERlcmVmQ29udGV4dFRhc2soY29udGV4dCkpOwogICAgIH0KIAog
ICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0KQpAQCAtMzI5LDcgKzMyOSw3IEBAIGNsYXNzIERlbGl2ZXJQZW5kaW5nQ2FsbGJhY2tUYXNr
IDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzT3duUHRyPERlbGl2ZXJQZW5kaW5nQ2FsbGJhY2tUYXNrPiBjcmVhdGUoUGFzc1Jl
ZlB0cjxTUUxUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCiAgICAgewotICAgICAgICByZXR1cm4g
bmV3IERlbGl2ZXJQZW5kaW5nQ2FsbGJhY2tUYXNrKHRyYW5zYWN0aW9uKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UHRyKG5ldyBEZWxpdmVyUGVuZGluZ0NhbGxiYWNrVGFzayh0cmFuc2FjdGlvbikp
OwogICAgIH0KIAogICAgIHZpcnR1YWwgdm9pZCBwZXJmb3JtVGFzayhTY3JpcHRFeGVjdXRpb25D
b250ZXh0KikKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwIGIv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAKaW5kZXggODE3ZmRjYzZhMWMyZDIxOGVi
NDUyY2NmNDE3YjJjMjM2ZjQ4MDExZS4uOWM2NTRhMTc0MTM3ODJhY2U1MTYyOWM2Yzc0OTk3M2Ri
Mjc0MmI2NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAKKysr
IGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAKQEAgLTE2MSw3ICsxNjEsNyBAQCBj
bGFzcyBDbG9zZVN5bmNEYXRhYmFzZU9uQ29udGV4dFRocmVhZFRhc2sgOiBwdWJsaWMgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6VGFzawogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPENs
b3NlU3luY0RhdGFiYXNlT25Db250ZXh0VGhyZWFkVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8RGF0
YWJhc2VTeW5jPiBkYXRhYmFzZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgQ2xvc2VTeW5j
RGF0YWJhc2VPbkNvbnRleHRUaHJlYWRUYXNrKGRhdGFiYXNlKTsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UHRyKG5ldyBDbG9zZVN5bmNEYXRhYmFzZU9uQ29udGV4dFRocmVhZFRhc2soZGF0YWJhc2Up
KTsKICAgICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCopCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmggYi9X
ZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKaW5kZXggODQ3ODQ2ZGIwZDE5NjUwNDNjZDk0
Y2IxZDQxYmViNmY3MTA4ODliNy4uYjYxZTQ2NTczNGJhMGU0ODg5MjBhMGM0ZTNiNmIyYjY0Zjc3
MWZjNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaApAQCAtOTgsNyArOTgsNyBAQCBjbGFzcyBEYXRh
YmFzZTo6RGF0YWJhc2VPcGVuVGFzayA6IHB1YmxpYyBEYXRhYmFzZVRhc2sgewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPERhdGFiYXNlT3BlblRhc2s+IGNyZWF0ZShEYXRhYmFzZSog
ZGIsIGJvb2wgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIERhdGFiYXNlVGFza1N5bmNocm9uaXpl
ciogc3luY2hyb25pemVyLCBFeGNlcHRpb25Db2RlJiBjb2RlLCBib29sJiBzdWNjZXNzKQogICAg
IHsKLSAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFzZU9wZW5UYXNrKGRiLCBzZXRWZXJzaW9uSW5O
ZXdEYXRhYmFzZSwgc3luY2hyb25pemVyLCBjb2RlLCBzdWNjZXNzKTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBEYXRhYmFzZU9wZW5UYXNrKGRiLCBzZXRWZXJzaW9uSW5OZXdEYXRhYmFz
ZSwgc3luY2hyb25pemVyLCBjb2RlLCBzdWNjZXNzKSk7CiAgICAgfQogCiBwcml2YXRlOgpAQCAt
MTE4LDcgKzExOCw3IEBAIGNsYXNzIERhdGFiYXNlOjpEYXRhYmFzZUNsb3NlVGFzayA6IHB1Ymxp
YyBEYXRhYmFzZVRhc2sgewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPERhdGFiYXNl
Q2xvc2VUYXNrPiBjcmVhdGUoRGF0YWJhc2UqIGRiLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIq
IHN5bmNocm9uaXplcikKICAgICB7Ci0gICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2VDbG9zZVRh
c2soZGIsIHN5bmNocm9uaXplcik7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgRGF0YWJh
c2VDbG9zZVRhc2soZGIsIHN5bmNocm9uaXplcikpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTEz
NSw3ICsxMzUsNyBAQCBwdWJsaWM6CiAgICAgLy8gVHJhbnNhY3Rpb24gdGFzayBpcyBuZXZlciBz
eW5jaHJvbm91cywgc28gbm8gJ3N5bmNocm9uaXplcicgcGFyYW1ldGVyLgogICAgIHN0YXRpYyBQ
YXNzT3duUHRyPERhdGFiYXNlVHJhbnNhY3Rpb25UYXNrPiBjcmVhdGUoUGFzc1JlZlB0cjxTUUxU
cmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24pCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IERhdGFi
YXNlVHJhbnNhY3Rpb25UYXNrKHRyYW5zYWN0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBEYXRhYmFzZVRyYW5zYWN0aW9uVGFzayh0cmFuc2FjdGlvbikpOwogICAgIH0KIAogICAg
IFNRTFRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNhY3Rp
b24uZ2V0KCk7IH0KQEAgLTE1NSw3ICsxNTUsNyBAQCBjbGFzcyBEYXRhYmFzZTo6RGF0YWJhc2VU
YWJsZU5hbWVzVGFzayA6IHB1YmxpYyBEYXRhYmFzZVRhc2sgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzT3duUHRyPERhdGFiYXNlVGFibGVOYW1lc1Rhc2s+IGNyZWF0ZShEYXRhYmFzZSogZGIs
IERhdGFiYXNlVGFza1N5bmNocm9uaXplciogc3luY2hyb25pemVyLCBWZWN0b3I8U3RyaW5nPiYg
bmFtZXMpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IERhdGFiYXNlVGFibGVOYW1lc1Rhc2so
ZGIsIHN5bmNocm9uaXplciwgbmFtZXMpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IERh
dGFiYXNlVGFibGVOYW1lc1Rhc2soZGIsIHN5bmNocm9uaXplciwgbmFtZXMpKTsKICAgICB9CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJlYWQuY3Bw
IGIvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAppbmRleCA5OWNmM2I5NGU1MGVk
MGQ4Y2RhZDMzNDFmNGU0ZTQzYzViZWUxZWM1Li4zYjc5MGVlNzNjYTFiOTViMWFlMWU0MDBjOTY0
OGZiOWIxODEyMDVmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJlYWQu
Y3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHAKQEAgLTQzLDggKzQz
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBEYXRhYmFzZVRocmVhZDo6RGF0YWJhc2VUaHJl
YWQoKQogICAgIDogbV90aHJlYWRJRCgwKQotICAgICwgbV90cmFuc2FjdGlvbkNsaWVudChuZXcg
U1FMVHJhbnNhY3Rpb25DbGllbnQoKSkKLSAgICAsIG1fdHJhbnNhY3Rpb25Db29yZGluYXRvcihu
ZXcgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcigpKQorICAgICwgbV90cmFuc2FjdGlvbkNsaWVu
dChhZG9wdFB0cihuZXcgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSkpCisgICAgLCBtX3RyYW5zYWN0
aW9uQ29vcmRpbmF0b3IoYWRvcHRQdHIobmV3IFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSkp
CiAgICAgLCBtX2NsZWFudXBTeW5jKDApCiB7CiAgICAgbV9zZWxmUmVmID0gdGhpczsKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwIGIvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5jcHAKaW5kZXggZTBiYTQyMjE4ZTE2Y2NkODJhY2YzYWNhYzgw
YTc1YWFiNDRkYTk4Zi4uMWExMzYxMmM2MmMzNjUwNDA2MmVjYWE0Y2M0OTczYmJjNDc1MzIzZiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAKKysrIGIvV2Vi
Q29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAKQEAgLTMzNiw3ICszMzYsNyBAQCB2b2lk
IERhdGFiYXNlVHJhY2tlcjo6cG9wdWxhdGVPcmlnaW5zKCkKICAgICBpZiAobV9xdW90YU1hcCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9xdW90YU1hcC5zZXQobmV3IFF1b3RhTWFwKTsKKyAg
ICBtX3F1b3RhTWFwID0gYWRvcHRQdHIobmV3IFF1b3RhTWFwKTsKIAogICAgIG9wZW5UcmFja2Vy
RGF0YWJhc2UoZmFsc2UpOwogICAgIGlmICghbV9kYXRhYmFzZS5pc09wZW4oKSkKQEAgLTUxNiw3
ICs1MTYsNyBAQCB2b2lkIERhdGFiYXNlVHJhY2tlcjo6YWRkT3BlbkRhdGFiYXNlKEFic3RyYWN0
RGF0YWJhc2UqIGRhdGFiYXNlKQogICAgICAgICBNdXRleExvY2tlciBvcGVuRGF0YWJhc2VNYXBM
b2NrKG1fb3BlbkRhdGFiYXNlTWFwR3VhcmQpOwogCiAgICAgICAgIGlmICghbV9vcGVuRGF0YWJh
c2VNYXApCi0gICAgICAgICAgICBtX29wZW5EYXRhYmFzZU1hcC5zZXQobmV3IERhdGFiYXNlT3Jp
Z2luTWFwKTsKKyAgICAgICAgICAgIG1fb3BlbkRhdGFiYXNlTWFwID0gYWRvcHRQdHIobmV3IERh
dGFiYXNlT3JpZ2luTWFwKTsKIAogICAgICAgICBTdHJpbmcgbmFtZShkYXRhYmFzZS0+c3RyaW5n
SWRlbnRpZmllcigpKTsKICAgICAgICAgRGF0YWJhc2VOYW1lTWFwKiBuYW1lTWFwID0gbV9vcGVu
RGF0YWJhc2VNYXAtPmdldChkYXRhYmFzZS0+c2VjdXJpdHlPcmlnaW4oKSk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5VHJlZS5oIGIvV2ViQ29yZS9zdG9yYWdlL0lEQktleVRy
ZWUuaAppbmRleCA3MGQ2ZjgzY2JlODdjN2UzOTczNmQzMzk5MzliZjc5YTg0OGEyMzk4Li42N2Zl
NjQ5YmI1MzUyZmE4MmU0Njk3YmRiZTgwMDA2M2IxMDU1NGVhIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3N0b3JhZ2UvSURCS2V5VHJlZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlUcmVlLmgK
QEAgLTEzMSw3ICsxMzEsNyBAQCB2b2lkIElEQktleVRyZWU8VmFsdWVUeXBlPjo6cHV0KElEQktl
eSoga2V5LCBWYWx1ZVR5cGUqIHZhbHVlKQogewogICAgIFRyZWVOb2RlKiBub2RlID0gbV90cmVl
LnNlYXJjaChrZXkpOwogICAgIGlmICghbm9kZSkgewotICAgICAgICBub2RlID0gbmV3IFRyZWVO
b2RlKCk7CisgICAgICAgIG5vZGUgPSBsZWFrUHRyKG5ldyBUcmVlTm9kZSgpKTsKICAgICAgICAg
bm9kZS0+a2V5ID0ga2V5OwogICAgICAgICBtX3RyZWUuaW5zZXJ0KG5vZGUpOwogICAgIH0KZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmNw
cCBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yLmNwcAppbmRl
eCBkMDI2MDk5MDhhYjU3Y2RjMDFkMzk4Njk1ZWIyNjUzNjMyMzYxYTliLi41OWY0MzAwNGMwNWNh
YTY0NDY3MjBhY2FhNDI1N2ZmY2JhMTljNmNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2Uv
SURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0lE
QlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuY3BwCkBAIC00MCw3ICs0MCw3IEBAIGJvb2wgSURC
UGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvcjo6aGFzUGVuZGluZ1RyYW5zYWN0aW9ucygpCiB2b2lk
IElEQlBlbmRpbmdUcmFuc2FjdGlvbk1vbml0b3I6OmFkZFBlbmRpbmdUcmFuc2FjdGlvbihpbnQg
aWQpCiB7CiAgICAgaWYgKCFtX2lkcykKLSAgICAgICAgbV9pZHMgPSBuZXcgVmVjdG9yPGludD4o
KTsKKyAgICAgICAgbV9pZHMgPSBsZWFrUHRyKG5ldyBWZWN0b3I8aW50PigpKTsKICAgICBtX2lk
cy0+YXBwZW5kKGlkKTsKIH0KIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3Rv
cmFnZVRhc2suaCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUYXNrLmgKaW5kZXggOGQ1
M2NlNGE1MzY4YzViNjhmNWNjOTVmZjMzNzhlMDI5Nzk3N2M1MS4uYTJlMzVlYWI5ZWVjOWNiODlj
MzUzOWViNzFiZTkyYTI4NWU2N2I4ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0xvY2Fs
U3RvcmFnZVRhc2suaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCkBA
IC00MywxMCArNDMsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIH5Mb2NhbFN0
b3JhZ2VUYXNrKCk7CiAKLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGFz
az4gY3JlYXRlSW1wb3J0KFN0b3JhZ2VBcmVhU3luYyogYXJlYSkgeyByZXR1cm4gbmV3IExvY2Fs
U3RvcmFnZVRhc2soQXJlYUltcG9ydCwgYXJlYSk7IH0KLSAgICAgICAgc3RhdGljIFBhc3NPd25Q
dHI8TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRlU3luYyhTdG9yYWdlQXJlYVN5bmMqIGFyZWEpIHsg
cmV0dXJuIG5ldyBMb2NhbFN0b3JhZ2VUYXNrKEFyZWFTeW5jLCBhcmVhKTsgfQotICAgICAgICBz
dGF0aWMgUGFzc093blB0cjxMb2NhbFN0b3JhZ2VUYXNrPiBjcmVhdGVEZWxldGVFbXB0eURhdGFi
YXNlKFN0b3JhZ2VBcmVhU3luYyogYXJlYSkgeyByZXR1cm4gbmV3IExvY2FsU3RvcmFnZVRhc2so
RGVsZXRlRW1wdHlEYXRhYmFzZSwgYXJlYSk7IH0KLSAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8
TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRlVGVybWluYXRlKExvY2FsU3RvcmFnZVRocmVhZCogdGhy
ZWFkKSB7IHJldHVybiBuZXcgTG9jYWxTdG9yYWdlVGFzayhUZXJtaW5hdGVUaHJlYWQsIHRocmVh
ZCk7IH0KKyAgICAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRl
SW1wb3J0KFN0b3JhZ2VBcmVhU3luYyogYXJlYSkgeyByZXR1cm4gYWRvcHRQdHIobmV3IExvY2Fs
U3RvcmFnZVRhc2soQXJlYUltcG9ydCwgYXJlYSkpOyB9CisgICAgICAgIHN0YXRpYyBQYXNzT3du
UHRyPExvY2FsU3RvcmFnZVRhc2s+IGNyZWF0ZVN5bmMoU3RvcmFnZUFyZWFTeW5jKiBhcmVhKSB7
IHJldHVybiBhZG9wdFB0cihuZXcgTG9jYWxTdG9yYWdlVGFzayhBcmVhU3luYywgYXJlYSkpOyB9
CisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRhc2s+IGNyZWF0ZURlbGV0
ZUVtcHR5RGF0YWJhc2UoU3RvcmFnZUFyZWFTeW5jKiBhcmVhKSB7IHJldHVybiBhZG9wdFB0cihu
ZXcgTG9jYWxTdG9yYWdlVGFzayhEZWxldGVFbXB0eURhdGFiYXNlLCBhcmVhKSk7IH0KKyAgICAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRlVGVybWluYXRlKExv
Y2FsU3RvcmFnZVRocmVhZCogdGhyZWFkKSB7IHJldHVybiBhZG9wdFB0cihuZXcgTG9jYWxTdG9y
YWdlVGFzayhUZXJtaW5hdGVUaHJlYWQsIHRocmVhZCkpOyB9CiAKICAgICAgICAgdm9pZCBwZXJm
b3JtVGFzaygpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhy
ZWFkLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuY3BwCmluZGV4IGQ0
YTdiNGNjNjNkODA1ZWM2ZWVlY2VhNjg5YmE2MjkzNjNiZmM1M2EuLmNiYjgxYzU0NWNhMjYxNWJi
YzliMDM4ZGM5NGE5NDFjMmEyMGQ4NjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2Nh
bFN0b3JhZ2VUaHJlYWQuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJl
YWQuY3BwCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogUGFzc093blB0
cjxMb2NhbFN0b3JhZ2VUaHJlYWQ+IExvY2FsU3RvcmFnZVRocmVhZDo6Y3JlYXRlKCkKIHsKLSAg
ICByZXR1cm4gbmV3IExvY2FsU3RvcmFnZVRocmVhZDsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3
IExvY2FsU3RvcmFnZVRocmVhZCk7CiB9CiAKIExvY2FsU3RvcmFnZVRocmVhZDo6TG9jYWxTdG9y
YWdlVGhyZWFkKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwCmluZGV4IGI4ODM3YzliYTJj
NmExOTg4NTA3Mjc1NGZmNzljMTc4OTgyOWUxYTAuLmZlYWE0NmU0MWFlZmUwMWZlMTk1N2Q1ZjA4
NTQ3MWVmNGUwODJlNzAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bi5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmNwcApAQCAtMjU1LDcg
KzI1NSw3IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb246Om9wZW5UcmFuc2FjdGlvbkFuZFByZWZsaWdo
dCgpCiAgICAgICAgIG1fZGF0YWJhc2UtPnNxbGl0ZURhdGFiYXNlKCkuc2V0TWF4aW11bVNpemUo
bV9kYXRhYmFzZS0+bWF4aW11bVNpemUoKSk7CiAKICAgICBBU1NFUlQoIW1fc3FsaXRlVHJhbnNh
Y3Rpb24pOwotICAgIG1fc3FsaXRlVHJhbnNhY3Rpb24uc2V0KG5ldyBTUUxpdGVUcmFuc2FjdGlv
bihtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLCBtX3JlYWRPbmx5KSk7CisgICAgbV9zcWxp
dGVUcmFuc2FjdGlvbiA9IGFkb3B0UHRyKG5ldyBTUUxpdGVUcmFuc2FjdGlvbihtX2RhdGFiYXNl
LT5zcWxpdGVEYXRhYmFzZSgpLCBtX3JlYWRPbmx5KSk7CiAKICAgICBtX2RhdGFiYXNlLT5yZXNl
dERlbGV0ZXMoKTsKICAgICBtX2RhdGFiYXNlLT5kaXNhYmxlQXV0aG9yaXplcigpOwpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHAgYi9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmNwcAppbmRleCBlNTZkN2I0Y2Q3NTgwZWQwNzU1Yjhj
YWIwNjhlNzNiYTgyMzFmMWUzLi44N2YxZWZmYTYxNWE1YmNkNWIwMWJjMWI1ZGYyMTQ0ZTFlMWNl
MWFlIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmNwcAor
KysgYi9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmNwcApAQCAtNTgsNyArNTgs
NyBAQCBTUUxUcmFuc2FjdGlvblN5bmM6OlNRTFRyYW5zYWN0aW9uU3luYyhEYXRhYmFzZVN5bmMq
IGRiLCBQYXNzUmVmUHRyPFNRTFRyYW5zYWN0aQogICAgICwgbV9jYWxsYmFjayhjYWxsYmFjaykK
ICAgICAsIG1fcmVhZE9ubHkocmVhZE9ubHkpCiAgICAgLCBtX21vZGlmaWVkRGF0YWJhc2UoZmFs
c2UpCi0gICAgLCBtX3RyYW5zYWN0aW9uQ2xpZW50KG5ldyBTUUxUcmFuc2FjdGlvbkNsaWVudCgp
KQorICAgICwgbV90cmFuc2FjdGlvbkNsaWVudChhZG9wdFB0cihuZXcgU1FMVHJhbnNhY3Rpb25D
bGllbnQoKSkpCiB7CiAgICAgQVNTRVJUKG1fZGF0YWJhc2UtPnNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKS0+aXNDb250ZXh0VGhyZWFkKCkpOwogfQpAQCAtMTMwLDcgKzEzMCw3IEBAIEV4Y2VwdGlv
bkNvZGUgU1FMVHJhbnNhY3Rpb25TeW5jOjpiZWdpbigpCiAgICAgICAgIG1fZGF0YWJhc2UtPnNx
bGl0ZURhdGFiYXNlKCkuc2V0TWF4aW11bVNpemUobV9kYXRhYmFzZS0+bWF4aW11bVNpemUoKSk7
CiAKICAgICBBU1NFUlQoIW1fc3FsaXRlVHJhbnNhY3Rpb24pOwotICAgIG1fc3FsaXRlVHJhbnNh
Y3Rpb24uc2V0KG5ldyBTUUxpdGVUcmFuc2FjdGlvbihtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFz
ZSgpLCBtX3JlYWRPbmx5KSk7CisgICAgbV9zcWxpdGVUcmFuc2FjdGlvbiA9IGFkb3B0UHRyKG5l
dyBTUUxpdGVUcmFuc2FjdGlvbihtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLCBtX3JlYWRP
bmx5KSk7CiAKICAgICBtX2RhdGFiYXNlLT5yZXNldERlbGV0ZXMoKTsKICAgICBtX2RhdGFiYXNl
LT5kaXNhYmxlQXV0aG9yaXplcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1w
bC5jcHAKaW5kZXggMGYwN2UwNzk0NDU4NzA3OTM3MWM1Y2MzM2NlNTI1MzEzYzVjYTIzOC4uM2Ey
MTQ4OWMzOTgzYzI0ZTQ5MmQyNzNhNDM3ZDM2NjVhYWU4YzhjZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9zdG9yYWdlL1N0b3JhZ2VOYW1lc3BhY2VJbXBsLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZU5hbWVzcGFjZUltcGwuY3BwCkBAIC05MywxMiArOTMsMTIgQEAgUGFzc1JlZlB0cjxT
dG9yYWdlTmFtZXNwYWNlPiBTdG9yYWdlTmFtZXNwYWNlSW1wbDo6Y29weSgpCiAgICAgQVNTRVJU
KCFtX2lzU2h1dGRvd24pOwogICAgIEFTU0VSVChtX3N0b3JhZ2VUeXBlID09IFNlc3Npb25TdG9y
YWdlKTsKIAotICAgIFN0b3JhZ2VOYW1lc3BhY2VJbXBsKiBuZXdOYW1lc3BhY2UgPSBuZXcgU3Rv
cmFnZU5hbWVzcGFjZUltcGwobV9zdG9yYWdlVHlwZSwgbV9wYXRoLCBtX3F1b3RhKTsKKyAgICBS
ZWZQdHI8U3RvcmFnZU5hbWVzcGFjZUltcGw+IG5ld05hbWVzcGFjZSA9IGFkb3B0UmVmKG5ldyBT
dG9yYWdlTmFtZXNwYWNlSW1wbChtX3N0b3JhZ2VUeXBlLCBtX3BhdGgsIG1fcXVvdGEpKTsKIAog
ICAgIFN0b3JhZ2VBcmVhTWFwOjppdGVyYXRvciBlbmQgPSBtX3N0b3JhZ2VBcmVhTWFwLmVuZCgp
OwogICAgIGZvciAoU3RvcmFnZUFyZWFNYXA6Oml0ZXJhdG9yIGkgPSBtX3N0b3JhZ2VBcmVhTWFw
LmJlZ2luKCk7IGkgIT0gZW5kOyArK2kpCiAgICAgICAgIG5ld05hbWVzcGFjZS0+bV9zdG9yYWdl
QXJlYU1hcC5zZXQoaS0+Zmlyc3QsIGktPnNlY29uZC0+Y29weSgpKTsKLSAgICByZXR1cm4gYWRv
cHRSZWYobmV3TmFtZXNwYWNlKTsKKyAgICByZXR1cm4gbmV3TmFtZXNwYWNlLnJlbGVhc2UoKTsK
IH0KIAogUGFzc1JlZlB0cjxTdG9yYWdlQXJlYT4gU3RvcmFnZU5hbWVzcGFjZUltcGw6OnN0b3Jh
Z2VBcmVhKFBhc3NSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IHBycE9yaWdpbikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>65218</attachid>
            <date>2010-08-23 23:50:20 -0700</date>
            <delta_ts>2010-08-24 00:35:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-44491-20100823235019.patch</filename>
            <type>text/plain</type>
            <size>14062</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZGM5M2ZjYjcyOWQ0Y2RmYjMxNTBkNWU2NDdmMzMwNzAxZmQ2MGRkYi4uYTgzZjYzNjc5YTJhYmJh
YzA3NzFmODY2MGY0MjgwYjRhNTYyOTBkZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTIsNiArMiw1MSBAQAogCiAgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIERlcGxveSBhZG9wdFB0ciBpbiBXZWJD
b3JlL3N0b3JhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ0NDkxCisKKyAgICAgICAgVGhlcmUgYXJlIHN0aWxsIHNvbWUgbmFrZWQgbmV3cyBmb3Ig
YSBmdXR1cmUgcGF0Y2guICBUaGUgbmV4dCBzdGVwIGlzCisgICAgICAgIHRvIG1ha2UgY3JlYXRl
IG1ldGhvZHMuCisKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkRhdGFiYXNlQ3JlYXRpb25DYWxsYmFja1Rhc2s6OmNyZWF0ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpEZXJlZkNvbnRleHRUYXNrOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6RGVs
aXZlclBlbmRpbmdDYWxsYmFja1Rhc2s6OmNyZWF0ZSk6CisgICAgICAgICogc3RvcmFnZS9EYXRh
YmFzZVN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2xvc2VTeW5jRGF0YWJhc2VPbkNvbnRl
eHRUaHJlYWRUYXNrOjpjcmVhdGUpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNrLmg6
CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZTo6RGF0YWJhc2VPcGVuVGFzazo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZUNsb3NlVGFzazo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZVRyYW5zYWN0aW9uVGFzazo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlOjpEYXRhYmFzZVRhYmxlTmFtZXNUYXNr
OjpjcmVhdGUpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUaHJlYWQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RGF0YWJhc2VUaHJlYWQ6OkRhdGFiYXNlVGhyZWFkKToKKyAgICAgICAgKiBz
dG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRy
YWNrZXI6OnBvcHVsYXRlT3JpZ2lucyk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZVRyYWNr
ZXI6OmFkZE9wZW5EYXRhYmFzZSk6CisgICAgICAgICogc3RvcmFnZS9JREJLZXlUcmVlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjo6OnB1dCk6CisgICAgICAgICogc3RvcmFnZS9JREJQZW5kaW5nVHJh
bnNhY3Rpb25Nb25pdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlBlbmRpbmdUcmFuc2Fj
dGlvbk1vbml0b3I6OmFkZFBlbmRpbmdUcmFuc2FjdGlvbik6CisgICAgICAgICogc3RvcmFnZS9M
b2NhbFN0b3JhZ2VUYXNrLmg6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjpj
cmVhdGVJbXBvcnQpOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxTdG9yYWdlVGFzazo6Y3JlYXRl
U3luYyk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbFN0b3JhZ2VUYXNrOjpjcmVhdGVEZWxldGVF
bXB0eURhdGFiYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsU3RvcmFnZVRhc2s6OmNyZWF0
ZVRlcm1pbmF0ZSk6CisgICAgICAgICogc3RvcmFnZS9Mb2NhbFN0b3JhZ2VUaHJlYWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TG9jYWxTdG9yYWdlVGhyZWFkOjpjcmVhdGUpOgorICAgICAgICAq
IHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNh
Y3Rpb246Om9wZW5UcmFuc2FjdGlvbkFuZFByZWZsaWdodCk6CisgICAgICAgICogc3RvcmFnZS9T
UUxUcmFuc2FjdGlvblN5bmMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rpb25T
eW5jOjpTUUxUcmFuc2FjdGlvblN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6U1FMVHJhbnNhY3Rp
b25TeW5jOjpiZWdpbik6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTdG9yYWdlTmFtZXNwYWNlSW1wbDo6Y29weSk6CisKKzIw
MTAtMDgtMjMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBIVE1MVG9rZW5pemVyOjpjcmVhdGUK
ICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ0NDc3CiAK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAgYi9XZWJDb3JlL3N0b3Jh
Z2UvRGF0YWJhc2UuY3BwCmluZGV4IDk2MTMxMGQ2NzBlNGIxNzQwYzViODNkNDA2ZWZiZTRhMGU5
Mzc5ZWYuLjA4OWY5ZWU4ZGU3NWE4ZTE0N2FkOTZjMDkxN2Q1ZTI5MjhiNmI3ZmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlLmNwcApAQCAtNjUsNyArNjUsNyBAQCBjbGFzcyBEYXRhYmFzZUNyZWF0aW9uQ2FsbGJh
Y2tUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OlRhc2sgewogcHVibGljOgog
ICAgIHN0YXRpYyBQYXNzT3duUHRyPERhdGFiYXNlQ3JlYXRpb25DYWxsYmFja1Rhc2s+IGNyZWF0
ZShQYXNzUmVmUHRyPERhdGFiYXNlPiBkYXRhYmFzZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxi
YWNrPiBjcmVhdGlvbkNhbGxiYWNrKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFz
ZUNyZWF0aW9uQ2FsbGJhY2tUYXNrKGRhdGFiYXNlLCBjcmVhdGlvbkNhbGxiYWNrKTsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEYXRhYmFzZUNyZWF0aW9uQ2FsbGJhY2tUYXNrKGRhdGFi
YXNlLCBjcmVhdGlvbkNhbGxiYWNrKSk7CiAgICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBlcmZv
cm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKQpAQCAtMTQyLDcgKzE0Miw3IEBAIGNsYXNz
IERlcmVmQ29udGV4dFRhc2sgOiBwdWJsaWMgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6VGFzayB7
CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8RGVyZWZDb250ZXh0VGFzaz4gY3JlYXRl
KFBhc3NSZWZQdHI8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD4gY29udGV4dCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBuZXcgRGVyZWZDb250ZXh0VGFzayhjb250ZXh0KTsKKyAgICAgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBEZXJlZkNvbnRleHRUYXNrKGNvbnRleHQpKTsKICAgICB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkK
QEAgLTMyOSw3ICszMjksNyBAQCBjbGFzcyBEZWxpdmVyUGVuZGluZ0NhbGxiYWNrVGFzayA6IHB1
YmxpYyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpUYXNrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UGFzc093blB0cjxEZWxpdmVyUGVuZGluZ0NhbGxiYWNrVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8
U1FMVHJhbnNhY3Rpb24+IHRyYW5zYWN0aW9uKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBE
ZWxpdmVyUGVuZGluZ0NhbGxiYWNrVGFzayh0cmFuc2FjdGlvbik7CisgICAgICAgIHJldHVybiBh
ZG9wdFB0cihuZXcgRGVsaXZlclBlbmRpbmdDYWxsYmFja1Rhc2sodHJhbnNhY3Rpb24pKTsKICAg
ICB9CiAKICAgICB2aXJ0dWFsIHZvaWQgcGVyZm9ybVRhc2soU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCopCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmNwcCBiL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCmluZGV4IDgxN2ZkY2M2YTFjMmQyMThlYjQ1MmNj
ZjQxN2IyYzIzNmY0ODAxMWUuLjljNjU0YTE3NDEzNzgyYWNlNTE2MjljNmM3NDk5NzNkYjI3NDJi
NjQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCisrKyBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAgY2xhc3Mg
Q2xvc2VTeW5jRGF0YWJhc2VPbkNvbnRleHRUaHJlYWRUYXNrIDogcHVibGljIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OlRhc2sKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxDbG9zZVN5
bmNEYXRhYmFzZU9uQ29udGV4dFRocmVhZFRhc2s+IGNyZWF0ZShQYXNzUmVmUHRyPERhdGFiYXNl
U3luYz4gZGF0YWJhc2UpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IENsb3NlU3luY0RhdGFi
YXNlT25Db250ZXh0VGhyZWFkVGFzayhkYXRhYmFzZSk7CisgICAgICAgIHJldHVybiBhZG9wdFB0
cihuZXcgQ2xvc2VTeW5jRGF0YWJhc2VPbkNvbnRleHRUaHJlYWRUYXNrKGRhdGFiYXNlKSk7CiAg
ICAgfQogCiAgICAgdmlydHVhbCB2b2lkIHBlcmZvcm1UYXNrKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oIGIvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCmluZGV4IDg0Nzg0NmRiMGQxOTY1MDQzY2Q5NGNiMWQ0
MWJlYjZmNzEwODg5YjcuLmI2MWU0NjU3MzRiYTBlNDg4OTIwYTBjNGUzYjZiMmI2NGY3NzFmYzYg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAorKysgYi9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKQEAgLTk4LDcgKzk4LDcgQEAgY2xhc3MgRGF0YWJhc2U6
OkRhdGFiYXNlT3BlblRhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKIHB1YmxpYzoKICAgICBz
dGF0aWMgUGFzc093blB0cjxEYXRhYmFzZU9wZW5UYXNrPiBjcmVhdGUoRGF0YWJhc2UqIGRiLCBi
b29sIHNldFZlcnNpb25Jbk5ld0RhdGFiYXNlLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5
bmNocm9uaXplciwgRXhjZXB0aW9uQ29kZSYgY29kZSwgYm9vbCYgc3VjY2VzcykKICAgICB7Ci0g
ICAgICAgIHJldHVybiBuZXcgRGF0YWJhc2VPcGVuVGFzayhkYiwgc2V0VmVyc2lvbkluTmV3RGF0
YWJhc2UsIHN5bmNocm9uaXplciwgY29kZSwgc3VjY2Vzcyk7CisgICAgICAgIHJldHVybiBhZG9w
dFB0cihuZXcgRGF0YWJhc2VPcGVuVGFzayhkYiwgc2V0VmVyc2lvbkluTmV3RGF0YWJhc2UsIHN5
bmNocm9uaXplciwgY29kZSwgc3VjY2VzcykpOwogICAgIH0KIAogcHJpdmF0ZToKQEAgLTExOCw3
ICsxMTgsNyBAQCBjbGFzcyBEYXRhYmFzZTo6RGF0YWJhc2VDbG9zZVRhc2sgOiBwdWJsaWMgRGF0
YWJhc2VUYXNrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc093blB0cjxEYXRhYmFzZUNsb3Nl
VGFzaz4gY3JlYXRlKERhdGFiYXNlKiBkYiwgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyKiBzeW5j
aHJvbml6ZXIpCiAgICAgewotICAgICAgICByZXR1cm4gbmV3IERhdGFiYXNlQ2xvc2VUYXNrKGRi
LCBzeW5jaHJvbml6ZXIpOworICAgICAgICByZXR1cm4gYWRvcHRQdHIobmV3IERhdGFiYXNlQ2xv
c2VUYXNrKGRiLCBzeW5jaHJvbml6ZXIpKTsKICAgICB9CiAKIHByaXZhdGU6CkBAIC0xMzUsNyAr
MTM1LDcgQEAgcHVibGljOgogICAgIC8vIFRyYW5zYWN0aW9uIHRhc2sgaXMgbmV2ZXIgc3luY2hy
b25vdXMsIHNvIG5vICdzeW5jaHJvbml6ZXInIHBhcmFtZXRlci4KICAgICBzdGF0aWMgUGFzc093
blB0cjxEYXRhYmFzZVRyYW5zYWN0aW9uVGFzaz4gY3JlYXRlKFBhc3NSZWZQdHI8U1FMVHJhbnNh
Y3Rpb24+IHRyYW5zYWN0aW9uKQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFzZVRy
YW5zYWN0aW9uVGFzayh0cmFuc2FjdGlvbik7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcg
RGF0YWJhc2VUcmFuc2FjdGlvblRhc2sodHJhbnNhY3Rpb24pKTsKICAgICB9CiAKICAgICBTUUxU
cmFuc2FjdGlvbiogdHJhbnNhY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX3RyYW5zYWN0aW9uLmdl
dCgpOyB9CkBAIC0xNTUsNyArMTU1LDcgQEAgY2xhc3MgRGF0YWJhc2U6OkRhdGFiYXNlVGFibGVO
YW1lc1Rhc2sgOiBwdWJsaWMgRGF0YWJhc2VUYXNrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c093blB0cjxEYXRhYmFzZVRhYmxlTmFtZXNUYXNrPiBjcmVhdGUoRGF0YWJhc2UqIGRiLCBEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXIqIHN5bmNocm9uaXplciwgVmVjdG9yPFN0cmluZz4mIG5hbWVz
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIG5ldyBEYXRhYmFzZVRhYmxlTmFtZXNUYXNrKGRiLCBz
eW5jaHJvbml6ZXIsIG5hbWVzKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBEYXRhYmFz
ZVRhYmxlTmFtZXNUYXNrKGRiLCBzeW5jaHJvbml6ZXIsIG5hbWVzKSk7CiAgICAgfQogCiBwcml2
YXRlOgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcCBiL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHAKaW5kZXggOTljZjNiOTRlNTBlZDBkOGNk
YWQzMzQxZjRlNGU0M2M1YmVlMWVjNS4uM2I3OTBlZTczY2ExYjk1YjFhZTFlNDAwYzk2NDhmYjli
MTgxMjA1ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAor
KysgYi9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJlYWQuY3BwCkBAIC00Myw4ICs0Myw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRGF0YWJhc2VUaHJlYWQ6OkRhdGFiYXNlVGhyZWFkKCkK
ICAgICA6IG1fdGhyZWFkSUQoMCkKLSAgICAsIG1fdHJhbnNhY3Rpb25DbGllbnQobmV3IFNRTFRy
YW5zYWN0aW9uQ2xpZW50KCkpCi0gICAgLCBtX3RyYW5zYWN0aW9uQ29vcmRpbmF0b3IobmV3IFNR
TFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IoKSkKKyAgICAsIG1fdHJhbnNhY3Rpb25DbGllbnQoYWRv
cHRQdHIobmV3IFNRTFRyYW5zYWN0aW9uQ2xpZW50KCkpKQorICAgICwgbV90cmFuc2FjdGlvbkNv
b3JkaW5hdG9yKGFkb3B0UHRyKG5ldyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yKCkpKQogICAg
ICwgbV9jbGVhbnVwU3luYygwKQogewogICAgIG1fc2VsZlJlZiA9IHRoaXM7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuY3BwCmluZGV4IGUwYmE0MjIxOGUxNmNjZDgyYWNmM2FjYWM4MGE3NWFh
YjQ0ZGE5OGYuLjFhMTM2MTJjNjJjMzY1MDQwNjJlY2FhNGNjNDk3M2JiYzQ3NTMyM2YgMTAwNjQ0
Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwCisrKyBiL1dlYkNvcmUv
c3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwCkBAIC0zMzYsNyArMzM2LDcgQEAgdm9pZCBEYXRh
YmFzZVRyYWNrZXI6OnBvcHVsYXRlT3JpZ2lucygpCiAgICAgaWYgKG1fcXVvdGFNYXApCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fcXVvdGFNYXAuc2V0KG5ldyBRdW90YU1hcCk7CisgICAgbV9x
dW90YU1hcCA9IGFkb3B0UHRyKG5ldyBRdW90YU1hcCk7CiAKICAgICBvcGVuVHJhY2tlckRhdGFi
YXNlKGZhbHNlKTsKICAgICBpZiAoIW1fZGF0YWJhc2UuaXNPcGVuKCkpCkBAIC01MTYsNyArNTE2
LDcgQEAgdm9pZCBEYXRhYmFzZVRyYWNrZXI6OmFkZE9wZW5EYXRhYmFzZShBYnN0cmFjdERhdGFi
YXNlKiBkYXRhYmFzZSkKICAgICAgICAgTXV0ZXhMb2NrZXIgb3BlbkRhdGFiYXNlTWFwTG9jayht
X29wZW5EYXRhYmFzZU1hcEd1YXJkKTsKIAogICAgICAgICBpZiAoIW1fb3BlbkRhdGFiYXNlTWFw
KQotICAgICAgICAgICAgbV9vcGVuRGF0YWJhc2VNYXAuc2V0KG5ldyBEYXRhYmFzZU9yaWdpbk1h
cCk7CisgICAgICAgICAgICBtX29wZW5EYXRhYmFzZU1hcCA9IGFkb3B0UHRyKG5ldyBEYXRhYmFz
ZU9yaWdpbk1hcCk7CiAKICAgICAgICAgU3RyaW5nIG5hbWUoZGF0YWJhc2UtPnN0cmluZ0lkZW50
aWZpZXIoKSk7CiAgICAgICAgIERhdGFiYXNlTmFtZU1hcCogbmFtZU1hcCA9IG1fb3BlbkRhdGFi
YXNlTWFwLT5nZXQoZGF0YWJhc2UtPnNlY3VyaXR5T3JpZ2luKCkpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9zdG9yYWdlL0lEQktleVRyZWUuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJLZXlUcmVlLmgK
aW5kZXggNzBkNmY4M2NiZTg3YzdlMzk3MzZkMzM5OTM5YmY3OWE4NDhhMjM5OC4uNjdmZTY0OWJi
NTM1MmZhODJlNDY5N2JkYmU4MDAwNjNiMTA1NTRlYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9y
YWdlL0lEQktleVRyZWUuaAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5VHJlZS5oCkBAIC0x
MzEsNyArMTMxLDcgQEAgdm9pZCBJREJLZXlUcmVlPFZhbHVlVHlwZT46OnB1dChJREJLZXkqIGtl
eSwgVmFsdWVUeXBlKiB2YWx1ZSkKIHsKICAgICBUcmVlTm9kZSogbm9kZSA9IG1fdHJlZS5zZWFy
Y2goa2V5KTsKICAgICBpZiAoIW5vZGUpIHsKLSAgICAgICAgbm9kZSA9IG5ldyBUcmVlTm9kZSgp
OworICAgICAgICBub2RlID0gbGVha1B0cihuZXcgVHJlZU5vZGUoKSk7CiAgICAgICAgIG5vZGUt
PmtleSA9IGtleTsKICAgICAgICAgbV90cmVlLmluc2VydChub2RlKTsKICAgICB9CmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5jcHAgYi9X
ZWJDb3JlL3N0b3JhZ2UvSURCUGVuZGluZ1RyYW5zYWN0aW9uTW9uaXRvci5jcHAKaW5kZXggZDAy
NjA5OTA4YWI1N2NkYzAxZDM5ODY5NWViMjY1MzYzMjM2MWE5Yi4uNTlmNDMwMDRjMDVjYWE2NDQ2
NzIwYWNhYTQyNTdmZmNiYTE5YzZjZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQlBl
bmRpbmdUcmFuc2FjdGlvbk1vbml0b3IuY3BwCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJQZW5k
aW5nVHJhbnNhY3Rpb25Nb25pdG9yLmNwcApAQCAtNDAsNyArNDAsNyBAQCBib29sIElEQlBlbmRp
bmdUcmFuc2FjdGlvbk1vbml0b3I6Omhhc1BlbmRpbmdUcmFuc2FjdGlvbnMoKQogdm9pZCBJREJQ
ZW5kaW5nVHJhbnNhY3Rpb25Nb25pdG9yOjphZGRQZW5kaW5nVHJhbnNhY3Rpb24oaW50IGlkKQog
ewogICAgIGlmICghbV9pZHMpCi0gICAgICAgIG1faWRzID0gbmV3IFZlY3RvcjxpbnQ+KCk7Cisg
ICAgICAgIG1faWRzID0gbGVha1B0cihuZXcgVmVjdG9yPGludD4oKSk7CiAgICAgbV9pZHMtPmFw
cGVuZChpZCk7CiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3JhZ2VU
YXNrLmggYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGFzay5oCmluZGV4IDhkNTNjZTRh
NTM2OGM1YjY4ZjVjYzk1ZmYzMzc4ZTAyOTc5NzdjNTEuLmEyZTM1ZWFiOWVlYzljYjg5YzM1Mzll
YjcxYmU5MmEyODVlNjdiOGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9Mb2NhbFN0b3Jh
Z2VUYXNrLmgKKysrIGIvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRhc2suaApAQCAtNDMs
MTAgKzQzLDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB+TG9jYWxTdG9yYWdl
VGFzaygpOwogCi0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRhc2s+IGNy
ZWF0ZUltcG9ydChTdG9yYWdlQXJlYVN5bmMqIGFyZWEpIHsgcmV0dXJuIG5ldyBMb2NhbFN0b3Jh
Z2VUYXNrKEFyZWFJbXBvcnQsIGFyZWEpOyB9Ci0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExv
Y2FsU3RvcmFnZVRhc2s+IGNyZWF0ZVN5bmMoU3RvcmFnZUFyZWFTeW5jKiBhcmVhKSB7IHJldHVy
biBuZXcgTG9jYWxTdG9yYWdlVGFzayhBcmVhU3luYywgYXJlYSk7IH0KLSAgICAgICAgc3RhdGlj
IFBhc3NPd25QdHI8TG9jYWxTdG9yYWdlVGFzaz4gY3JlYXRlRGVsZXRlRW1wdHlEYXRhYmFzZShT
dG9yYWdlQXJlYVN5bmMqIGFyZWEpIHsgcmV0dXJuIG5ldyBMb2NhbFN0b3JhZ2VUYXNrKERlbGV0
ZUVtcHR5RGF0YWJhc2UsIGFyZWEpOyB9Ci0gICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2Fs
U3RvcmFnZVRhc2s+IGNyZWF0ZVRlcm1pbmF0ZShMb2NhbFN0b3JhZ2VUaHJlYWQqIHRocmVhZCkg
eyByZXR1cm4gbmV3IExvY2FsU3RvcmFnZVRhc2soVGVybWluYXRlVGhyZWFkLCB0aHJlYWQpOyB9
CisgICAgICAgIHN0YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRhc2s+IGNyZWF0ZUltcG9y
dChTdG9yYWdlQXJlYVN5bmMqIGFyZWEpIHsgcmV0dXJuIGFkb3B0UHRyKG5ldyBMb2NhbFN0b3Jh
Z2VUYXNrKEFyZWFJbXBvcnQsIGFyZWEpKTsgfQorICAgICAgICBzdGF0aWMgUGFzc093blB0cjxM
b2NhbFN0b3JhZ2VUYXNrPiBjcmVhdGVTeW5jKFN0b3JhZ2VBcmVhU3luYyogYXJlYSkgeyByZXR1
cm4gYWRvcHRQdHIobmV3IExvY2FsU3RvcmFnZVRhc2soQXJlYVN5bmMsIGFyZWEpKTsgfQorICAg
ICAgICBzdGF0aWMgUGFzc093blB0cjxMb2NhbFN0b3JhZ2VUYXNrPiBjcmVhdGVEZWxldGVFbXB0
eURhdGFiYXNlKFN0b3JhZ2VBcmVhU3luYyogYXJlYSkgeyByZXR1cm4gYWRvcHRQdHIobmV3IExv
Y2FsU3RvcmFnZVRhc2soRGVsZXRlRW1wdHlEYXRhYmFzZSwgYXJlYSkpOyB9CisgICAgICAgIHN0
YXRpYyBQYXNzT3duUHRyPExvY2FsU3RvcmFnZVRhc2s+IGNyZWF0ZVRlcm1pbmF0ZShMb2NhbFN0
b3JhZ2VUaHJlYWQqIHRocmVhZCkgeyByZXR1cm4gYWRvcHRQdHIobmV3IExvY2FsU3RvcmFnZVRh
c2soVGVybWluYXRlVGhyZWFkLCB0aHJlYWQpKTsgfQogCiAgICAgICAgIHZvaWQgcGVyZm9ybVRh
c2soKTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL0xvY2FsU3RvcmFnZVRocmVhZC5j
cHAgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNwcAppbmRleCBkNGE3YjRj
YzYzZDgwNWVjNmVlZWNlYTY4OWJhNjI5MzYzYmZjNTNhLi5jYmI4MWM1NDVjYTI2MTViYmM5YjAz
OGRjOTRhOTQxYzJhMjBkODYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9y
YWdlVGhyZWFkLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvTG9jYWxTdG9yYWdlVGhyZWFkLmNw
cApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFBhc3NPd25QdHI8TG9j
YWxTdG9yYWdlVGhyZWFkPiBMb2NhbFN0b3JhZ2VUaHJlYWQ6OmNyZWF0ZSgpCiB7Ci0gICAgcmV0
dXJuIG5ldyBMb2NhbFN0b3JhZ2VUaHJlYWQ7CisgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBMb2Nh
bFN0b3JhZ2VUaHJlYWQpOwogfQogCiBMb2NhbFN0b3JhZ2VUaHJlYWQ6OkxvY2FsU3RvcmFnZVRo
cmVhZCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3BwIGIv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmNwcAppbmRleCBiODgzN2M5YmEyYzZhMTk4
ODUwNzI3NTRmZjc5YzE3ODk4MjllMWEwLi5mZWFhNDZlNDFhZWZlMDFmZTE5NTdkNWYwODU0NzFl
ZjRlMDgyZTcwIDEwMDY0NAotLS0gYS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uY3Bw
CisrKyBiL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAKQEAgLTI1NSw3ICsyNTUs
NyBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpvcGVuVHJhbnNhY3Rpb25BbmRQcmVmbGlnaHQoKQog
ICAgICAgICBtX2RhdGFiYXNlLT5zcWxpdGVEYXRhYmFzZSgpLnNldE1heGltdW1TaXplKG1fZGF0
YWJhc2UtPm1heGltdW1TaXplKCkpOwogCiAgICAgQVNTRVJUKCFtX3NxbGl0ZVRyYW5zYWN0aW9u
KTsKLSAgICBtX3NxbGl0ZVRyYW5zYWN0aW9uLnNldChuZXcgU1FMaXRlVHJhbnNhY3Rpb24obV9k
YXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKSwgbV9yZWFkT25seSkpOworICAgIG1fc3FsaXRlVHJh
bnNhY3Rpb24gPSBhZG9wdFB0cihuZXcgU1FMaXRlVHJhbnNhY3Rpb24obV9kYXRhYmFzZS0+c3Fs
aXRlRGF0YWJhc2UoKSwgbV9yZWFkT25seSkpOwogCiAgICAgbV9kYXRhYmFzZS0+cmVzZXREZWxl
dGVzKCk7CiAgICAgbV9kYXRhYmFzZS0+ZGlzYWJsZUF1dGhvcml6ZXIoKTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwIGIvV2ViQ29yZS9zdG9yYWdl
L1NRTFRyYW5zYWN0aW9uU3luYy5jcHAKaW5kZXggZTU2ZDdiNGNkNzU4MGVkMDc1NWI4Y2FiMDY4
ZTczYmE4MjMxZjFlMy4uODdmMWVmZmE2MTVhNWJjZDViMDFiYzFiNWRmMjE0NGUxZTFjZTFhZSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHAKKysrIGIv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHAKQEAgLTU4LDcgKzU4LDcgQEAg
U1FMVHJhbnNhY3Rpb25TeW5jOjpTUUxUcmFuc2FjdGlvblN5bmMoRGF0YWJhc2VTeW5jKiBkYiwg
UGFzc1JlZlB0cjxTUUxUcmFuc2FjdGkKICAgICAsIG1fY2FsbGJhY2soY2FsbGJhY2spCiAgICAg
LCBtX3JlYWRPbmx5KHJlYWRPbmx5KQogICAgICwgbV9tb2RpZmllZERhdGFiYXNlKGZhbHNlKQot
ICAgICwgbV90cmFuc2FjdGlvbkNsaWVudChuZXcgU1FMVHJhbnNhY3Rpb25DbGllbnQoKSkKKyAg
ICAsIG1fdHJhbnNhY3Rpb25DbGllbnQoYWRvcHRQdHIobmV3IFNRTFRyYW5zYWN0aW9uQ2xpZW50
KCkpKQogewogICAgIEFTU0VSVChtX2RhdGFiYXNlLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkt
PmlzQ29udGV4dFRocmVhZCgpKTsKIH0KQEAgLTEzMCw3ICsxMzAsNyBAQCBFeGNlcHRpb25Db2Rl
IFNRTFRyYW5zYWN0aW9uU3luYzo6YmVnaW4oKQogICAgICAgICBtX2RhdGFiYXNlLT5zcWxpdGVE
YXRhYmFzZSgpLnNldE1heGltdW1TaXplKG1fZGF0YWJhc2UtPm1heGltdW1TaXplKCkpOwogCiAg
ICAgQVNTRVJUKCFtX3NxbGl0ZVRyYW5zYWN0aW9uKTsKLSAgICBtX3NxbGl0ZVRyYW5zYWN0aW9u
LnNldChuZXcgU1FMaXRlVHJhbnNhY3Rpb24obV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKSwg
bV9yZWFkT25seSkpOworICAgIG1fc3FsaXRlVHJhbnNhY3Rpb24gPSBhZG9wdFB0cihuZXcgU1FM
aXRlVHJhbnNhY3Rpb24obV9kYXRhYmFzZS0+c3FsaXRlRGF0YWJhc2UoKSwgbV9yZWFkT25seSkp
OwogCiAgICAgbV9kYXRhYmFzZS0+cmVzZXREZWxldGVzKCk7CiAgICAgbV9kYXRhYmFzZS0+ZGlz
YWJsZUF1dGhvcml6ZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlTmFt
ZXNwYWNlSW1wbC5jcHAgYi9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZU5hbWVzcGFjZUltcGwuY3Bw
CmluZGV4IDBmMDdlMDc5NDQ1ODcwNzkzNzFjNWNjMzNjZTUyNTMxM2M1Y2EyMzguLjNhMjE0ODlj
Mzk4M2MyNGU0OTJkMjczYTQzN2QzNjY1YWFlOGM4Y2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3Rv
cmFnZS9TdG9yYWdlTmFtZXNwYWNlSW1wbC5jcHAKKysrIGIvV2ViQ29yZS9zdG9yYWdlL1N0b3Jh
Z2VOYW1lc3BhY2VJbXBsLmNwcApAQCAtOTMsMTIgKzkzLDEyIEBAIFBhc3NSZWZQdHI8U3RvcmFn
ZU5hbWVzcGFjZT4gU3RvcmFnZU5hbWVzcGFjZUltcGw6OmNvcHkoKQogICAgIEFTU0VSVCghbV9p
c1NodXRkb3duKTsKICAgICBBU1NFUlQobV9zdG9yYWdlVHlwZSA9PSBTZXNzaW9uU3RvcmFnZSk7
CiAKLSAgICBTdG9yYWdlTmFtZXNwYWNlSW1wbCogbmV3TmFtZXNwYWNlID0gbmV3IFN0b3JhZ2VO
YW1lc3BhY2VJbXBsKG1fc3RvcmFnZVR5cGUsIG1fcGF0aCwgbV9xdW90YSk7CisgICAgUmVmUHRy
PFN0b3JhZ2VOYW1lc3BhY2VJbXBsPiBuZXdOYW1lc3BhY2UgPSBhZG9wdFJlZihuZXcgU3RvcmFn
ZU5hbWVzcGFjZUltcGwobV9zdG9yYWdlVHlwZSwgbV9wYXRoLCBtX3F1b3RhKSk7CiAKICAgICBT
dG9yYWdlQXJlYU1hcDo6aXRlcmF0b3IgZW5kID0gbV9zdG9yYWdlQXJlYU1hcC5lbmQoKTsKICAg
ICBmb3IgKFN0b3JhZ2VBcmVhTWFwOjppdGVyYXRvciBpID0gbV9zdG9yYWdlQXJlYU1hcC5iZWdp
bigpOyBpICE9IGVuZDsgKytpKQogICAgICAgICBuZXdOYW1lc3BhY2UtPm1fc3RvcmFnZUFyZWFN
YXAuc2V0KGktPmZpcnN0LCBpLT5zZWNvbmQtPmNvcHkoKSk7Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KG5ld05hbWVzcGFjZSk7CisgICAgcmV0dXJuIG5ld05hbWVzcGFjZS5yZWxlYXNlKCk7CiB9CiAK
IFBhc3NSZWZQdHI8U3RvcmFnZUFyZWE+IFN0b3JhZ2VOYW1lc3BhY2VJbXBsOjpzdG9yYWdlQXJl
YShQYXNzUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBwcnBPcmlnaW4pCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>