<?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>92434</bug_id>
          
          <creation_ts>2012-07-26 16:02:54 -0700</creation_ts>
          <short_desc>IndexedDB: IDB*::keyPath should return IDBKeyPath, not IDBAny</short_desc>
          <delta_ts>2012-08-15 17:58:13 -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>WebCore Misc.</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>abarth</cc>
    
    <cc>jsbell</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679878</commentid>
    <comment_count>0</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-07-26 16:02:54 -0700</bug_when>
    <thetext>This is used from JS and from C++ - the JS (IDL) should be calling through to a keyPathAny() and the C++ should call keyPath() and get an IDBKeyPath.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695364</commentid>
    <comment_count>1</comment_count>
      <attachid>158410</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-14 13:59:57 -0700</bug_when>
    <thetext>Created attachment 158410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695365</commentid>
    <comment_count>2</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-14 14:00:25 -0700</bug_when>
    <thetext>jsbell@ - maybe you remember this one...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695380</commentid>
    <comment_count>3</comment_count>
      <attachid>158410</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-08-14 14:11:58 -0700</bug_when>
    <thetext>Comment on attachment 158410
Patch

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

Yep, I remember. LGTM with a couple suggestions.

&gt; Source/WebCore/ChangeLog:9
&gt; +        objects. This gets rid of some implicit conversion from

Well, not quite. The IDBKeyPath is not held directly with a new type (like the other encapsulated objects) but decomposed into a more IDL-friendly type (null, DOMString, or DOMStringList).

Just quibbling over the comment, though - I think this is good.

&gt; Source/WebCore/Modules/indexeddb/IDBAny.cpp:216
&gt; +        m_type = NullType;

Manually assign m_type/m_XXX here (and below), or use setNull()/set(XXX)?

&gt; Source/WebCore/Modules/indexeddb/IDBAny.cpp:227
&gt; +        m_domStringList = keyPaths;

Can do keyPaths.release();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695542</commentid>
    <comment_count>4</comment_count>
      <attachid>158410</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-14 16:45:23 -0700</bug_when>
    <thetext>Comment on attachment 158410
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBAny.cpp:216
&gt;&gt; +        m_type = NullType;
&gt; 
&gt; Manually assign m_type/m_XXX here (and below), or use setNull()/set(XXX)?

I started down that route but then hit some annoying ambiguity errors, esp when converting the DOMStringList, that couldn&apos;t be fixed without some really disgusting casting. I was a little disappointed in clang, for the first time :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695543</commentid>
    <comment_count>5</comment_count>
      <attachid>158444</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-14 16:45:34 -0700</bug_when>
    <thetext>Created attachment 158444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695544</commentid>
    <comment_count>6</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-14 16:46:32 -0700</bug_when>
    <thetext>tony@ - r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695602</commentid>
    <comment_count>7</comment_count>
      <attachid>158444</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-08-14 17:51:26 -0700</bug_when>
    <thetext>Comment on attachment 158444
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        No new tests (OOPS!).

Can this be tested?

&gt; Source/WebCore/Modules/indexeddb/IDBAny.h:48
&gt;  class IDBTransaction;
&gt;  class SerializedScriptValue;
&gt; +class IDBKeyPath;

Nit: Sort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696071</commentid>
    <comment_count>8</comment_count>
      <attachid>158582</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-15 09:43:00 -0700</bug_when>
    <thetext>Created attachment 158582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696073</commentid>
    <comment_count>9</comment_count>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-08-15 09:44:38 -0700</bug_when>
    <thetext>tony@ - nits addressed. This can&apos;t really be tested because what you&apos;d have to tests is if some kind of implicit conversion was executed, but I&apos;ve removed the conversion routines that were being invoked implicitly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696574</commentid>
    <comment_count>10</comment_count>
      <attachid>158582</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-15 17:58:09 -0700</bug_when>
    <thetext>Comment on attachment 158582
Patch

Clearing flags on attachment: 158582

Committed r125730: &lt;http://trac.webkit.org/changeset/125730&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>696575</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-15 17:58:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158410</attachid>
            <date>2012-08-14 13:59:57 -0700</date>
            <delta_ts>2012-08-14 16:45:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92434-20120814135924.patch</filename>
            <type>text/plain</type>
            <size>9501</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3ZmY3YmUyMjk2YTIw
