<?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>90016</bug_id>
          
          <creation_ts>2012-06-26 14:43:45 -0700</creation_ts>
          <short_desc>IndexedDB: make IDBKey immutable</short_desc>
          <delta_ts>2012-06-27 15:14:14 -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>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="Alec Flett">alecflett</reporter>
          <assigned_to name="Alec Flett">alecflett</assigned_to>
          <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>658010</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-26 14:43:45 -0700</bug_when>
    <thetext>IndexedDB: const-ify IDBKey</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658011</commentid>
    <comment_count>1</comment_count>
      <attachid>149610</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-26 14:45:15 -0700</bug_when>
    <thetext>Created attachment 149610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658012</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-26 14:46:03 -0700</bug_when>
    <thetext>jsbell@ - something we chatted about once that I finally had to deal with :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658020</commentid>
    <comment_count>3</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-26 15:01:50 -0700</bug_when>
    <thetext>tony@ - r? cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658027</commentid>
    <comment_count>4</comment_count>
      <attachid>149610</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-06-26 15:09:36 -0700</bug_when>
    <thetext>Comment on attachment 149610
Patch

That was easy - LGTM but...

View in context: https://bugs.webkit.org/attachment.cgi?id=149610&amp;action=review

&gt; Source/WebCore/Modules/indexeddb/IDBKey.h:44
&gt;          RefPtr&lt;IDBKey&gt; idbKey = adoptRef(new IDBKey());

Can be further simplified down to: return adoptRef(...);

&gt; Source/WebCore/Modules/indexeddb/IDBKey.h:50
&gt; +        RefPtr&lt;IDBKey&gt; idbKey = adoptRef(new IDBKey(NumberType, number));

Ditto, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658777</commentid>
    <comment_count>5</comment_count>
      <attachid>149782</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-27 12:26:38 -0700</bug_when>
    <thetext>Created attachment 149782
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658778</commentid>
    <comment_count>6</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-27 12:29:08 -0700</bug_when>
    <thetext>tony@ - r? cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658831</commentid>
    <comment_count>7</comment_count>
      <attachid>149782</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-27 13:29:26 -0700</bug_when>
    <thetext>Comment on attachment 149782
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=149782&amp;action=review

&gt; Source/WebCore/ChangeLog:3
&gt; +        IndexedDB: const-ify IDBKey

Nit: I would probably use immutable in the title, since it&apos;s more descriptive than const-ify.

&gt; Source/WebCore/Modules/indexeddb/IDBKey.h:153
&gt; +    IDBKey(const String&amp; value) : m_type(StringType), m_string(value), m_number(0), m_sizeEstimate(kOverheadSize + value.length() * sizeof(UChar)) { }

Nit: explicit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658838</commentid>
    <comment_count>8</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-27 13:44:47 -0700</bug_when>
    <thetext>I&apos;m going to use land-safely even though my comitter status hasn&apos;t been updated, so that a committer can re-cq+ it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658865</commentid>
    <comment_count>9</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-06-27 14:13:48 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; I&apos;m going to use land-safely even though my comitter status hasn&apos;t been updated, so that a committer can re-cq+ it.

land-safely should set cq? if you&apos;re not in committers.py (this was a recent fix).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658878</commentid>
    <comment_count>10</comment_count>
      <attachid>149796</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-27 14:30:00 -0700</bug_when>
    <thetext>Created attachment 149796
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658911</commentid>
    <comment_count>11</comment_count>
      <attachid>149796</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-27 15:14:09 -0700</bug_when>
    <thetext>Comment on attachment 149796
Patch for landing

Clearing flags on attachment: 149796

Committed r121377: &lt;http://trac.webkit.org/changeset/121377&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>658912</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-27 15:14:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149610</attachid>
            <date>2012-06-26 14:45:15 -0700</date>
            <delta_ts>2012-06-27 12:26:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90016-20120626144514.patch</filename>
            <type>text/plain</type>
            <size>6241</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODVlNDI3OGIyOWMyMDEw
N2NjZDdjNjU1MTRkOTc1ZGE4OGY4NWIxNS4uYWM0N2RjNzYyOGRkNTBjMmY3MzM1YWZiYjUxNjhi
NGQ4MDg3MWE4YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTI2ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGNv
bnN0LWlmeSBJREJLZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkwMDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBhbGwgbWVtYmVycyBvZiBJREJLZXkgY29uc3QsIHNvIHRoYXQgdGhpcyBjYW4g
YmUgY29uc2lkZXJlZAorICAgICAgICBhbiBpbW11dGFibGUsIGFuZCB0aHVzIHNhZmUgdG8gY29w
eSBhbmQvb3Igc3RvcCByZWYtY291bnRpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBleGlz
dGluZyB0ZXN0cyBzaG93IHRoaXMgd29ya3MuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktl
eTo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNyZWF0ZU51bWJl
cik6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNyZWF0ZVN0cmluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJLZXk6OmNyZWF0ZURhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpj
cmVhdGVNdWx0aUVudHJ5QXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVB
cnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmRhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCS2V5OjpJREJLZXkpOgorICAgICAgICAoSURCS2V5KToKKwogMjAxMi0wNi0yNiAgQWxl
eGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTmF0aXZlIG1lbW9yeSBzbmFwc2hvdHMgY3Jhc2ggaW4gZGVidWcgbW9kZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuY3BwCmluZGV4IGI3NmVkMmNlZTMw
NWQ2Mjg3ZjlkYjEzZTEwZGQxMDhlNjFkNjg0ZWUuLjYzM2M4MzU3ZDA2ZjYyZDU1NDQzM2M1MjFk
ODgyYTgxN2VhMTVkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5LmNwcApAQCAtMzAsMTIgKzMwLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JREJL
ZXk6OklEQktleSgpCi0gICAgOiBtX3R5cGUoSW52YWxpZFR5cGUpCi0gICAgLCBtX3NpemVFc3Rp
bWF0ZShrT3ZlcmhlYWRTaXplKQotewotfQotCiBJREJLZXk6On5JREJLZXkoKQogewogfQpAQCAt
NzUsOCArNjksNiBAQCBpbnQgSURCS2V5Ojpjb21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNv
bnN0CiAgICAgY2FzZSBTdHJpbmdUeXBlOgogICAgICAgICByZXR1cm4gLWNvZGVQb2ludENvbXBh
cmUob3RoZXItPm1fc3RyaW5nLCBtX3N0cmluZyk7CiAgICAgY2FzZSBEYXRlVHlwZToKLSAgICAg
ICAgcmV0dXJuIChtX2RhdGUgPCBvdGhlci0+bV9kYXRlKSA/IC0xIDoKLSAgICAgICAgICAgICAg
ICAobV9kYXRlID4gb3RoZXItPm1fZGF0ZSkgPyAxIDogMDsKICAgICBjYXNlIE51bWJlclR5cGU6
CiAgICAgICAgIHJldHVybiAobV9udW1iZXIgPCBvdGhlci0+bV9udW1iZXIpID8gLTEgOgogICAg
ICAgICAgICAgICAgIChtX251bWJlciA+IG90aGVyLT4gbV9udW1iZXIpID8gMSA6IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oCmluZGV4IGNiZmRmMWQ0ZmM1NmVm
NDVhZjUyMGFhMjZiZDE1MDlhNjY2ZjVmOWYuLjIzODEzYTJlNTYyNzViMzY2NWQ3Njk1M2VjZmJi
ZWJkMmI0ODkyNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5o
CkBAIC00Miw0MyArNDIsMzIgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktl
eT4gY3JlYXRlSW52YWxpZCgpCiAgICAgewogICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkg
PSBhZG9wdFJlZihuZXcgSURCS2V5KCkpOwotICAgICAgICBpZGJLZXktPm1fdHlwZSA9IEludmFs
aWRUeXBlOwogICAgICAgICByZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKICAgICB9CiAKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZU51bWJlcihkb3VibGUgbnVtYmVyKQogICAg
IHsKLSAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleSgp
KTsKLSAgICAgICAgaWRiS2V5LT5tX3R5cGUgPSBOdW1iZXJUeXBlOwotICAgICAgICBpZGJLZXkt
Pm1fbnVtYmVyID0gbnVtYmVyOwotICAgICAgICBpZGJLZXktPm1fc2l6ZUVzdGltYXRlICs9IHNp
emVvZihkb3VibGUpOworICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihu
ZXcgSURCS2V5KE51bWJlclR5cGUsIG51bWJlcikpOwogICAgICAgICByZXR1cm4gaWRiS2V5LnJl
bGVhc2UoKTsKICAgICB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZVN0
cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+
IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAgIGlkYktleS0+bV90eXBl
ID0gU3RyaW5nVHlwZTsKLSAgICAgICAgaWRiS2V5LT5tX3N0cmluZyA9IHN0cmluZzsKLSAgICAg
ICAgaWRiS2V5LT5tX3NpemVFc3RpbWF0ZSArPSBzdHJpbmcubGVuZ3RoKCkgKiBzaXplb2YoVUNo
YXIpOworICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5
KHN0cmluZykpOwogICAgICAgICByZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKICAgICB9CiAKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZURhdGUoZG91YmxlIGRhdGUpCiAgICAg
ewotICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5KCkp
OwotICAgICAgICBpZGJLZXktPm1fdHlwZSA9IERhdGVUeXBlOwotICAgICAgICBpZGJLZXktPm1f
ZGF0ZSA9IGRhdGU7Ci0gICAgICAgIGlkYktleS0+bV9zaXplRXN0aW1hdGUgKz0gc2l6ZW9mKGRv
dWJsZSk7CisgICAgICAgIFJlZlB0cjxJREJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJL
ZXkoRGF0ZVR5cGUsIGRhdGUpKTsKICAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CiAg
ICAgfQogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVNdWx0aUVudHJ5QXJy
YXkoY29uc3QgS2V5QXJyYXkmIGFycmF5KQogICAgIHsKLSAgICAgICAgUmVmUHRyPElEQktleT4g
aWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleSgpKTsKLSAgICAgICAgaWRiS2V5LT5tX3R5cGUg
PSBBcnJheVR5cGU7Ci0gICAgICAgIEtleUFycmF5JiByZXN1bHQgPSBpZGJLZXktPm1fYXJyYXk7
CisgICAgICAgIEtleUFycmF5IHJlc3VsdDsKIAorICAgICAgICBzaXplX3Qgc2l6ZUVzdGltYXRl
ID0gMDsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJheS5zaXplKCk7IGkrKykg
ewogICAgICAgICAgICAgaWYgKCFhcnJheVtpXS0+aXNWYWxpZCgpKQogICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwpAQCAtOTIsMjIgKzgxLDIxIEBAIHB1YmxpYzoKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGlmICghc2tpcCkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYXJy
YXlbaV0pOwotICAgICAgICAgICAgICAgIGlkYktleS0+bV9zaXplRXN0aW1hdGUgKz0gYXJyYXlb
aV0tPm1fc2l6ZUVzdGltYXRlOworICAgICAgICAgICAgICAgIHNpemVFc3RpbWF0ZSArPSBhcnJh
eVtpXS0+bV9zaXplRXN0aW1hdGU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAg
UmVmUHRyPElEQktleT4gaWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleShyZXN1bHQsIHNpemVF
c3RpbWF0ZSkpOwogICAgICAgICBBU1NFUlQoaWRiS2V5LT5pc1ZhbGlkKCkpOwogICAgICAgICBy
ZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKICAgICB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
REJLZXk+IGNyZWF0ZUFycmF5KGNvbnN0IEtleUFycmF5JiBhcnJheSkKICAgICB7Ci0gICAgICAg
IFJlZlB0cjxJREJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAg
IGlkYktleS0+bV90eXBlID0gQXJyYXlUeXBlOwotICAgICAgICBpZGJLZXktPm1fYXJyYXkgPSBh
cnJheTsKLQorICAgICAgICBzaXplX3Qgc2l6ZUVzdGltYXRlID0gMDsKICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBhcnJheS5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGlkYktleS0+
bV9zaXplRXN0aW1hdGUgKz0gYXJyYXlbaV0tPm1fc2l6ZUVzdGltYXRlOworICAgICAgICAgICAg
c2l6ZUVzdGltYXRlICs9IGFycmF5W2ldLT5tX3NpemVFc3RpbWF0ZTsKIAorICAgICAgICBSZWZQ
dHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5KGFycmF5LCBzaXplRXN0aW1h
dGUpKTsKICAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CiAgICAgfQogCkBAIC0xNDEs
NyArMTI5LDcgQEAgcHVibGljOgogICAgIGRvdWJsZSBkYXRlKCkgY29uc3QKICAgICB7CiAgICAg
ICAgIEFTU0VSVChtX3R5cGUgPT0gRGF0ZVR5cGUpOwotICAgICAgICByZXR1cm4gbV9kYXRlOwor
ICAgICAgICByZXR1cm4gbV9udW1iZXI7CiAgICAgfQogCiAgICAgZG91YmxlIG51bWJlcigpIGNv
bnN0CkBAIC0xNjUsMTUgKzE1MywxNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8SURCS2V5Pjo6ZGVyZWY7CiAKIHByaXZhdGU6Ci0gICAgSURCS2V5KCk7CisgICAg
SURCS2V5KCkgOiBtX3R5cGUoSW52YWxpZFR5cGUpLCBtX251bWJlcigwKSwgbV9zaXplRXN0aW1h
dGUoa092ZXJoZWFkU2l6ZSkgeyB9CisgICAgSURCS2V5KFR5cGUgdHlwZSwgZG91YmxlIG51bWJl
cikgOiBtX3R5cGUodHlwZSksIG1fbnVtYmVyKG51bWJlciksIG1fc2l6ZUVzdGltYXRlKGtPdmVy
aGVhZFNpemUgKyBzaXplb2YoZG91YmxlKSkgeyB9CisgICAgSURCS2V5KGNvbnN0IFN0cmluZyYg
dmFsdWUpIDogbV90eXBlKFN0cmluZ1R5cGUpLCBtX3N0cmluZyh2YWx1ZSksIG1fbnVtYmVyKDAp
LCBtX3NpemVFc3RpbWF0ZShrT3ZlcmhlYWRTaXplICsgdmFsdWUubGVuZ3RoKCkgKiBzaXplb2Yo
VUNoYXIpKSB7IH0KKyAgICBJREJLZXkoY29uc3QgS2V5QXJyYXkmIGtleUFycmF5LCBzaXplX3Qg
YXJyYXlTaXplKSA6IG1fdHlwZShBcnJheVR5cGUpLCBtX2FycmF5KGtleUFycmF5KSwgbV9udW1i
ZXIoMCksIG1fc2l6ZUVzdGltYXRlKGtPdmVyaGVhZFNpemUgKyBhcnJheVNpemUpIHsgfQogCi0g
ICAgVHlwZSBtX3R5cGU7Ci0gICAgS2V5QXJyYXkgbV9hcnJheTsKLSAgICBTdHJpbmcgbV9zdHJp
bmc7Ci0gICAgZG91YmxlIG1fZGF0ZTsKLSAgICBkb3VibGUgbV9udW1iZXI7CisgICAgY29uc3Qg
VHlwZSBtX3R5cGU7CisgICAgY29uc3QgS2V5QXJyYXkgbV9hcnJheTsKKyAgICBjb25zdCBTdHJp
bmcgbV9zdHJpbmc7CisgICAgY29uc3QgZG91YmxlIG1fbnVtYmVyOwogCi0gICAgc2l6ZV90IG1f
c2l6ZUVzdGltYXRlOworICAgIGNvbnN0IHNpemVfdCBtX3NpemVFc3RpbWF0ZTsKIAogICAgIC8v
IFZlcnkgcm91Z2ggZXN0aW1hdGUgb2YgbWluaW11bSBrZXkgc2l6ZSBvdmVyaGVhZC4KICAgICBl
bnVtIHsga092ZXJoZWFkU2l6ZSA9IDE2IH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149782</attachid>
            <date>2012-06-27 12:26:38 -0700</date>
            <delta_ts>2012-06-27 14:29:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-90016-20120627122637.patch</filename>
            <type>text/plain</type>
            <size>6231</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODVlNDI3OGIyOWMyMDEw