ZDg2MTE3YWYzOWZhYzM3ZmE2MTIwMjdjMi4uOGU4MjVlMmExZmU0YTJjYTlkZjRlYzMwNDJiOTNj
ZmM2NTQ0ZmIwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTA4LTE0ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElE
Qio6OmtleVBhdGggc2hvdWxkIHJldHVybiBJREJLZXlQYXRoLCBub3QgSURCQW55CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjQzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsZWFuIHVwIElEQktleVBh
dGggdG8gYmUgbGlrZSB0aGUgb3RoZXIgSURCQW55LWVuY2Fwc3VsYXRlZAorICAgICAgICBvYmpl
Y3RzLiBUaGlzIGdldHMgcmlkIG9mIHNvbWUgaW1wbGljaXQgY29udmVyc2lvbiBmcm9tCisgICAg
ICAgIElEQktleVBhdGggdG8gSURCQW55LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEp
LgorCisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklEQkFueTo6c2V0KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQkFueS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJBbnk6OmNyZWF0ZSk6CisgICAgICAgIChJREJBbnkpOgorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQkluZGV4Lmg6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6a2V5
UGF0aEFueSk6CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6a2V5UGF0aCk6CisgICAgICAg
ICogTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQktleVBhdGguY3BwOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQktl
eVBhdGguaDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmtleVBhdGhBbnkpOgorICAgICAgICAo
V2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmtleVBhdGgpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbDoKKwogMjAxMi0wOC0xNCAgU2hlcmlmZiBCb3QgIDx3
ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjEyNTUxOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkFueS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnku
Y3BwCmluZGV4IDMwMDI4Y2NmZGZjZTk1OTYwNDBhYzAzZWZhNDlmYWIyNDA3MDJlMzIuLjE5Nzc0
MTMyODc5YmRkMTRkNjRiOWM1YTJkM2IxMjJhYmI1MTE2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUg
IklEQkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSURCRmFjdG9yeS5oIgogI2luY2x1ZGUgIklEQklu
ZGV4LmgiCisjaW5jbHVkZSAiSURCS2V5UGF0aC5oIgogI2luY2x1ZGUgIklEQk9iamVjdFN0b3Jl
LmgiCiAjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgiCiAKQEAgLTIwNyw2ICsyMDgs
MjcgQEAgdm9pZCBJREJBbnk6OnNldChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
dmFsdWUpCiAgICAgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUgPSB2YWx1ZTsKIH0KIAordm9pZCBJ
REJBbnk6OnNldChjb25zdCBJREJLZXlQYXRoJiB2YWx1ZSkKK3sKKyAgICBBU1NFUlQobV90eXBl
ID09IFVuZGVmaW5lZFR5cGUpOworICAgIHN3aXRjaCAodmFsdWUudHlwZSgpKSB7CisgICAgY2Fz
ZSBJREJLZXlQYXRoOjpOdWxsVHlwZToKKyAgICAgICAgbV90eXBlID0gTnVsbFR5cGU7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgSURCS2V5UGF0aDo6U3RyaW5nVHlwZToKKyAgICAgICAgbV90
eXBlID0gU3RyaW5nVHlwZTsKKyAgICAgICAgbV9zdHJpbmcgPSB2YWx1ZS5zdHJpbmcoKTsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBJREJLZXlQYXRoOjpBcnJheVR5cGU6CisgICAgICAgIFJl
ZlB0cjxET01TdHJpbmdMaXN0PiBrZXlQYXRocyA9IERPTVN0cmluZ0xpc3Q6OmNyZWF0ZSgpOwor
ICAgICAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpdCA9IHZhbHVlLmFy
cmF5KCkuYmVnaW4oKTsgaXQgIT0gdmFsdWUuYXJyYXkoKS5lbmQoKTsgKytpdCkKKyAgICAgICAg
ICAgIGtleVBhdGhzLT5hcHBlbmQoKml0KTsKKyAgICAgICAgbV90eXBlID0gRE9NU3RyaW5nTGlz
dFR5cGU7CisgICAgICAgIG1fZG9tU3RyaW5nTGlzdCA9IGtleVBhdGhzOworICAgICAgICBicmVh
azsKKyAgICB9Cit9CisKIHZvaWQgSURCQW55OjpzZXQoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIHsK
ICAgICBBU1NFUlQobV90eXBlID09IFVuZGVmaW5lZFR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJBbnkuaAppbmRleCA5M2ViMjQwMWRhYWI4Yzg2NjZlNjg0NjUwMWQ1
MWI5MTA2OWFhYmRlLi40ODYxODcxOWM1MmRjY2NmMDIxYTJjYWQ5NTVlYmE0NTQ2YmZlOWUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuaApAQCAtNDUsNiArNDUs
NyBAQCBjbGFzcyBJREJLZXk7CiBjbGFzcyBJREJPYmplY3RTdG9yZTsKIGNsYXNzIElEQlRyYW5z
YWN0aW9uOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOworY2xhc3MgSURCS2V5UGF0aDsK
IAogY2xhc3MgSURCQW55IDogcHVibGljIFJlZkNvdW50ZWQ8SURCQW55PiB7CiBwdWJsaWM6CkBA
IC01OCw2ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgICAgIGFueS0+c2V0KGlkYk9iamVjdCk7CiAg
ICAgICAgIHJldHVybiBhbnkucmVsZWFzZSgpOwogICAgIH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0
cjxJREJBbnk+IGNyZWF0ZShjb25zdCBJREJLZXlQYXRoJiBrZXlQYXRoKQorICAgIHsKKyAgICAg
ICAgUmVmUHRyPElEQkFueT4gYW55ID0gSURCQW55OjpjcmVhdGVJbnZhbGlkKCk7CisgICAgICAg
IGFueS0+c2V0KGtleVBhdGgpOworICAgICAgICByZXR1cm4gYW55LnJlbGVhc2UoKTsKKyAgICB9
CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJBbnk+
IGNyZWF0ZShQYXNzUmVmUHRyPFQ+IGlkYk9iamVjdCkKICAgICB7CkBAIC0xMDksNiArMTE2LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0KFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmU+KTsKICAg
ICB2b2lkIHNldChQYXNzUmVmUHRyPElEQlRyYW5zYWN0aW9uPik7CiAgICAgdm9pZCBzZXQoUGFz
c1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKKyAgICB2b2lkIHNldChjb25zdCBJREJL
ZXlQYXRoJik7CiAgICAgdm9pZCBzZXQoY29uc3QgU3RyaW5nJik7CiAKIHByaXZhdGU6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaAppbmRleCA4MjAxZDVkMzMz
ZGI5MWQ1ZjMwMDgyMDk0NGMwN2Y2Yjg4Yjk4ZDhlLi41OWUwMzg4MzZkMjQ4NmVkYTZlNzI5NzY4
OWM2MmNkMmM3NGMxZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkluZGV4LmgKQEAgLTUzLDcgKzUzLDggQEAgcHVibGljOgogICAgIC8vIEltcGxlbWVudCB0aGUg
SURMCiAgICAgY29uc3QgU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLm5h
bWU7IH0KICAgICBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZSgpIGNvbnN0
IHsgcmV0dXJuIG1fb2JqZWN0U3RvcmU7IH0KLSAgICBQYXNzUmVmUHRyPElEQkFueT4ga2V5UGF0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEua2V5UGF0aDsgfQorICAgIFBhc3NSZWZQdHI8
SURCQW55PiBrZXlQYXRoQW55KCkgY29uc3QgeyByZXR1cm4gSURCQW55OjpjcmVhdGUobV9tZXRh
ZGF0YS5rZXlQYXRoKTsgfQorICAgIGNvbnN0IElEQktleVBhdGgga2V5UGF0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fbWV0YWRhdGEua2V5UGF0aDsgfQogICAgIGJvb2wgdW5pcXVlKCkgY29uc3QgeyBy
ZXR1cm4gbV9tZXRhZGF0YS51bmlxdWU7IH0KICAgICBib29sIG11bHRpRW50cnkoKSBjb25zdCB7
IHJldHVybiBtX21ldGFkYXRhLm11bHRpRW50cnk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsCmluZGV4IGExNzA4Y2E2MmMzMGQ4YTc1YjY4MjI2
NzA3ZmUyYWEyMmJmOWJjZmMuLjc3ODkyMzZhMTRjNzc4Y2QzYzBlMzAxMGI1NTQwYmMyOGRmN2Vl
NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5pZGwK
QEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgIF0gSURCSW5kZXggewogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBJREJPYmplY3RTdG9yZSBvYmplY3RTdG9yZTsKLSAgICAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIElEQkFueSBrZXlQYXRoOworICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0lt
cGxlbWVudGVkQXM9a2V5UGF0aEFueV0gSURCQW55IGtleVBhdGg7CiAgICAgICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBib29sZWFuIHVuaXF1ZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJv
b2xlYW4gbXVsdGlFbnRyeTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCS2V5UGF0aC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJLZXlQYXRoLmNwcAppbmRleCA4YzdiODRmOWU4NGFkZWNjNWI4MGVlYmViZGY0YjIwMDQy
OTI5N2Q4Li4wZDdiODIxMTY4YzBmYTc1MDRmZjVhYzBmN2E0MjY1ZmM0ODMxZWRjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcApAQCAtMjE5
LDQ4ICsyMTksNiBAQCBib29sIElEQktleVBhdGg6OmlzVmFsaWQoKSBjb25zdAogICAgIHJldHVy
biBmYWxzZTsKIH0KIAotSURCS2V5UGF0aDo6b3BlcmF0b3IgUGFzc1JlZlB0cjxJREJBbnk+KCkg
Y29uc3QKLXsKLSAgICBzd2l0Y2ggKG1fdHlwZSkgewotICAgIGNhc2UgTnVsbFR5cGU6Ci0gICAg
ICAgIHJldHVybiBJREJBbnk6OmNyZWF0ZU51bGwoKTsKLSAgICBjYXNlIFN0cmluZ1R5cGU6Ci0g
ICAgICAgIHJldHVybiBJREJBbnk6OmNyZWF0ZVN0cmluZyhtX3N0cmluZyk7Ci0gICAgY2FzZSBB
cnJheVR5cGU6Ci0gICAgICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBrZXlQYXRocyA9IERPTVN0
cmluZ0xpc3Q6OmNyZWF0ZSgpOwotICAgICAgICBmb3IgKFZlY3RvcjxTdHJpbmc+Ojpjb25zdF9p
dGVyYXRvciBpdCA9IG1fYXJyYXkuYmVnaW4oKTsgaXQgIT0gbV9hcnJheS5lbmQoKTsgKytpdCkK
LSAgICAgICAga2V5UGF0aHMtPmFwcGVuZCgqaXQpOwotICAgICAgICByZXR1cm4gSURCQW55Ojpj
cmVhdGUoc3RhdGljX2Nhc3Q8UGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiA+KGtleVBhdGhzKSk7
Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiAwOwotfQotCi1i
b29sIElEQktleVBhdGg6Om9wZXJhdG9yPT0oUGFzc1JlZlB0cjxJREJBbnk+IG90aGVyKSBjb25z
dAotewotICAgIGlmICghaXNWYWxpZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBz
d2l0Y2ggKG1fdHlwZSkgewotICAgIGNhc2UgTnVsbFR5cGU6Ci0gICAgICAgIHJldHVybiBvdGhl
ci0+dHlwZSgpID09IElEQkFueTo6TnVsbFR5cGU7Ci0gICAgY2FzZSBTdHJpbmdUeXBlOgotICAg
ICAgICByZXR1cm4gb3RoZXItPnR5cGUoKSA9PSBJREJBbnk6OlN0cmluZ1R5cGUgJiYgb3RoZXIt
PnN0cmluZygpID09IHN0cmluZygpOwotICAgIGNhc2UgQXJyYXlUeXBlOgotICAgICAgICBpZiAo
b3RoZXItPnR5cGUoKSAhPSBJREJBbnk6OkRPTVN0cmluZ0xpc3RUeXBlKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgICAgIFJlZlB0cjxET01TdHJpbmdMaXN0PiBvdGhlckxpc3Qg
PSBvdGhlci0+ZG9tU3RyaW5nTGlzdCgpOwotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fYXJyYXkuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgICAgIGlmIChvdGhlckxpc3QtPml0ZW0o
aSkgIT0gbV9hcnJheVtpXSkKLSAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
IH0KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBmYWxzZTsKLX0KLQogYm9vbCBJREJLZXlQYXRoOjpvcGVyYXRvcj09KGNv
bnN0IElEQktleVBhdGgmIG90aGVyKSBjb25zdAogewogICAgIGlmIChtX3R5cGUgIT0gb3RoZXIu
bV90eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
S2V5UGF0aC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5o
CmluZGV4IGRmMzFlMmFiYzY1ZWI3YTMyN2M5ZjU5MTc4MzVjYzM4NmEyNGE5ZjAuLjUyNDRjOGEx
YmI0NDQ2Njg0ZWFmODMzZmI4ZDhkODdlNzVjOWQ5M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmgKQEAgLTI4LDcgKzI4LDYgQEAKIAogI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogCi0jaW5jbHVkZSAiSURCQW55LmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKQEAgLTcxLDggKzcw
LDYgQEAgcHVibGljOgogCiAgICAgYm9vbCBpc051bGwoKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gTnVsbFR5cGU7IH0KICAgICBib29sIGlzVmFsaWQoKSBjb25zdDsKLSAgICBvcGVyYXRvciBQ
YXNzUmVmUHRyPElEQkFueT4oKSBjb25zdDsKLSAgICBib29sIG9wZXJhdG9yPT0oUGFzc1JlZlB0
cjxJREJBbnk+IG90aGVyKSBjb25zdDsKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgSURCS2V5
UGF0aCYgb3RoZXIpIGNvbnN0OwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKaW5kZXggNmZlZmM0ZTJiYWQwOTVhZTZk
MTMzNGMzZWJiOTZmZTkwODliODgwZi4uZWQ0MzJiZjMwZjc5OTY0ZTY5Zjk3MDA4NTUwNzhlZmNi
Y2UzNmQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T2JqZWN0U3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
YmplY3RTdG9yZS5oCkBAIC01OCw3ICs1OCw4IEBAIHB1YmxpYzoKIAogICAgIC8vIEltcGxlbWVu
dCB0aGUgSURCT2JqZWN0U3RvcmUgSURMCiAgICAgY29uc3QgU3RyaW5nIG5hbWUoKSBjb25zdCB7
IHJldHVybiBtX21ldGFkYXRhLm5hbWU7IH0KLSAgICBQYXNzUmVmUHRyPElEQkFueT4ga2V5UGF0
aCgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEua2V5UGF0aDsgfQorICAgIFBhc3NSZWZQdHI8
SURCQW55PiBrZXlQYXRoQW55KCkgY29uc3QgeyByZXR1cm4gSURCQW55OjpjcmVhdGUobV9tZXRh
ZGF0YS5rZXlQYXRoKTsgfQorICAgIGNvbnN0IElEQktleVBhdGgga2V5UGF0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fbWV0YWRhdGEua2V5UGF0aDsgfQogICAgIFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlz
dD4gaW5kZXhOYW1lcygpIGNvbnN0OwogICAgIFBhc3NSZWZQdHI8SURCVHJhbnNhY3Rpb24+IHRy
YW5zYWN0aW9uKCkgY29uc3QgeyByZXR1cm4gbV90cmFuc2FjdGlvbjsgfQogICAgIGJvb2wgYXV0
b0luY3JlbWVudCgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEuYXV0b0luY3JlbWVudDsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUu
aWRsCmluZGV4IDllZDE0MjJiNzJkMjA2NWNmMWMyNjg0NTk4ODFmMWEzMzBjMjdiNmMuLjY0NTMw
YTNhYWIxYmMyMzgyMjkwYmUxZTI5MWYwYmI3MWE3MzY0ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKQEAgLTI5LDcgKzI5
LDcgQEAgbW9kdWxlIHN0b3JhZ2UgewogICAgICAgICBDb25kaXRpb25hbD1JTkRFWEVEX0RBVEFC
QVNFCiAgICAgXSBJREJPYmplY3RTdG9yZSB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBb
VHJlYXRSZXR1cm5lZE51bGxTdHJpbmdBcz1OdWxsXSBET01TdHJpbmcgbmFtZTsKLSAgICAgICAg
cmVhZG9ubHkgYXR0cmlidXRlIElEQkFueSBrZXlQYXRoOworICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW0ltcGxlbWVudGVkQXM9a2V5UGF0aEFueV0gSURCQW55IGtleVBhdGg7CiAgICAgICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmdMaXN0IGluZGV4TmFtZXM7CiAgICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbjsKICAgICAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gYXV0b0luY3JlbWVudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158444</attachid>
            <date>2012-08-14 16:45:34 -0700</date>
            <delta_ts>2012-08-15 09:42:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92434-20120814164501.patch</filename>
            <type>text/plain</type>
            <size>9482</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3ZmY3YmUyMjk2YTIw