N2NjZDdjNjU1MTRkOTc1ZGE4OGY4NWIxNS4uYWM0N2RjNzYyOGRkNTBjMmY3MzM1YWZiYjUxNjhi
NGQ4MDg3MWE4YSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTI2ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGNv
bnN0LWlmeSBJREJLZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTkwMDE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBhbGwgbWVtYmVycyBvZiBJREJLZXkgY29uc3QsIHNvIHRoYXQgdGhpcyBjYW4g
YmUgY29uc2lkZXJlZAorICAgICAgICBhbiBpbW11dGFibGUsIGFuZCB0aHVzIHNhZmUgdG8gY29w
eSBhbmQvb3Igc3RvcCByZWYtY291bnRpbmcuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBleGlz
dGluZyB0ZXN0cyBzaG93IHRoaXMgd29ya3MuCisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktl
eTo6Y3JlYXRlSW52YWxpZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNyZWF0ZU51bWJl
cik6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNyZWF0ZVN0cmluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpJREJLZXk6OmNyZWF0ZURhdGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpj
cmVhdGVNdWx0aUVudHJ5QXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVB
cnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmRhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCS2V5OjpJREJLZXkpOgorICAgICAgICAoSURCS2V5KToKKwogMjAxMi0wNi0yNiAgQWxl
eGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogTmF0aXZlIG1lbW9yeSBzbmFwc2hvdHMgY3Jhc2ggaW4gZGVidWcgbW9kZS4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuY3BwCmluZGV4IGI3NmVkMmNlZTMw
NWQ2Mjg3ZjlkYjEzZTEwZGQxMDhlNjFkNjg0ZWUuLjYzM2M4MzU3ZDA2ZjYyZDU1NDQzM2M1MjFk
ODgyYTgxN2VhMTVkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5LmNwcApAQCAtMzAsMTIgKzMwLDYgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1JREJL
ZXk6OklEQktleSgpCi0gICAgOiBtX3R5cGUoSW52YWxpZFR5cGUpCi0gICAgLCBtX3NpemVFc3Rp
bWF0ZShrT3ZlcmhlYWRTaXplKQotewotfQotCiBJREJLZXk6On5JREJLZXkoKQogewogfQpAQCAt
NzUsOCArNjksNiBAQCBpbnQgSURCS2V5Ojpjb21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNv
bnN0CiAgICAgY2FzZSBTdHJpbmdUeXBlOgogICAgICAgICByZXR1cm4gLWNvZGVQb2ludENvbXBh
cmUob3RoZXItPm1fc3RyaW5nLCBtX3N0cmluZyk7CiAgICAgY2FzZSBEYXRlVHlwZToKLSAgICAg
ICAgcmV0dXJuIChtX2RhdGUgPCBvdGhlci0+bV9kYXRlKSA/IC0xIDoKLSAgICAgICAgICAgICAg
ICAobV9kYXRlID4gb3RoZXItPm1fZGF0ZSkgPyAxIDogMDsKICAgICBjYXNlIE51bWJlclR5cGU6
CiAgICAgICAgIHJldHVybiAobV9udW1iZXIgPCBvdGhlci0+bV9udW1iZXIpID8gLTEgOgogICAg
ICAgICAgICAgICAgIChtX251bWJlciA+IG90aGVyLT4gbV9udW1iZXIpID8gMSA6IDA7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5oCmluZGV4IGNiZmRmMWQ0ZmM1NmVm
NDVhZjUyMGFhMjZiZDE1MDlhNjY2ZjVmOWYuLjBjNGU5NDcyZTliMDVlOTRmZTY0YTRiNTM3NmM0
ZDQ3YTIzODMzOTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleS5o
CkBAIC00MSw0NCArNDEsMjkgQEAgcHVibGljOgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SURC
S2V5PiBjcmVhdGVJbnZhbGlkKCkKICAgICB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+IGlkYktl
eSA9IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAgIGlkYktleS0+bV90eXBlID0gSW52
YWxpZFR5cGU7Ci0gICAgICAgIHJldHVybiBpZGJLZXkucmVsZWFzZSgpOworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IElEQktleSgpKTsKICAgICB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0
cjxJREJLZXk+IGNyZWF0ZU51bWJlcihkb3VibGUgbnVtYmVyKQogICAgIHsKLSAgICAgICAgUmVm
UHRyPElEQktleT4gaWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleSgpKTsKLSAgICAgICAgaWRi
S2V5LT5tX3R5cGUgPSBOdW1iZXJUeXBlOwotICAgICAgICBpZGJLZXktPm1fbnVtYmVyID0gbnVt
YmVyOwotICAgICAgICBpZGJLZXktPm1fc2l6ZUVzdGltYXRlICs9IHNpemVvZihkb3VibGUpOwot
ICAgICAgICByZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVm
KG5ldyBJREJLZXkoTnVtYmVyVHlwZSwgbnVtYmVyKSk7CiAgICAgfQogCiAgICAgc3RhdGljIFBh
c3NSZWZQdHI8SURCS2V5PiBjcmVhdGVTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAg
ewotICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5KCkp
OwotICAgICAgICBpZGJLZXktPm1fdHlwZSA9IFN0cmluZ1R5cGU7Ci0gICAgICAgIGlkYktleS0+
bV9zdHJpbmcgPSBzdHJpbmc7Ci0gICAgICAgIGlkYktleS0+bV9zaXplRXN0aW1hdGUgKz0gc3Ry
aW5nLmxlbmd0aCgpICogc2l6ZW9mKFVDaGFyKTsKLSAgICAgICAgcmV0dXJuIGlkYktleS5yZWxl
YXNlKCk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCS2V5KHN0cmluZykpOwogICAg
IH0KIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlRGF0ZShkb3VibGUgZGF0
ZSkKICAgICB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJ
REJLZXkoKSk7Ci0gICAgICAgIGlkYktleS0+bV90eXBlID0gRGF0ZVR5cGU7Ci0gICAgICAgIGlk
YktleS0+bV9kYXRlID0gZGF0ZTsKLSAgICAgICAgaWRiS2V5LT5tX3NpemVFc3RpbWF0ZSArPSBz
aXplb2YoZG91YmxlKTsKLSAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZihuZXcgSURCS2V5KERhdGVUeXBlLCBkYXRlKSk7CiAgICAgfQogCiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVNdWx0aUVudHJ5QXJyYXkoY29uc3Qg
S2V5QXJyYXkmIGFycmF5KQogICAgIHsKLSAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5ID0g
YWRvcHRSZWYobmV3IElEQktleSgpKTsKLSAgICAgICAgaWRiS2V5LT5tX3R5cGUgPSBBcnJheVR5
cGU7Ci0gICAgICAgIEtleUFycmF5JiByZXN1bHQgPSBpZGJLZXktPm1fYXJyYXk7CisgICAgICAg
IEtleUFycmF5IHJlc3VsdDsKIAorICAgICAgICBzaXplX3Qgc2l6ZUVzdGltYXRlID0gMDsKICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJheS5zaXplKCk7IGkrKykgewogICAgICAg
ICAgICAgaWYgKCFhcnJheVtpXS0+aXNWYWxpZCgpKQogICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwpAQCAtOTIsMjMgKzc3LDIxIEBAIHB1YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgICAg
IGlmICghc2tpcCkgewogICAgICAgICAgICAgICAgIHJlc3VsdC5hcHBlbmQoYXJyYXlbaV0pOwot
ICAgICAgICAgICAgICAgIGlkYktleS0+bV9zaXplRXN0aW1hdGUgKz0gYXJyYXlbaV0tPm1fc2l6
ZUVzdGltYXRlOworICAgICAgICAgICAgICAgIHNpemVFc3RpbWF0ZSArPSBhcnJheVtpXS0+bV9z
aXplRXN0aW1hdGU7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KKyAgICAgICAgUmVmUHRyPElE
QktleT4gaWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleShyZXN1bHQsIHNpemVFc3RpbWF0ZSkp
OwogICAgICAgICBBU1NFUlQoaWRiS2V5LT5pc1ZhbGlkKCkpOwogICAgICAgICByZXR1cm4gaWRi
S2V5LnJlbGVhc2UoKTsKICAgICB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNy
ZWF0ZUFycmF5KGNvbnN0IEtleUFycmF5JiBhcnJheSkKICAgICB7Ci0gICAgICAgIFJlZlB0cjxJ
REJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAgIGlkYktleS0+
bV90eXBlID0gQXJyYXlUeXBlOwotICAgICAgICBpZGJLZXktPm1fYXJyYXkgPSBhcnJheTsKLQor
ICAgICAgICBzaXplX3Qgc2l6ZUVzdGltYXRlID0gMDsKICAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBhcnJheS5zaXplKCk7ICsraSkKLSAgICAgICAgICAgIGlkYktleS0+bV9zaXplRXN0
aW1hdGUgKz0gYXJyYXlbaV0tPm1fc2l6ZUVzdGltYXRlOworICAgICAgICAgICAgc2l6ZUVzdGlt
YXRlICs9IGFycmF5W2ldLT5tX3NpemVFc3RpbWF0ZTsKIAotICAgICAgICByZXR1cm4gaWRiS2V5
LnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBJREJLZXkoYXJyYXksIHNp
emVFc3RpbWF0ZSkpOwogICAgIH0KIAogICAgIH5JREJLZXkoKTsKQEAgLTE0MSw3ICsxMjQsNyBA
QCBwdWJsaWM6CiAgICAgZG91YmxlIGRhdGUoKSBjb25zdAogICAgIHsKICAgICAgICAgQVNTRVJU
KG1fdHlwZSA9PSBEYXRlVHlwZSk7Ci0gICAgICAgIHJldHVybiBtX2RhdGU7CisgICAgICAgIHJl
dHVybiBtX251bWJlcjsKICAgICB9CiAKICAgICBkb3VibGUgbnVtYmVyKCkgY29uc3QKQEAgLTE2
NSwxNSArMTQ4LDE3IEBAIHB1YmxpYzoKICAgICB1c2luZyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJ
REJLZXk+OjpkZXJlZjsKIAogcHJpdmF0ZToKLSAgICBJREJLZXkoKTsKKyAgICBJREJLZXkoKSA6
IG1fdHlwZShJbnZhbGlkVHlwZSksIG1fbnVtYmVyKDApLCBtX3NpemVFc3RpbWF0ZShrT3Zlcmhl
YWRTaXplKSB7IH0KKyAgICBJREJLZXkoVHlwZSB0eXBlLCBkb3VibGUgbnVtYmVyKSA6IG1fdHlw
ZSh0eXBlKSwgbV9udW1iZXIobnVtYmVyKSwgbV9zaXplRXN0aW1hdGUoa092ZXJoZWFkU2l6ZSAr
IHNpemVvZihkb3VibGUpKSB7IH0KKyAgICBJREJLZXkoY29uc3QgU3RyaW5nJiB2YWx1ZSkgOiBt
X3R5cGUoU3RyaW5nVHlwZSksIG1fc3RyaW5nKHZhbHVlKSwgbV9udW1iZXIoMCksIG1fc2l6ZUVz
dGltYXRlKGtPdmVyaGVhZFNpemUgKyB2YWx1ZS5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcikpIHsg
fQorICAgIElEQktleShjb25zdCBLZXlBcnJheSYga2V5QXJyYXksIHNpemVfdCBhcnJheVNpemUp
IDogbV90eXBlKEFycmF5VHlwZSksIG1fYXJyYXkoa2V5QXJyYXkpLCBtX251bWJlcigwKSwgbV9z
aXplRXN0aW1hdGUoa092ZXJoZWFkU2l6ZSArIGFycmF5U2l6ZSkgeyB9CiAKLSAgICBUeXBlIG1f
dHlwZTsKLSAgICBLZXlBcnJheSBtX2FycmF5OwotICAgIFN0cmluZyBtX3N0cmluZzsKLSAgICBk
b3VibGUgbV9kYXRlOwotICAgIGRvdWJsZSBtX251bWJlcjsKKyAgICBjb25zdCBUeXBlIG1fdHlw
ZTsKKyAgICBjb25zdCBLZXlBcnJheSBtX2FycmF5OworICAgIGNvbnN0IFN0cmluZyBtX3N0cmlu
ZzsKKyAgICBjb25zdCBkb3VibGUgbV9udW1iZXI7CiAKLSAgICBzaXplX3QgbV9zaXplRXN0aW1h
dGU7CisgICAgY29uc3Qgc2l6ZV90IG1fc2l6ZUVzdGltYXRlOwogCiAgICAgLy8gVmVyeSByb3Vn
aCBlc3RpbWF0ZSBvZiBtaW5pbXVtIGtleSBzaXplIG92ZXJoZWFkLgogICAgIGVudW0geyBrT3Zl
cmhlYWRTaXplID0gMTYgfTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>149796</attachid>
            <date>2012-06-27 14:30:00 -0700</date>
            <delta_ts>2012-06-27 15:14:09 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-90016-20120627143000.patch</filename>
            <type>text/plain</type>
            <size>6241</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIxMjY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODVlNDI3OGIyOWMyMDEw