ZDg2MTE3YWYzOWZhYzM3ZmE2MTIwMjdjMi4uNDA4MzNkMmJiNDg4ZGEwNzFiZjgwMTM2ZGYzNTE1
M2ViNjU3OGI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTE0ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElE
Qio6OmtleVBhdGggc2hvdWxkIHJldHVybiBJREJLZXlQYXRoLCBub3QgSURCQW55CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjQzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsZWFuIHVwIElEQktleVBh
dGggY29udmVyc2lvbiB0byBJREJBbnkgb2JqZWN0cy4gVGhpcyBnZXRzIHJpZCBvZgorICAgICAg
ICBzb21lIGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBJREJLZXlQYXRoIHRvIElEQkFueS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMgKE9PUFMhKS4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQkFueS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJBbnk6OnNldCk6CisgICAgICAg
IChXZWJDb3JlKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuaDoKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6SURCQW55OjpjcmVhdGUpOgorICAgICAg
ICAoSURCQW55KToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5oOgorICAg
ICAgICAoV2ViQ29yZTo6SURCSW5kZXg6OmtleVBhdGhBbnkpOgorICAgICAgICAoV2ViQ29yZTo6
SURCSW5kZXg6OmtleVBhdGgpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4
LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmNwcDoKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmg6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0
b3JlOjprZXlQYXRoQW55KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjprZXlQ
YXRoKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGw6CisK
IDIwMTItMDgtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMjU1MTkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmNwcAppbmRleCAzMDAyOGNjZmRmY2U5NTk2MDQw
YWMwM2VmYTQ5ZmFiMjQwNzAyZTMyLi4yY2Q4YTA5NGMwMjNjYzNmNzA0ZmViOGJkMGRlNzU5Yjc1
OGI2ODY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJB
bnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5jcHAK
QEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJJREJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIklE
QkZhY3RvcnkuaCIKICNpbmNsdWRlICJJREJJbmRleC5oIgorI2luY2x1ZGUgIklEQktleVBhdGgu
aCIKICNpbmNsdWRlICJJREJPYmplY3RTdG9yZS5oIgogI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3Jp
cHRWYWx1ZS5oIgogCkBAIC0yMDcsNiArMjA4LDI3IEBAIHZvaWQgSURCQW55OjpzZXQoUGFzc1Jl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHZhbHVlKQogICAgIG1fc2VyaWFsaXplZFNjcmlw
dFZhbHVlID0gdmFsdWU7CiB9CiAKK3ZvaWQgSURCQW55OjpzZXQoY29uc3QgSURCS2V5UGF0aCYg
dmFsdWUpCit7CisgICAgQVNTRVJUKG1fdHlwZSA9PSBVbmRlZmluZWRUeXBlKTsKKyAgICBzd2l0
Y2ggKHZhbHVlLnR5cGUoKSkgeworICAgIGNhc2UgSURCS2V5UGF0aDo6TnVsbFR5cGU6CisgICAg
ICAgIG1fdHlwZSA9IE51bGxUeXBlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIElEQktleVBh
dGg6OlN0cmluZ1R5cGU6CisgICAgICAgIG1fdHlwZSA9IFN0cmluZ1R5cGU7CisgICAgICAgIG1f
c3RyaW5nID0gdmFsdWUuc3RyaW5nKCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgSURCS2V5
UGF0aDo6QXJyYXlUeXBlOgorICAgICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4ga2V5UGF0aHMg
PSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKKyAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6
Y29uc3RfaXRlcmF0b3IgaXQgPSB2YWx1ZS5hcnJheSgpLmJlZ2luKCk7IGl0ICE9IHZhbHVlLmFy
cmF5KCkuZW5kKCk7ICsraXQpCisgICAgICAgICAgICBrZXlQYXRocy0+YXBwZW5kKCppdCk7Cisg
ICAgICAgIG1fdHlwZSA9IERPTVN0cmluZ0xpc3RUeXBlOworICAgICAgICBtX2RvbVN0cmluZ0xp
c3QgPSBrZXlQYXRocy5yZWxlYXNlKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KK30KKwogdm9p
ZCBJREJBbnk6OnNldChjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIEFTU0VSVChtX3R5cGUg
PT0gVW5kZWZpbmVkVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJBbnkuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFu
eS5oCmluZGV4IDkzZWIyNDAxZGFhYjhjODY2NmU2ODQ2NTAxZDUxYjkxMDY5YWFiZGUuLjQ4NjE4
NzE5YzUyZGNjY2YwMjFhMmNhZDk1NWViYTQ1NDZiZmU5ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5oCkBAIC00NSw2ICs0NSw3IEBAIGNsYXNzIElEQktleTsK
IGNsYXNzIElEQk9iamVjdFN0b3JlOwogY2xhc3MgSURCVHJhbnNhY3Rpb247CiBjbGFzcyBTZXJp
YWxpemVkU2NyaXB0VmFsdWU7CitjbGFzcyBJREJLZXlQYXRoOwogCiBjbGFzcyBJREJBbnkgOiBw
dWJsaWMgUmVmQ291bnRlZDxJREJBbnk+IHsKIHB1YmxpYzoKQEAgLTU4LDYgKzU5LDEyIEBAIHB1
YmxpYzoKICAgICAgICAgYW55LT5zZXQoaWRiT2JqZWN0KTsKICAgICAgICAgcmV0dXJuIGFueS5y
ZWxlYXNlKCk7CiAgICAgfQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkFueT4gY3JlYXRlKGNv
bnN0IElEQktleVBhdGgmIGtleVBhdGgpCisgICAgeworICAgICAgICBSZWZQdHI8SURCQW55PiBh
bnkgPSBJREJBbnk6OmNyZWF0ZUludmFsaWQoKTsKKyAgICAgICAgYW55LT5zZXQoa2V5UGF0aCk7
CisgICAgICAgIHJldHVybiBhbnkucmVsZWFzZSgpOworICAgIH0KICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBUPgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQkFueT4gY3JlYXRlKFBhc3NSZWZQdHI8
VD4gaWRiT2JqZWN0KQogICAgIHsKQEAgLTEwOSw2ICsxMTYsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXQoUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4pOwogICAgIHZvaWQgc2V0KFBhc3NSZWZQ
dHI8SURCVHJhbnNhY3Rpb24+KTsKICAgICB2b2lkIHNldChQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4pOworICAgIHZvaWQgc2V0KGNvbnN0IElEQktleVBhdGgmKTsKICAgICB2b2lk
IHNldChjb25zdCBTdHJpbmcmKTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJJbmRleC5oCmluZGV4IDgyMDFkNWQzMzNkYjkxZDVmMzAwODIwOTQ0YzA3
ZjZiODhiOThkOGUuLjU5ZTAzODgzNmQyNDg2ZWRhNmU3Mjk3Njg5YzYyY2QyYzc0YzFkMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaApAQCAtNTMsNyAr
NTMsOCBAQCBwdWJsaWM6CiAgICAgLy8gSW1wbGVtZW50IHRoZSBJREwKICAgICBjb25zdCBTdHJp
bmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEubmFtZTsgfQogICAgIFBhc3NSZWZQ
dHI8SURCT2JqZWN0U3RvcmU+IG9iamVjdFN0b3JlKCkgY29uc3QgeyByZXR1cm4gbV9vYmplY3RT
dG9yZTsgfQotICAgIFBhc3NSZWZQdHI8SURCQW55PiBrZXlQYXRoKCkgY29uc3QgeyByZXR1cm4g
bV9tZXRhZGF0YS5rZXlQYXRoOyB9CisgICAgUGFzc1JlZlB0cjxJREJBbnk+IGtleVBhdGhBbnko
KSBjb25zdCB7IHJldHVybiBJREJBbnk6OmNyZWF0ZShtX21ldGFkYXRhLmtleVBhdGgpOyB9Cisg
ICAgY29uc3QgSURCS2V5UGF0aCBrZXlQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9tZXRhZGF0YS5r
ZXlQYXRoOyB9CiAgICAgYm9vbCB1bmlxdWUoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLnVu
aXF1ZTsgfQogICAgIGJvb2wgbXVsdGlFbnRyeSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEu
bXVsdGlFbnRyeTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJ
bmRleC5pZGwKaW5kZXggYTE3MDhjYTYyYzMwZDhhNzViNjgyMjY3MDdmZTJhYTIyYmY5YmNmYy4u
Nzc4OTIzNmExNGM3NzhjZDNjMGUzMDEwYjU1NDBiYzI4ZGY3ZWU0OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmlkbApAQCAtMzAsNyArMzAsNyBAQCBt
b2R1bGUgc3RvcmFnZSB7CiAgICAgXSBJREJJbmRleCB7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01TdHJpbmcgbmFtZTsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIElEQk9iamVj
dFN0b3JlIG9iamVjdFN0b3JlOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCQW55IGtl
eVBhdGg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW1wbGVtZW50ZWRBcz1rZXlQYXRo
QW55XSBJREJBbnkga2V5UGF0aDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
dW5pcXVlOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtdWx0aUVudHJ5Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRo
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGguY3BwCmlu
ZGV4IDhjN2I4NGY5ZTg0YWRlY2M1YjgwZWViZWJkZjRiMjAwNDI5Mjk3ZDguLjBkN2I4MjExNjhj
MGZhNzUwNGZmNWFjMGY3YTQyNjVmYzQ4MzFlZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGguY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGguY3BwCkBAIC0yMTksNDggKzIxOSw2IEBAIGJvb2wg
SURCS2V5UGF0aDo6aXNWYWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi1JREJL
ZXlQYXRoOjpvcGVyYXRvciBQYXNzUmVmUHRyPElEQkFueT4oKSBjb25zdAotewotICAgIHN3aXRj
aCAobV90eXBlKSB7Ci0gICAgY2FzZSBOdWxsVHlwZToKLSAgICAgICAgcmV0dXJuIElEQkFueTo6
Y3JlYXRlTnVsbCgpOwotICAgIGNhc2UgU3RyaW5nVHlwZToKLSAgICAgICAgcmV0dXJuIElEQkFu
eTo6Y3JlYXRlU3RyaW5nKG1fc3RyaW5nKTsKLSAgICBjYXNlIEFycmF5VHlwZToKLSAgICAgICAg
UmVmUHRyPERPTVN0cmluZ0xpc3Q+IGtleVBhdGhzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7
Ci0gICAgICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gbV9hcnJh
eS5iZWdpbigpOyBpdCAhPSBtX2FycmF5LmVuZCgpOyArK2l0KQotICAgICAgICBrZXlQYXRocy0+
YXBwZW5kKCppdCk7Ci0gICAgICAgIHJldHVybiBJREJBbnk6OmNyZWF0ZShzdGF0aWNfY2FzdDxQ
YXNzUmVmUHRyPERPTVN0cmluZ0xpc3Q+ID4oa2V5UGF0aHMpKTsKLSAgICB9Ci0gICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLWJvb2wgSURCS2V5UGF0aDo6b3Bl
cmF0b3I9PShQYXNzUmVmUHRyPElEQkFueT4gb3RoZXIpIGNvbnN0Ci17Ci0gICAgaWYgKCFpc1Zh
bGlkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHN3aXRjaCAobV90eXBlKSB7Ci0g
ICAgY2FzZSBOdWxsVHlwZToKLSAgICAgICAgcmV0dXJuIG90aGVyLT50eXBlKCkgPT0gSURCQW55
OjpOdWxsVHlwZTsKLSAgICBjYXNlIFN0cmluZ1R5cGU6Ci0gICAgICAgIHJldHVybiBvdGhlci0+
dHlwZSgpID09IElEQkFueTo6U3RyaW5nVHlwZSAmJiBvdGhlci0+c3RyaW5nKCkgPT0gc3RyaW5n
KCk7Ci0gICAgY2FzZSBBcnJheVR5cGU6Ci0gICAgICAgIGlmIChvdGhlci0+dHlwZSgpICE9IElE
QkFueTo6RE9NU3RyaW5nTGlzdFR5cGUpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAg
ICAgICAgUmVmUHRyPERPTVN0cmluZ0xpc3Q+IG90aGVyTGlzdCA9IG90aGVyLT5kb21TdHJpbmdM
aXN0KCk7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hcnJheS5zaXplKCk7ICsr
aSkgewotICAgICAgICAgICAgaWYgKG90aGVyTGlzdC0+aXRlbShpKSAhPSBtX2FycmF5W2ldKQot
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgfQotICAgICAgICByZXR1cm4g
dHJ1ZTsKLSAgICB9Ci0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJuIGZhbHNl
OwotfQotCiBib29sIElEQktleVBhdGg6Om9wZXJhdG9yPT0oY29uc3QgSURCS2V5UGF0aCYgb3Ro
ZXIpIGNvbnN0CiB7CiAgICAgaWYgKG1fdHlwZSAhPSBvdGhlci5tX3R5cGUpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmgKaW5kZXggZGYzMWUyYWJjNjVl
YjdhMzI3YzlmNTkxNzgzNWNjMzg2YTI0YTlmMC4uNTI0NGM4YTFiYjQ0NDY2ODRlYWY4MzNmYjhk
OGQ4N2U3NWM5ZDkzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5UGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QktleVBhdGguaApAQCAtMjgsNyArMjgsNiBAQAogCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCiAKLSNpbmNsdWRlICJJREJBbnkuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgog
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIApAQCAtNzEsOCArNzAsNiBAQCBwdWJsaWM6CiAKICAg
ICBib29sIGlzTnVsbCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBOdWxsVHlwZTsgfQogICAg
IGJvb2wgaXNWYWxpZCgpIGNvbnN0OwotICAgIG9wZXJhdG9yIFBhc3NSZWZQdHI8SURCQW55Pigp
IGNvbnN0OwotICAgIGJvb2wgb3BlcmF0b3I9PShQYXNzUmVmUHRyPElEQkFueT4gb3RoZXIpIGNv
bnN0OwogICAgIGJvb2wgb3BlcmF0b3I9PShjb25zdCBJREJLZXlQYXRoJiBvdGhlcikgY29uc3Q7
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPYmplY3RTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
T2JqZWN0U3RvcmUuaAppbmRleCA2ZmVmYzRlMmJhZDA5NWFlNmQxMzM0YzNlYmI5NmZlOTA4OWI4
ODBmLi5lZDQzMmJmMzBmNzk5NjRlNjlmOTcwMDg1NTA3OGVmY2JjZTM2ZDk4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmgKQEAgLTU4
LDcgKzU4LDggQEAgcHVibGljOgogCiAgICAgLy8gSW1wbGVtZW50IHRoZSBJREJPYmplY3RTdG9y
ZSBJREwKICAgICBjb25zdCBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEu
bmFtZTsgfQotICAgIFBhc3NSZWZQdHI8SURCQW55PiBrZXlQYXRoKCkgY29uc3QgeyByZXR1cm4g
bV9tZXRhZGF0YS5rZXlQYXRoOyB9CisgICAgUGFzc1JlZlB0cjxJREJBbnk+IGtleVBhdGhBbnko
KSBjb25zdCB7IHJldHVybiBJREJBbnk6OmNyZWF0ZShtX21ldGFkYXRhLmtleVBhdGgpOyB9Cisg
ICAgY29uc3QgSURCS2V5UGF0aCBrZXlQYXRoKCkgY29uc3QgeyByZXR1cm4gbV9tZXRhZGF0YS5r
ZXlQYXRoOyB9CiAgICAgUGFzc1JlZlB0cjxET01TdHJpbmdMaXN0PiBpbmRleE5hbWVzKCkgY29u
c3Q7CiAgICAgUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4gdHJhbnNhY3Rpb24oKSBjb25zdCB7
IHJldHVybiBtX3RyYW5zYWN0aW9uOyB9CiAgICAgYm9vbCBhdXRvSW5jcmVtZW50KCkgY29uc3Qg
eyByZXR1cm4gbV9tZXRhZGF0YS5hdXRvSW5jcmVtZW50OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKaW5kZXggOWVkMTQyMmI3
MmQyMDY1Y2YxYzI2ODQ1OTg4MWYxYTMzMGMyN2I2Yy4uNjQ1MzBhM2FhYjFiYzIzODIyOTBiZTFl
MjkxZjBiYjcxYTczNjRlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQk9iamVjdFN0b3JlLmlkbApAQCAtMjksNyArMjksNyBAQCBtb2R1bGUgc3RvcmFn
ZSB7CiAgICAgICAgIENvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKICAgICBdIElEQk9iamVj
dFN0b3JlIHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtUcmVhdFJldHVybmVkTnVsbFN0
cmluZ0FzPU51bGxdIERPTVN0cmluZyBuYW1lOwotICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUg
SURCQW55IGtleVBhdGg7CisgICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBbSW1wbGVtZW50ZWRB
cz1rZXlQYXRoQW55XSBJREJBbnkga2V5UGF0aDsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IERPTVN0cmluZ0xpc3QgaW5kZXhOYW1lczsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIElE
QlRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uOwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBhdXRvSW5jcmVtZW50Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>158582</attachid>
            <date>2012-08-15 09:43:00 -0700</date>
            <delta_ts>2012-08-15 17:58:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92434-20120815094226.patch</filename>
            <type>text/plain</type>
            <size>9508</size>
            <attacher name="Alec Flett">alecflett</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI1NTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjA3ZmY3YmUyMjk2YTIw
ZDg2MTE3YWYzOWZhYzM3ZmE2MTIwMjdjMi4uMzYyYjA5ZTU2NWYxNDM0OWJhZThhMmJjMTI3YzY5
MDY4NGIyZjNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA4LTE0ICBBbGVj
IEZsZXR0ICA8YWxlY2ZsZXR0QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElE
Qio6OmtleVBhdGggc2hvdWxkIHJldHVybiBJREJLZXlQYXRoLCBub3QgSURCQW55CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjQzNAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENsZWFuIHVwIElEQktleVBh
dGggY29udmVyc2lvbiB0byBJREJBbnkgb2JqZWN0cy4gVGhpcyBnZXRzIHJpZCBvZgorICAgICAg
ICBzb21lIGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBJREJLZXlQYXRoIHRvIElEQkFueS4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIGp1c3QgY2hhbmdpbmcgbWV0aG9kIHNpZ25hdHVyZXMuCisK
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCQW55OjpzZXQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCQW55Lmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6
OklEQkFueTo6Y3JlYXRlKToKKyAgICAgICAgKElEQkFueSk6CisgICAgICAgICogTW9kdWxlcy9p
bmRleGVkZGIvSURCSW5kZXguaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4OjprZXlQYXRo
QW55KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4OjprZXlQYXRoKToKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5pZGw6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCS2V5UGF0aC5jcHA6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0
aC5oOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmg6CisgICAg
ICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6a2V5UGF0aEFueSk6CisgICAgICAgIChXZWJD
b3JlOjpJREJPYmplY3RTdG9yZTo6a2V5UGF0aCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmUuaWRsOgorCiAyMDEyLTA4LTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtp
dC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMTI1NTE5LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIv
SURCQW55LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkFueS5jcHAK
aW5kZXggMzAwMjhjY2ZkZmNlOTU5NjA0MGFjMDNlZmE0OWZhYjI0MDcwMmUzMi4uMmNkOGEwOTRj
MDIzY2MzZjcwNGZlYjhiZDBkZTc1OWI3NThiNjg2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJBbnkuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiSURC
RGF0YWJhc2UuaCIKICNpbmNsdWRlICJJREJGYWN0b3J5LmgiCiAjaW5jbHVkZSAiSURCSW5kZXgu
aCIKKyNpbmNsdWRlICJJREJLZXlQYXRoLmgiCiAjaW5jbHVkZSAiSURCT2JqZWN0U3RvcmUuaCIK
ICNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIApAQCAtMjA3LDYgKzIwOCwyNyBA
QCB2b2lkIElEQkFueTo6c2V0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiB2YWx1
ZSkKICAgICBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA9IHZhbHVlOwogfQogCit2b2lkIElEQkFu
eTo6c2V0KGNvbnN0IElEQktleVBhdGgmIHZhbHVlKQoreworICAgIEFTU0VSVChtX3R5cGUgPT0g
VW5kZWZpbmVkVHlwZSk7CisgICAgc3dpdGNoICh2YWx1ZS50eXBlKCkpIHsKKyAgICBjYXNlIElE
QktleVBhdGg6Ok51bGxUeXBlOgorICAgICAgICBtX3R5cGUgPSBOdWxsVHlwZTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBJREJLZXlQYXRoOjpTdHJpbmdUeXBlOgorICAgICAgICBtX3R5cGUg
PSBTdHJpbmdUeXBlOworICAgICAgICBtX3N0cmluZyA9IHZhbHVlLnN0cmluZygpOworICAgICAg
ICBicmVhazsKKyAgICBjYXNlIElEQktleVBhdGg6OkFycmF5VHlwZToKKyAgICAgICAgUmVmUHRy
PERPTVN0cmluZ0xpc3Q+IGtleVBhdGhzID0gRE9NU3RyaW5nTGlzdDo6Y3JlYXRlKCk7CisgICAg
ICAgIGZvciAoVmVjdG9yPFN0cmluZz46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gdmFsdWUuYXJyYXko
KS5iZWdpbigpOyBpdCAhPSB2YWx1ZS5hcnJheSgpLmVuZCgpOyArK2l0KQorICAgICAgICAgICAg
a2V5UGF0aHMtPmFwcGVuZCgqaXQpOworICAgICAgICBtX3R5cGUgPSBET01TdHJpbmdMaXN0VHlw
ZTsKKyAgICAgICAgbV9kb21TdHJpbmdMaXN0ID0ga2V5UGF0aHMucmVsZWFzZSgpOworICAgICAg
ICBicmVhazsKKyAgICB9Cit9CisKIHZvaWQgSURCQW55OjpzZXQoY29uc3QgU3RyaW5nJiB2YWx1
ZSkKIHsKICAgICBBU1NFUlQobV90eXBlID09IFVuZGVmaW5lZFR5cGUpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQW55LmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuaAppbmRleCA5M2ViMjQwMWRhYWI4Yzg2NjZlNjg0
NjUwMWQ1MWI5MTA2OWFhYmRlLi44YmE3NzQyOWFkYzY0MjViZTI4NjdhYjgxNjFmM2Q3Yjc5ZWNi
YTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJBbnkuaApAQCAtNDIs
NiArNDIsNyBAQCBjbGFzcyBJREJEYXRhYmFzZTsKIGNsYXNzIElEQkZhY3Rvcnk7CiBjbGFzcyBJ
REJJbmRleDsKIGNsYXNzIElEQktleTsKK2NsYXNzIElEQktleVBhdGg7CiBjbGFzcyBJREJPYmpl
Y3RTdG9yZTsKIGNsYXNzIElEQlRyYW5zYWN0aW9uOwogY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZh
bHVlOwpAQCAtNTgsNiArNTksMTIgQEAgcHVibGljOgogICAgICAgICBhbnktPnNldChpZGJPYmpl
Y3QpOwogICAgICAgICByZXR1cm4gYW55LnJlbGVhc2UoKTsKICAgICB9CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8SURCQW55PiBjcmVhdGUoY29uc3QgSURCS2V5UGF0aCYga2V5UGF0aCkKKyAgICB7
CisgICAgICAgIFJlZlB0cjxJREJBbnk+IGFueSA9IElEQkFueTo6Y3JlYXRlSW52YWxpZCgpOwor
ICAgICAgICBhbnktPnNldChrZXlQYXRoKTsKKyAgICAgICAgcmV0dXJuIGFueS5yZWxlYXNlKCk7
CisgICAgfQogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
SURCQW55PiBjcmVhdGUoUGFzc1JlZlB0cjxUPiBpZGJPYmplY3QpCiAgICAgewpAQCAtMTA5LDYg
KzExNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldChQYXNzUmVmUHRyPElEQk9iamVjdFN0b3Jl
Pik7CiAgICAgdm9pZCBzZXQoUGFzc1JlZlB0cjxJREJUcmFuc2FjdGlvbj4pOwogICAgIHZvaWQg
c2V0KFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CisgICAgdm9pZCBzZXQoY29u
c3QgSURCS2V5UGF0aCYpOwogICAgIHZvaWQgc2V0KGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXgu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmgKaW5kZXggODIw
MWQ1ZDMzM2RiOTFkNWYzMDA4MjA5NDRjMDdmNmI4OGI5OGQ4ZS4uNTllMDM4ODM2ZDI0ODZlZGE2
ZTcyOTc2ODljNjJjZDJjNzRjMWQwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCSW5kZXguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJJbmRleC5oCkBAIC01Myw3ICs1Myw4IEBAIHB1YmxpYzoKICAgICAvLyBJbXBsZW1l
bnQgdGhlIElETAogICAgIGNvbnN0IFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9tZXRh
ZGF0YS5uYW1lOyB9CiAgICAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gb2JqZWN0U3RvcmUo
KSBjb25zdCB7IHJldHVybiBtX29iamVjdFN0b3JlOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJBbnk+
IGtleVBhdGgoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLmtleVBhdGg7IH0KKyAgICBQYXNz
UmVmUHRyPElEQkFueT4ga2V5UGF0aEFueSgpIGNvbnN0IHsgcmV0dXJuIElEQkFueTo6Y3JlYXRl
KG1fbWV0YWRhdGEua2V5UGF0aCk7IH0KKyAgICBjb25zdCBJREJLZXlQYXRoIGtleVBhdGgoKSBj
b25zdCB7IHJldHVybiBtX21ldGFkYXRhLmtleVBhdGg7IH0KICAgICBib29sIHVuaXF1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbWV0YWRhdGEudW5pcXVlOyB9CiAgICAgYm9vbCBtdWx0aUVudHJ5KCkg
Y29uc3QgeyByZXR1cm4gbV9tZXRhZGF0YS5tdWx0aUVudHJ5OyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmlkbAppbmRleCBhMTcwOGNhNjJjMzBkOGE3
NWI2ODIyNjcwN2ZlMmFhMjJiZjliY2ZjLi43Nzg5MjM2YTE0Yzc3OGNkM2MwZTMwMTBiNTU0MGJj
MjhkZjdlZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJJbmRleC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5k
ZXguaWRsCkBAIC0zMCw3ICszMCw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICBdIElEQkluZGV4
IHsKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgSURCT2JqZWN0U3RvcmUgb2JqZWN0U3RvcmU7Ci0gICAgICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBJREJBbnkga2V5UGF0aDsKKyAgICAgICAgcmVhZG9ubHkgYXR0cmli
dXRlIFtJbXBsZW1lbnRlZEFzPWtleVBhdGhBbnldIElEQkFueSBrZXlQYXRoOwogICAgICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiB1bmlxdWU7CiAgICAgICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBib29sZWFuIG11bHRpRW50cnk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQktleVBhdGguY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCS2V5UGF0aC5jcHAKaW5kZXggOGM3Yjg0ZjllODRhZGVjYzViODBlZWJlYmRm
NGIyMDA0MjkyOTdkOC4uMGQ3YjgyMTE2OGMwZmE3NTA0ZmY1YWMwZjdhNDI2NWZjNDgzMWVkYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5jcHAK
QEAgLTIxOSw0OCArMjE5LDYgQEAgYm9vbCBJREJLZXlQYXRoOjppc1ZhbGlkKCkgY29uc3QKICAg
ICByZXR1cm4gZmFsc2U7CiB9CiAKLUlEQktleVBhdGg6Om9wZXJhdG9yIFBhc3NSZWZQdHI8SURC
QW55PigpIGNvbnN0Ci17Ci0gICAgc3dpdGNoIChtX3R5cGUpIHsKLSAgICBjYXNlIE51bGxUeXBl
OgotICAgICAgICByZXR1cm4gSURCQW55OjpjcmVhdGVOdWxsKCk7Ci0gICAgY2FzZSBTdHJpbmdU
eXBlOgotICAgICAgICByZXR1cm4gSURCQW55OjpjcmVhdGVTdHJpbmcobV9zdHJpbmcpOwotICAg
IGNhc2UgQXJyYXlUeXBlOgotICAgICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4ga2V5UGF0aHMg
PSBET01TdHJpbmdMaXN0OjpjcmVhdGUoKTsKLSAgICAgICAgZm9yIChWZWN0b3I8U3RyaW5nPjo6
Y29uc3RfaXRlcmF0b3IgaXQgPSBtX2FycmF5LmJlZ2luKCk7IGl0ICE9IG1fYXJyYXkuZW5kKCk7
ICsraXQpCi0gICAgICAgIGtleVBhdGhzLT5hcHBlbmQoKml0KTsKLSAgICAgICAgcmV0dXJuIElE
QkFueTo6Y3JlYXRlKHN0YXRpY19jYXN0PFBhc3NSZWZQdHI8RE9NU3RyaW5nTGlzdD4gPihrZXlQ
YXRocykpOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gMDsK
LX0KLQotYm9vbCBJREJLZXlQYXRoOjpvcGVyYXRvcj09KFBhc3NSZWZQdHI8SURCQW55PiBvdGhl
cikgY29uc3QKLXsKLSAgICBpZiAoIWlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
Ci0gICAgc3dpdGNoIChtX3R5cGUpIHsKLSAgICBjYXNlIE51bGxUeXBlOgotICAgICAgICByZXR1
cm4gb3RoZXItPnR5cGUoKSA9PSBJREJBbnk6Ok51bGxUeXBlOwotICAgIGNhc2UgU3RyaW5nVHlw
ZToKLSAgICAgICAgcmV0dXJuIG90aGVyLT50eXBlKCkgPT0gSURCQW55OjpTdHJpbmdUeXBlICYm
IG90aGVyLT5zdHJpbmcoKSA9PSBzdHJpbmcoKTsKLSAgICBjYXNlIEFycmF5VHlwZToKLSAgICAg
ICAgaWYgKG90aGVyLT50eXBlKCkgIT0gSURCQW55OjpET01TdHJpbmdMaXN0VHlwZSkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBSZWZQdHI8RE9NU3RyaW5nTGlzdD4gb3Ro
ZXJMaXN0ID0gb3RoZXItPmRvbVN0cmluZ0xpc3QoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBtX2FycmF5LnNpemUoKTsgKytpKSB7Ci0gICAgICAgICAgICBpZiAob3RoZXJMaXN0
LT5pdGVtKGkpICE9IG1fYXJyYXlbaV0pCi0gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgICAgICB9Ci0gICAgICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KIGJvb2wgSURCS2V5UGF0aDo6b3BlcmF0
b3I9PShjb25zdCBJREJLZXlQYXRoJiBvdGhlcikgY29uc3QKIHsKICAgICBpZiAobV90eXBlICE9
IG90aGVyLm1fdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQktleVBhdGguaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQktl
eVBhdGguaAppbmRleCBkZjMxZTJhYmM2NWViN2EzMjdjOWY1OTE3ODM1Y2MzODZhMjRhOWYwLi41
MjQ0YzhhMWJiNDQ0NjY4NGVhZjgzM2ZiOGQ4ZDg3ZTc1YzlkOTNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJLZXlQYXRoLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCS2V5UGF0aC5oCkBAIC0yOCw3ICsyOCw2IEBACiAK
ICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKIAotI2luY2x1ZGUgIklEQkFueS5oIgogI2lu
Y2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCkBAIC03
MSw4ICs3MCw2IEBAIHB1YmxpYzoKIAogICAgIGJvb2wgaXNOdWxsKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IE51bGxUeXBlOyB9CiAgICAgYm9vbCBpc1ZhbGlkKCkgY29uc3Q7Ci0gICAgb3Bl
cmF0b3IgUGFzc1JlZlB0cjxJREJBbnk+KCkgY29uc3Q7Ci0gICAgYm9vbCBvcGVyYXRvcj09KFBh
c3NSZWZQdHI8SURCQW55PiBvdGhlcikgY29uc3Q7CiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0
IElEQktleVBhdGgmIG90aGVyKSBjb25zdDsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oCmluZGV4IDZmZWZjNGUyYmFk
MDk1YWU2ZDEzMzRjM2ViYjk2ZmU5MDg5Yjg4MGYuLmVkNDMyYmYzMGY3OTk2NGU2OWY5NzAwODU1
MDc4ZWZjYmNlMzZkOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQk9iamVjdFN0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmUuaApAQCAtNTgsNyArNTgsOCBAQCBwdWJsaWM6CiAKICAgICAvLyBJ
bXBsZW1lbnQgdGhlIElEQk9iamVjdFN0b3JlIElETAogICAgIGNvbnN0IFN0cmluZyBuYW1lKCkg
Y29uc3QgeyByZXR1cm4gbV9tZXRhZGF0YS5uYW1lOyB9Ci0gICAgUGFzc1JlZlB0cjxJREJBbnk+
IGtleVBhdGgoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLmtleVBhdGg7IH0KKyAgICBQYXNz
UmVmUHRyPElEQkFueT4ga2V5UGF0aEFueSgpIGNvbnN0IHsgcmV0dXJuIElEQkFueTo6Y3JlYXRl
KG1fbWV0YWRhdGEua2V5UGF0aCk7IH0KKyAgICBjb25zdCBJREJLZXlQYXRoIGtleVBhdGgoKSBj
b25zdCB7IHJldHVybiBtX21ldGFkYXRhLmtleVBhdGg7IH0KICAgICBQYXNzUmVmUHRyPERPTVN0
cmluZ0xpc3Q+IGluZGV4TmFtZXMoKSBjb25zdDsKICAgICBQYXNzUmVmUHRyPElEQlRyYW5zYWN0
aW9uPiB0cmFuc2FjdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdHJhbnNhY3Rpb247IH0KICAgICBi
b29sIGF1dG9JbmNyZW1lbnQoKSBjb25zdCB7IHJldHVybiBtX21ldGFkYXRhLmF1dG9JbmNyZW1l
bnQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmlkbAppbmRleCA5ZWQxNDIyYjcyZDIwNjVjZjFjMjY4NDU5ODgxZjFhMzMwYzI3YjZj
Li42NDUzMGEzYWFiMWJjMjM4MjI5MGJlMWUyOTFmMGJiNzFhNzM2NGVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaWRsCkBAIC0y
OSw3ICsyOSw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKICAgICAgICAgQ29uZGl0aW9uYWw9SU5ERVhF
RF9EQVRBQkFTRQogICAgIF0gSURCT2JqZWN0U3RvcmUgewogICAgICAgICByZWFkb25seSBhdHRy
aWJ1dGUgW1RyZWF0UmV0dXJuZWROdWxsU3RyaW5nQXM9TnVsbF0gRE9NU3RyaW5nIG5hbWU7Ci0g
ICAgICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBJREJBbnkga2V5UGF0aDsKKyAgICAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIFtJbXBsZW1lbnRlZEFzPWtleVBhdGhBbnldIElEQkFueSBrZXlQYXRoOwog
ICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nTGlzdCBpbmRleE5hbWVzOwogICAg
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgSURCVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb247CiAgICAg
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGF1dG9JbmNyZW1lbnQ7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>