N2NjZDdjNjU1MTRkOTc1ZGE4OGY4NWIxNS4uMjI4NGI0YmEwZGUyZjU0NDI4NzQzYTBkZGI1OTE3
NGU3OTljNzJkNCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTA2LTI2ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IG1h
a2UgSURCS2V5IGltbXV0YWJsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTAwMTYKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisg
ICAgICAgIE1ha2UgYWxsIG1lbWJlcnMgb2YgSURCS2V5IGNvbnN0LCBzbyB0aGF0IHRoaXMgY2Fu
IGJlIGNvbnNpZGVyZWQKKyAgICAgICAgYW4gaW1tdXRhYmxlLCBhbmQgdGh1cyBzYWZlIHRvIGNv
cHkgYW5kL29yIHN0b3AgcmVmLWNvdW50aW5nLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgZXhp
c3RpbmcgdGVzdHMgc2hvdyB0aGlzIHdvcmtzLgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6Y29tcGFyZSk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5Lmg6CisgICAgICAgIChXZWJDb3JlOjpJREJL
ZXk6OmNyZWF0ZUludmFsaWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVOdW1i
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVTdHJpbmcpOgorICAgICAgICAo
V2ViQ29yZTo6SURCS2V5OjpjcmVhdGVEYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6
Y3JlYXRlTXVsdGlFbnRyeUFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6Y3JlYXRl
QXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpkYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OklEQktleTo6SURCS2V5KToKKyAgICAgICAgKElEQktleSk6CisKIDIwMTItMDYtMjYgIEFs
ZXhlaSBGaWxpcHBvdiAgPGFsZXhlaWZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IE5hdGl2ZSBtZW1vcnkgc25hcHNob3RzIGNyYXNoIGluIGRlYnVnIG1vZGUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmNwcAppbmRleCBiNzZlZDJjZWUz
MDVkNjI4N2Y5ZGIxM2UxMGRkMTA4ZTYxZDY4NGVlLi42MzNjODM1N2QwNmY2MmQ1NTQ0MzNjNTIx
ZDg4MmE4MTdlYTE1ZGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJLZXkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QktleS5jcHAKQEAgLTMwLDEyICszMCw2IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotSURC
S2V5OjpJREJLZXkoKQotICAgIDogbV90eXBlKEludmFsaWRUeXBlKQotICAgICwgbV9zaXplRXN0
aW1hdGUoa092ZXJoZWFkU2l6ZSkKLXsKLX0KLQogSURCS2V5Ojp+SURCS2V5KCkKIHsKIH0KQEAg
LTc1LDggKzY5LDYgQEAgaW50IElEQktleTo6Y29tcGFyZShjb25zdCBJREJLZXkqIG90aGVyKSBj
b25zdAogICAgIGNhc2UgU3RyaW5nVHlwZToKICAgICAgICAgcmV0dXJuIC1jb2RlUG9pbnRDb21w
YXJlKG90aGVyLT5tX3N0cmluZywgbV9zdHJpbmcpOwogICAgIGNhc2UgRGF0ZVR5cGU6Ci0gICAg
ICAgIHJldHVybiAobV9kYXRlIDwgb3RoZXItPm1fZGF0ZSkgPyAtMSA6Ci0gICAgICAgICAgICAg
ICAgKG1fZGF0ZSA+IG90aGVyLT5tX2RhdGUpID8gMSA6IDA7CiAgICAgY2FzZSBOdW1iZXJUeXBl
OgogICAgICAgICByZXR1cm4gKG1fbnVtYmVyIDwgb3RoZXItPm1fbnVtYmVyKSA/IC0xIDoKICAg
ICAgICAgICAgICAgICAobV9udW1iZXIgPiBvdGhlci0+IG1fbnVtYmVyKSA/IDEgOiAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXkuaAppbmRleCBjYmZkZjFkNGZjNTZl
ZjQ1YWY1MjBhYTI2YmQxNTA5YTY2NmY1ZjlmLi43ZGViZjBkODhmNzgzYjYwMmY0MmIyN2IxMzhm
ODYwZGMwZDE1ZTg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXku
aApAQCAtNDEsNDQgKzQxLDI5IEBAIHB1YmxpYzoKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElE
QktleT4gY3JlYXRlSW52YWxpZCgpCiAgICAgewotICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJL
ZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5KCkpOwotICAgICAgICBpZGJLZXktPm1fdHlwZSA9IElu
dmFsaWRUeXBlOwotICAgICAgICByZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7CiAgICAgfQogCiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8SURCS2V5PiBjcmVhdGVOdW1iZXIoZG91YmxlIG51bWJlcikKICAgICB7Ci0gICAgICAgIFJl
ZlB0cjxJREJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAgIGlk
YktleS0+bV90eXBlID0gTnVtYmVyVHlwZTsKLSAgICAgICAgaWRiS2V5LT5tX251bWJlciA9IG51
bWJlcjsKLSAgICAgICAgaWRiS2V5LT5tX3NpemVFc3RpbWF0ZSArPSBzaXplb2YoZG91YmxlKTsK
LSAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgSURCS2V5KE51bWJlclR5cGUsIG51bWJlcikpOwogICAgIH0KIAogICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPElEQktleT4gY3JlYXRlU3RyaW5nKGNvbnN0IFN0cmluZyYgc3RyaW5nKQogICAg
IHsKLSAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5ID0gYWRvcHRSZWYobmV3IElEQktleSgp
KTsKLSAgICAgICAgaWRiS2V5LT5tX3R5cGUgPSBTdHJpbmdUeXBlOwotICAgICAgICBpZGJLZXkt
Pm1fc3RyaW5nID0gc3RyaW5nOwotICAgICAgICBpZGJLZXktPm1fc2l6ZUVzdGltYXRlICs9IHN0
cmluZy5sZW5ndGgoKSAqIHNpemVvZihVQ2hhcik7Ci0gICAgICAgIHJldHVybiBpZGJLZXkucmVs
ZWFzZSgpOworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IElEQktleShzdHJpbmcpKTsKICAg
ICB9CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZURhdGUoZG91YmxlIGRh
dGUpCiAgICAgewotICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcg
SURCS2V5KCkpOwotICAgICAgICBpZGJLZXktPm1fdHlwZSA9IERhdGVUeXBlOwotICAgICAgICBp
ZGJLZXktPm1fZGF0ZSA9IGRhdGU7Ci0gICAgICAgIGlkYktleS0+bV9zaXplRXN0aW1hdGUgKz0g
c2l6ZW9mKGRvdWJsZSk7Ci0gICAgICAgIHJldHVybiBpZGJLZXkucmVsZWFzZSgpOworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IElEQktleShEYXRlVHlwZSwgZGF0ZSkpOwogICAgIH0KIAog
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlTXVsdGlFbnRyeUFycmF5KGNvbnN0
IEtleUFycmF5JiBhcnJheSkKICAgICB7Ci0gICAgICAgIFJlZlB0cjxJREJLZXk+IGlkYktleSA9
IGFkb3B0UmVmKG5ldyBJREJLZXkoKSk7Ci0gICAgICAgIGlkYktleS0+bV90eXBlID0gQXJyYXlU
eXBlOwotICAgICAgICBLZXlBcnJheSYgcmVzdWx0ID0gaWRiS2V5LT5tX2FycmF5OworICAgICAg
ICBLZXlBcnJheSByZXN1bHQ7CiAKKyAgICAgICAgc2l6ZV90IHNpemVFc3RpbWF0ZSA9IDA7CiAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyBpKyspIHsKICAgICAg
ICAgICAgIGlmICghYXJyYXlbaV0tPmlzVmFsaWQoKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKQEAgLTkyLDIzICs3NywyMSBAQCBwdWJsaWM6CiAgICAgICAgICAgICB9CiAgICAgICAgICAg
ICBpZiAoIXNraXApIHsKICAgICAgICAgICAgICAgICByZXN1bHQuYXBwZW5kKGFycmF5W2ldKTsK
LSAgICAgICAgICAgICAgICBpZGJLZXktPm1fc2l6ZUVzdGltYXRlICs9IGFycmF5W2ldLT5tX3Np
emVFc3RpbWF0ZTsKKyAgICAgICAgICAgICAgICBzaXplRXN0aW1hdGUgKz0gYXJyYXlbaV0tPm1f
c2l6ZUVzdGltYXRlOwogICAgICAgICAgICAgfQogICAgICAgICB9CisgICAgICAgIFJlZlB0cjxJ
REJLZXk+IGlkYktleSA9IGFkb3B0UmVmKG5ldyBJREJLZXkocmVzdWx0LCBzaXplRXN0aW1hdGUp
KTsKICAgICAgICAgQVNTRVJUKGlkYktleS0+aXNWYWxpZCgpKTsKICAgICAgICAgcmV0dXJuIGlk
YktleS5yZWxlYXNlKCk7CiAgICAgfQogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBj
cmVhdGVBcnJheShjb25zdCBLZXlBcnJheSYgYXJyYXkpCiAgICAgewotICAgICAgICBSZWZQdHI8
SURCS2V5PiBpZGJLZXkgPSBhZG9wdFJlZihuZXcgSURCS2V5KCkpOwotICAgICAgICBpZGJLZXkt
Pm1fdHlwZSA9IEFycmF5VHlwZTsKLSAgICAgICAgaWRiS2V5LT5tX2FycmF5ID0gYXJyYXk7Ci0K
KyAgICAgICAgc2l6ZV90IHNpemVFc3RpbWF0ZSA9IDA7CiAgICAgICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBpZGJLZXktPm1fc2l6ZUVz
dGltYXRlICs9IGFycmF5W2ldLT5tX3NpemVFc3RpbWF0ZTsKKyAgICAgICAgICAgIHNpemVFc3Rp
bWF0ZSArPSBhcnJheVtpXS0+bV9zaXplRXN0aW1hdGU7CiAKLSAgICAgICAgcmV0dXJuIGlkYktl
eS5yZWxlYXNlKCk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgSURCS2V5KGFycmF5LCBz
aXplRXN0aW1hdGUpKTsKICAgICB9CiAKICAgICB+SURCS2V5KCk7CkBAIC0xNDEsNyArMTI0LDcg
QEAgcHVibGljOgogICAgIGRvdWJsZSBkYXRlKCkgY29uc3QKICAgICB7CiAgICAgICAgIEFTU0VS
VChtX3R5cGUgPT0gRGF0ZVR5cGUpOwotICAgICAgICByZXR1cm4gbV9kYXRlOworICAgICAgICBy
ZXR1cm4gbV9udW1iZXI7CiAgICAgfQogCiAgICAgZG91YmxlIG51bWJlcigpIGNvbnN0CkBAIC0x
NjUsMTUgKzE0OCwxNyBAQCBwdWJsaWM6CiAgICAgdXNpbmcgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
SURCS2V5Pjo6ZGVyZWY7CiAKIHByaXZhdGU6Ci0gICAgSURCS2V5KCk7CisgICAgSURCS2V5KCkg
OiBtX3R5cGUoSW52YWxpZFR5cGUpLCBtX251bWJlcigwKSwgbV9zaXplRXN0aW1hdGUoa092ZXJo
ZWFkU2l6ZSkgeyB9CisgICAgSURCS2V5KFR5cGUgdHlwZSwgZG91YmxlIG51bWJlcikgOiBtX3R5
cGUodHlwZSksIG1fbnVtYmVyKG51bWJlciksIG1fc2l6ZUVzdGltYXRlKGtPdmVyaGVhZFNpemUg
KyBzaXplb2YoZG91YmxlKSkgeyB9CisgICAgZXhwbGljaXQgSURCS2V5KGNvbnN0IFN0cmluZyYg
dmFsdWUpIDogbV90eXBlKFN0cmluZ1R5cGUpLCBtX3N0cmluZyh2YWx1ZSksIG1fbnVtYmVyKDAp
LCBtX3NpemVFc3RpbWF0ZShrT3ZlcmhlYWRTaXplICsgdmFsdWUubGVuZ3RoKCkgKiBzaXplb2Yo
VUNoYXIpKSB7IH0KKyAgICBJREJLZXkoY29uc3QgS2V5QXJyYXkmIGtleUFycmF5LCBzaXplX3Qg
YXJyYXlTaXplKSA6IG1fdHlwZShBcnJheVR5cGUpLCBtX2FycmF5KGtleUFycmF5KSwgbV9udW1i
ZXIoMCksIG1fc2l6ZUVzdGltYXRlKGtPdmVyaGVhZFNpemUgKyBhcnJheVNpemUpIHsgfQogCi0g
ICAgVHlwZSBtX3R5cGU7Ci0gICAgS2V5QXJyYXkgbV9hcnJheTsKLSAgICBTdHJpbmcgbV9zdHJp
bmc7Ci0gICAgZG91YmxlIG1fZGF0ZTsKLSAgICBkb3VibGUgbV9udW1iZXI7CisgICAgY29uc3Qg
VHlwZSBtX3R5cGU7CisgICAgY29uc3QgS2V5QXJyYXkgbV9hcnJheTsKKyAgICBjb25zdCBTdHJp
bmcgbV9zdHJpbmc7CisgICAgY29uc3QgZG91YmxlIG1fbnVtYmVyOwogCi0gICAgc2l6ZV90IG1f
c2l6ZUVzdGltYXRlOworICAgIGNvbnN0IHNpemVfdCBtX3NpemVFc3RpbWF0ZTsKIAogICAgIC8v
IFZlcnkgcm91Z2ggZXN0aW1hdGUgb2YgbWluaW11bSBrZXkgc2l6ZSBvdmVyaGVhZC4KICAgICBl
bnVtIHsga092ZXJoZWFkU2l6ZSA9IDE2IH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>