<?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>113043</bug_id>
          
          <creation_ts>2013-03-22 04:40:54 -0700</creation_ts>
          <short_desc>build warning for unused function parameters in indexeddb</short_desc>
          <delta_ts>2013-03-27 17:11:33 -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>All</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="Charles Wei">charles.wei</reporter>
          <assigned_to name="Charles Wei">charles.wei</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <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>861345</commentid>
    <comment_count>0</comment_count>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-22 04:40:54 -0700</bug_when>
    <thetext>When building webkit for blackberry, there&apos;s the following warmings like:

Source/WebCore/Modules/indexeddb/IDBCallbacks.h:71:18: warning: unused parameter &apos;existingVersion&apos; [-Wunused-parameter]

We should remove the parameter name if it&apos;s not used in the function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861347</commentid>
    <comment_count>1</comment_count>
      <attachid>194514</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-22 04:43:18 -0700</bug_when>
    <thetext>Created attachment 194514
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862632</commentid>
    <comment_count>2</comment_count>
      <attachid>194822</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-25 04:07:25 -0700</bug_when>
    <thetext>Created attachment 194822
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>862828</commentid>
    <comment_count>3</comment_count>
      <attachid>194822</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-25 09:17:54 -0700</bug_when>
    <thetext>Comment on attachment 194822
Patch

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

Thanks for the cleanup!

&gt; Source/WebCore/Modules/indexeddb/IDBCallbacks.h:71
&gt; +    virtual void onBlocked(int64_t /* existingVersion */) { ASSERT_NOT_REACHED(); }

It looks like WebKit style is to not have spaces inside the comment, e.g. (int64_t /*existingVersion*/)

&gt; Source/WebCore/Modules/indexeddb/IDBCallbacks.h:73
&gt; +    virtual void onUpgradeNeeded(int64_t /* oldVersion */, PassRefPtr&lt;IDBDatabaseBackendInterface&gt;, const IDBDatabaseMetadata&amp;) { ASSERT_NOT_REACHED(); }

Ditto.

&gt; Source/WebCore/Modules/indexeddb/IDBCursor.cpp:300
&gt; +IndexedDB::CursorDirection IDBCursor::stringToDirection(const String&amp; directionString, ScriptExecutionContext*, ExceptionCode&amp; ec)

Please just remove the ScriptExecutionContext argument from this method and all callers. It is no longer used now that we&apos;ve dropped support for legacy constants.

&gt; Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp:223
&gt; +void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int /* unusedPrefetches */)

Remove extra spaces inside /* ... */

&gt; Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:918
&gt; +void IDBDatabaseBackendImpl::setIndexesReady(int64_t transactionId, int64_t /* objectStoreId */, const Vector&lt;int64_t&gt;&amp; indexIds)

Ditto.

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:729
&gt; +int compare(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool /* ignoreDuplicates */, bool&amp; ok)

Ditto.

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:752
&gt; +int compare&lt;ExistsEntryKey&gt;(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool /* ignoreDuplicates */, bool&amp; ok)

Ditto.

&gt; Source/WebCore/Modules/indexeddb/IDBTransaction.cpp:339
&gt; +IndexedDB::TransactionMode IDBTransaction::stringToMode(const String&amp; modeString, ScriptExecutionContext*, ExceptionCode&amp; ec)

Please just remove the ScriptExecutionContext argument from the method and all callers. It is no longer used now that we&apos;ve dropped support for legacy constants.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863337</commentid>
    <comment_count>4</comment_count>
      <attachid>194995</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-25 21:27:11 -0700</bug_when>
    <thetext>Created attachment 194995
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863339</commentid>
    <comment_count>5</comment_count>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-25 21:32:41 -0700</bug_when>
    <thetext>Thanks for the comments, Joshua.

About the style for inline comments &quot;/* */&quot;,  there are no standard style guideline in webkit coding standard about whether to have a white space after leading &quot;/*&quot; and before &quot;*/&quot;.  There are both styles (with and without the white space) in webkit code, both seem OK.

But I personally prefer to have the white space to make the code easier to read.  Do you agree, Joshua ?

About your other comments to remove unused ScriptExecutionContext,  I&apos;ve done that with the new patch.

Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863453</commentid>
    <comment_count>6</comment_count>
      <attachid>194995</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-03-26 01:29:06 -0700</bug_when>
    <thetext>Comment on attachment 194995
Patch

Attachment 194995 did not pass win-ews (win):
Output: http://webkit-commit-queue.appspot.com/results/17311292</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863708</commentid>
    <comment_count>7</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-03-26 08:58:34 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; About the style for inline comments &quot;/* */&quot;,  there are no standard style guideline in webkit coding standard about whether to have a white space after leading &quot;/*&quot; and before &quot;*/&quot;.  There are both styles (with and without the white space) in webkit code, both seem OK.

Okay. I guess the files I looked at all used the more compact form. Doesn&apos;t matter.
 
&gt; About your other comments to remove unused ScriptExecutionContext,  I&apos;ve done that with the new patch.

Cool, looks good to me.

tony@ - could you r? this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>863772</commentid>
    <comment_count>8</comment_count>
      <attachid>194995</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-26 10:13:28 -0700</bug_when>
    <thetext>Comment on attachment 194995
Patch

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

&gt; Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp:223
&gt; -void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int unusedPrefetches)
&gt; +void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int /* unusedPrefetches */)

Nit: WebKit style is to normally leave parameters unnamed if they are unused.  The name can be found in the header file if you want to know what the param is for.

&gt; Source/WebCore/Modules/indexeddb/IDBDatabaseBackendImpl.cpp:918
&gt; -void IDBDatabaseBackendImpl::setIndexesReady(int64_t transactionId, int64_t objectStoreId, const Vector&lt;int64_t&gt;&amp; indexIds)
&gt; +void IDBDatabaseBackendImpl::setIndexesReady(int64_t transactionId, int64_t /* objectStoreId */, const Vector&lt;int64_t&gt;&amp; indexIds)

Remove objectStoreId

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:729
&gt; -int compare(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool ignoreDuplicates, bool&amp; ok)
&gt; +int compare(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool /* ignoreDuplicates */, bool&amp; ok)

Remove ignoreDuplicates

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:752
&gt; -int compare&lt;ExistsEntryKey&gt;(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool ignoreDuplicates, bool&amp; ok)
&gt; +int compare&lt;ExistsEntryKey&gt;(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool /* ignoreDuplicates */, bool&amp; ok)

Remove ignoreDuplicates

&gt; Source/WebCore/Modules/indexeddb/IDBLevelDBCoding.cpp:775
&gt; -int compare&lt;ObjectStoreDataKey&gt;(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool ignoreDuplicates, bool&amp; ok)
&gt; +int compare&lt;ObjectStoreDataKey&gt;(const LevelDBSlice&amp; a, const LevelDBSlice&amp; b, bool /* ignoreDuplicates */, bool&amp; ok)

Remove ignoreDuplicates

&gt; Source/WebCore/inspector/InspectorIndexedDBAgent.cpp:205
&gt; -void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin* securityOrigin, const String&amp; databaseName)
&gt; +void ExecutableWithDatabase::start(IDBFactory* idbFactory, SecurityOrigin*, const String&amp; databaseName)

This is a good example of WebKit style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864180</commentid>
    <comment_count>9</comment_count>
      <attachid>194995</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-26 19:14:08 -0700</bug_when>
    <thetext>Comment on attachment 194995
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBCursorBackendImpl.cpp:223
&gt;&gt; +void IDBCursorBackendImpl::prefetchReset(int usedPrefetches, int /* unusedPrefetches */)
&gt; 
&gt; Nit: WebKit style is to normally leave parameters unnamed if they are unused.  The name can be found in the header file if you want to know what the param is for.

Agree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>864288</commentid>
    <comment_count>10</comment_count>
      <attachid>195239</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2013-03-27 01:26:42 -0700</bug_when>
    <thetext>Created attachment 195239
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865017</commentid>
    <comment_count>11</comment_count>
      <attachid>195239</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-27 17:11:29 -0700</bug_when>
    <thetext>Comment on attachment 195239
Patch

Clearing flags on attachment: 195239

Committed r147029: &lt;http://trac.webkit.org/changeset/147029&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865019</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-27 17:11:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194514</attachid>
            <date>2013-03-22 04:43:18 -0700</date>
            <delta_ts>2013-03-25 04:05:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113043-20130322193902.patch</filename>
            <type>text/plain</type>
            <size>3646</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGI4ZjBiOTgyMTJiOTJl
NjE0MjNjMjVjMzQzZDZiZjcwNGFkYTc4Ny4uMjkyYjJjNTkwMjQ3YmFlNWM2ZjEyZTE2YmVjN2Rm
ZjI4ZTcyYzIxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDEzLTAzLTIyICBDaGFy
bGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZW1v
dmUgYnVpbGQgd2FybWluZyBmb3IgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaW4gaW5kZXhl
ZGRiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEz
MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBqdXN0IGZpeCBzb21lIGJ1aWxkIHdhcm5pbmdzLiAKKworICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2Fs
bGJhY2tzOjpvbkJsb2NrZWQpOgorICAgICAgICAoV2ViQ29yZTo6SURCQ2FsbGJhY2tzOjpvblVw
Z3JhZGVOZWVkZWQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKToKKyAgICAg
ICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6CisgICAgICAgIChXZWJD
b3JlKToKKwogMjAxMy0wMi0yNyAgSGFucyBNdWxsZXIgIDxobXVsbGVyQGFkb2JlLmNvbT4KIAog
ICAgICAgICBbQ1NTIEV4Y2x1c2lvbnNdIEVuYWJsZSBzaGFwZS1pbnNpZGUgcmVjdGFuZ2xlIHN1
cHBvcnQgZm9yIHNoYXBlLXBhZGRpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ2FsbGJhY2tzLmgKaW5kZXggMDg4ZTY4ZThiMmM3YTIyNGM3MWUzOGJiYWJmZWJm
YzZmOWMzNmY4Yy4uZGE3ZGUwNzA2NjI3NDc5MTI5MzM3NzUxNDU3NmE0NDdhYTAwMTAyOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgKQEAg
LTY4LDkgKzY4LDkgQEAgcHVibGljOgogICAgIC8vIEZyb20gSURCQ3Vyc29yLmFkdmFuY2UoKS9j
b250aW51ZSgpCiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vzc1dpdGhQcmVmZXRjaChjb25zdCBW
ZWN0b3I8UmVmUHRyPElEQktleT4gPiYga2V5cywgY29uc3QgVmVjdG9yPFJlZlB0cjxJREJLZXk+
ID4mIHByaW1hcnlLZXlzLCBjb25zdCBWZWN0b3I8UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gPiYgdmFs
dWVzKSA9IDA7CiAgICAgLy8gRnJvbSBJREJGYWN0b3J5Lm9wZW4oKS9kZWxldGVEYXRhYmFzZSgp
Ci0gICAgdmlydHVhbCB2b2lkIG9uQmxvY2tlZChpbnQ2NF90IGV4aXN0aW5nVmVyc2lvbikgeyBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBvbkJsb2NrZWQoaW50NjRf
dCAvKiBleGlzdGluZ1ZlcnNpb24gKi8pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAv
LyBGcm9tIElEQkZhY3Rvcnkub3BlbigpCi0gICAgdmlydHVhbCB2b2lkIG9uVXBncmFkZU5lZWRl
ZChpbnQ2NF90IG9sZFZlcnNpb24sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJm
YWNlPiwgY29uc3QgSURCRGF0YWJhc2VNZXRhZGF0YSYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgb25VcGdyYWRlTmVlZGVkKGludDY0X3QgLyogb2xkVmVyc2lv
biAqLywgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+LCBjb25zdCBJREJE
YXRhYmFzZU1ldGFkYXRhJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+LCBj
b25zdCBJREJEYXRhYmFzZU1ldGFkYXRhJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5k
ZXggNDY4ZWRiZWJhOTExMTY5YTA5M2EyZTdkMjM0OTA4OGZjYzI4MzZhNS4uMDNiMWJlZjIyZmY0
NmRlNzdlNDJmNWM1Y2QyNmU2MDc1MDMzYzI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCkBAIC0yOTgsNyArMjk4LDcgQEAgUGFzc1JlZlB0
cjxJREJPYmplY3RTdG9yZT4gSURCQ3Vyc29yOjplZmZlY3RpdmVPYmplY3RTdG9yZSgpCiAgICAg
cmV0dXJuIGluZGV4LT5vYmplY3RTdG9yZSgpOwogfQogCi1JREJDdXJzb3I6OkRpcmVjdGlvbiBJ
REJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uU3RyaW5n
LCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKK0lE
QkN1cnNvcjo6RGlyZWN0aW9uIElEQkN1cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24oY29uc3QgU3Ry
aW5nJiBkaXJlY3Rpb25TdHJpbmcsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBpZiAoZGlyZWN0aW9uU3RyaW5nID09IElEQkN1cnNvcjo6ZGlyZWN0
aW9uTmV4dCgpKQogICAgICAgICByZXR1cm4gSURCQ3Vyc29yOjpORVhUOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuY3BwCmluZGV4IGZh
YTVjYmUyNjFjY2IwNGQ0Yzg5Mzk3ZDZjZmMzYjJmZTI3YThhM2YuLjFhNmU5ZDhmZTgyZjA4ZmU4
YzM5MzBhMTAyZmNmODFlMmFkMTA3OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKQEAgLTMyMSw3ICszMjEsNyBAQCBwcml2
YXRlOgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZlbnQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXZlbnQqIGV2ZW50KQorICAgIHZpcnR1YWwgdm9p
ZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQqIGV2ZW50KQogICAg
IHsKICAgICAgICAgQVNTRVJUKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLnN1Y2Nlc3NF
dmVudCk7CiAgICAgICAgIEV2ZW50VGFyZ2V0KiB0YXJnZXQgPSBldmVudC0+dGFyZ2V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194822</attachid>
            <date>2013-03-25 04:07:25 -0700</date>
            <delta_ts>2013-03-25 21:26:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113043-20130325190246.patch</filename>
            <type>text/plain</type>
            <size>8794</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzU2YjRmNmNlNjE3ZTM5
ODA1OGI3NDEyODk1ZTNiNWM1NWYzNWIzOS4uMDUyOTU1Y2JkYzQ0MTI4NWU2YjU0NGJhZjQ5NmQ1
ZWRhYjE2YzdhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEzLTAzLTI1ICBDaGFy
bGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZW1v
dmUgdGhlIGJ1aWxkIHdhcm5pbmcgZm9yIHVudXNlZCBmdW5jdGlvbiBwYXJhbWV0ZXJzIGluIGlu
ZGV4ZWRkYi4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExMzA0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IE5vIG5ldyB0ZXN0cywganVzdCByZW1vdmUgYnVpbGQgd2FybmluZ3MuCisKKyAgICAgICAgKiBN
b2R1bGVzL2luZGV4ZWRkYi9JREJDYWxsYmFja3MuaDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkNh
bGxiYWNrczo6b25CbG9ja2VkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkNhbGxiYWNrczo6b25V
cGdyYWRlTmVlZGVkKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoUmVzZXQpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6SURCRGF0YWJhc2VCYWNrZW5kSW1wbDo6c2V0SW5kZXhlc1JlYWR5KToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNwcDoKKyAgICAgICAg
KElEQkxldmVsREJDb2RpbmcpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhl
ZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQlRyYW5zYWN0aW9u
OjpzdHJpbmdUb01vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKwogMjAxMy0wMy0yNCAgQWxwaGEgTGFtICA8
aGNsYW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEdJRkltYWdlUmVhZGVyIHNob3VsZCByZXBv
cnRzIHBhcnNpbmcgZXJyb3IgdG8gY2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2luZGV4ZWRkYi9JREJDYWxsYmFja3MuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oCmluZGV4IDA4OGU2OGU4YjJjN2EyMjRjNzFlMzhiYmFi
ZmViZmM2ZjljMzZmOGMuLmRhN2RlMDcwNjYyNzQ3OTEyOTMzNzc1MTQ1NzZhNDQ3YWEwMDEwMjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNr
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5o
CkBAIC02OCw5ICs2OCw5IEBAIHB1YmxpYzoKICAgICAvLyBGcm9tIElEQkN1cnNvci5hZHZhbmNl
KCkvY29udGludWUoKQogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3NXaXRoUHJlZmV0Y2goY29u
c3QgVmVjdG9yPFJlZlB0cjxJREJLZXk+ID4mIGtleXMsIGNvbnN0IFZlY3RvcjxSZWZQdHI8SURC
S2V5PiA+JiBwcmltYXJ5S2V5cywgY29uc3QgVmVjdG9yPFJlZlB0cjxTaGFyZWRCdWZmZXI+ID4m
IHZhbHVlcykgPSAwOwogICAgIC8vIEZyb20gSURCRmFjdG9yeS5vcGVuKCkvZGVsZXRlRGF0YWJh
c2UoKQotICAgIHZpcnR1YWwgdm9pZCBvbkJsb2NrZWQoaW50NjRfdCBleGlzdGluZ1ZlcnNpb24p
IHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgb25CbG9ja2VkKGlu
dDY0X3QgLyogZXhpc3RpbmdWZXJzaW9uICovKSB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAg
ICAgLy8gRnJvbSBJREJGYWN0b3J5Lm9wZW4oKQotICAgIHZpcnR1YWwgdm9pZCBvblVwZ3JhZGVO
ZWVkZWQoaW50NjRfdCBvbGRWZXJzaW9uLCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlQmFja2VuZElu
dGVyZmFjZT4sIGNvbnN0IElEQkRhdGFiYXNlTWV0YWRhdGEmKSB7IEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOyB9CisgICAgdmlydHVhbCB2b2lkIG9uVXBncmFkZU5lZWRlZChpbnQ2NF90IC8qIG9sZFZl
cnNpb24gKi8sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlPiwgY29uc3Qg
SURCRGF0YWJhc2VNZXRhZGF0YSYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICB2aXJ0
dWFsIHZvaWQgb25TdWNjZXNzKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNl
PiwgY29uc3QgSURCRGF0YWJhc2VNZXRhZGF0YSYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0K
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1
cnNvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3Bw
CmluZGV4IDFjZjk3NzEwMWNhNjMyNjNkZmNkZmZjNTc1OGQyNGRjYTc0NGZiNWUuLjBkZjViM2I0
OTRmN2FiZjI4ZWFkOGQ3MzllYTQ3ODdkZmZkNzFlZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcApAQCAtMjk3LDcgKzI5Nyw3IEBAIFBhc3NS
ZWZQdHI8SURCT2JqZWN0U3RvcmU+IElEQkN1cnNvcjo6ZWZmZWN0aXZlT2JqZWN0U3RvcmUoKQog
ICAgIHJldHVybiBpbmRleC0+b2JqZWN0U3RvcmUoKTsKIH0KIAotSW5kZXhlZERCOjpDdXJzb3JE
aXJlY3Rpb24gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihjb25zdCBTdHJpbmcmIGRpcmVj
dGlvblN0cmluZywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29k
ZSYgZWMpCitJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBJREJDdXJzb3I6OnN0cmluZ1RvRGly
ZWN0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uU3RyaW5nLCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKGRpcmVjdGlvblN0cmluZyA9PSBJ
REJDdXJzb3I6OmRpcmVjdGlvbk5leHQoKSkKICAgICAgICAgcmV0dXJuIEluZGV4ZWREQjo6Q3Vy
c29yTmV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkN1cnNvckJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcAppbmRleCAxMzYwZmI5MDIwNWVhMTk4Zjc4YzAzMDdm
OTZjNjI5ZTk4MmZlMzU4Li4zODQ4MWQ5NTFhNGM0ZTVmZGY2YTM0MGY4M2UxODRiMDE2YzY0ZWFk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JC
YWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
Q3Vyc29yQmFja2VuZEltcGwuY3BwCkBAIC0yMjAsNyArMjIwLDcgQEAgdm9pZCBJREJDdXJzb3JC
YWNrZW5kSW1wbDo6Q3Vyc29yUHJlZmV0Y2hJdGVyYXRpb25PcGVyYXRpb246OnBlcmZvcm0oSURC
VHJhbnNhY3QKICAgICBtX2NhbGxiYWNrcy0+b25TdWNjZXNzV2l0aFByZWZldGNoKGZvdW5kS2V5
cywgZm91bmRQcmltYXJ5S2V5cywgZm91bmRWYWx1ZXMpOwogfQogCi12b2lkIElEQkN1cnNvckJh
Y2tlbmRJbXBsOjpwcmVmZXRjaFJlc2V0KGludCB1c2VkUHJlZmV0Y2hlcywgaW50IHVudXNlZFBy
ZWZldGNoZXMpCit2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpwcmVmZXRjaFJlc2V0KGludCB1
c2VkUHJlZmV0Y2hlcywgaW50IC8qIHVudXNlZFByZWZldGNoZXMgKi8pCiB7CiAgICAgSURCX1RS
QUNFKCJJREJDdXJzb3JCYWNrZW5kSW1wbDo6cHJlZmV0Y2hSZXNldCIpOwogICAgIG1fY3Vyc29y
ID0gbV9zYXZlZEN1cnNvcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggZTU3NzAwYTIxMGVl
ODkxMjc0NGM4NjIxNDIwNGI5MmJjNDljMGE4Yy4uMjY3ZTdlM2E4MmEwMmI3ZjRmMmVkZWEwOTli
MTllZGQzYTdmZGQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTkxNSw3ICs5MTUsNyBA
QCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEluZGV4S2V5cyhpbnQ2NF90IHRyYW5z
YWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0UwogICAgIH0KIH0KIAotdm9pZCBJREJEYXRhYmFzZUJh
Y2tlbmRJbXBsOjpzZXRJbmRleGVzUmVhZHkoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2NF90
IG9iamVjdFN0b3JlSWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgaW5kZXhJZHMpCit2b2lkIElE
QkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEluZGV4ZXNSZWFkeShpbnQ2NF90IHRyYW5zYWN0aW9u
SWQsIGludDY0X3QgLyogb2JqZWN0U3RvcmVJZCAqLywgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBp
bmRleElkcykKIHsKICAgICBJREJfVFJBQ0UoIklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6OnNl
dEluZGV4ZXNSZWFkeSIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkxldmVsREJDb2RpbmcuY3BwCmluZGV4IDNmZDI0Y2RiOTA2YTgyOGYzMzk5NjA2
N2Q5M2E0NDBiNzVjYTI2NzUuLmIwZjc2ZDUwMzQxNjZhOGE0NGQ5ZmZlMTdhNzhjYTBiN2QyNGRj
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVs
REJDb2RpbmcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkxl
dmVsREJDb2RpbmcuY3BwCkBAIC03MjYsNyArNzI2LDcgQEAgSURCS2V5UGF0aCBkZWNvZGVJREJL
ZXlQYXRoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0KQogbmFtZXNwYWNlIHsKIAog
dGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZT4KLWludCBjb21wYXJlKGNvbnN0IExldmVsREJTbGlj
ZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiLCBib29sIGlnbm9yZUR1cGxpY2F0ZXMsIGJvb2wm
IG9rKQoraW50IGNvbXBhcmUoY29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xp
Y2UmIGIsIGJvb2wgLyogaWdub3JlRHVwbGljYXRlcyAqLywgYm9vbCYgb2spCiB7CiAgICAgS2V5
VHlwZSBrZXlBOwogICAgIEtleVR5cGUga2V5QjsKQEAgLTc0OSw3ICs3NDksNyBAQCBpbnQgY29t
cGFyZShjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYiwgYm9vbCBp
Z25vcmVEdXBsaWNhdGVzLAogfQogCiB0ZW1wbGF0ZTw+Ci1pbnQgY29tcGFyZTxFeGlzdHNFbnRy
eUtleT4oY29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xpY2UmIGIsIGJvb2wg
aWdub3JlRHVwbGljYXRlcywgYm9vbCYgb2spCitpbnQgY29tcGFyZTxFeGlzdHNFbnRyeUtleT4o
Y29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xpY2UmIGIsIGJvb2wgLyogaWdu
b3JlRHVwbGljYXRlcyAqLywgYm9vbCYgb2spCiB7CiAgICAgS2V5UHJlZml4IHByZWZpeEE7CiAg
ICAgS2V5UHJlZml4IHByZWZpeEI7CkBAIC03NzIsNyArNzcyLDcgQEAgaW50IGNvbXBhcmU8RXhp
c3RzRW50cnlLZXk+KGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBi
LCBib29sIGkKIH0KIAogdGVtcGxhdGU8PgotaW50IGNvbXBhcmU8T2JqZWN0U3RvcmVEYXRhS2V5
Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYiwgYm9vbCBpZ25v
cmVEdXBsaWNhdGVzLCBib29sJiBvaykKK2ludCBjb21wYXJlPE9iamVjdFN0b3JlRGF0YUtleT4o
Y29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xpY2UmIGIsIGJvb2wgLyogaWdu
b3JlRHVwbGljYXRlcyAqLywgYm9vbCYgb2spCiB7CiAgICAgS2V5UHJlZml4IHByZWZpeEE7CiAg
ICAgS2V5UHJlZml4IHByZWZpeEI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKaW5kZXggNTg5MGVjMzdmYzFjMjU3ZGVhZDJmZmU1
ZmVlODYxMzdlMDdiZTUyMy4uZjk4NGQ0M2U5YTQxYjI3MDk3MmE5ZmY3ZGFjZTk2ZGZkZjJlZGVj
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVj
dFN0b3JlLmNwcApAQCAtMzIwLDcgKzMyMCw3IEBAIHByaXZhdGU6CiAgICAgewogICAgIH0KIAot
ICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFdmVudCogZXZlbnQpCisgICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqLCBFdmVudCogZXZlbnQpCiAgICAgewogICAgICAgICBBU1NFUlQoZXZl
bnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuc3VjY2Vzc0V2ZW50KTsKICAgICAgICAgRXZlbnRU
YXJnZXQqIHRhcmdldCA9IGV2ZW50LT50YXJnZXQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCBlYzc5NzJjNDBhZTJk
ZGZhYTNhN2Y3ZjIzZDc5YTE5ZDBkNzRiNmUyLi40NjdhNzE0MWFlYzYyMzM0NzNjNjBmMmQ5NTNh
YzU1ZGM5Njk1NjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zMzYsNyArMzM2LDcgQEAgYm9vbCBJREJUcmFuc2Fj
dGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKICAgICByZXR1cm4gbV9oYXNQZW5kaW5n
QWN0aXZpdHkgJiYgIW1fY29udGV4dFN0b3BwZWQ7CiB9CiAKLUluZGV4ZWREQjo6VHJhbnNhY3Rp
b25Nb2RlIElEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUoY29uc3QgU3RyaW5nJiBtb2RlU3Ry
aW5nLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykK
K0luZGV4ZWREQjo6VHJhbnNhY3Rpb25Nb2RlIElEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUo
Y29uc3QgU3RyaW5nJiBtb2RlU3RyaW5nLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKG1vZGVTdHJpbmcuaXNOdWxsKCkKICAgICAgICAgfHwg
bW9kZVN0cmluZyA9PSBJREJUcmFuc2FjdGlvbjo6bW9kZVJlYWRPbmx5KCkpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAppbmRl
eCBlM2I3M2FhYzc5ZGM0ODdlMjUwNzQwOWZkODgzZjljYWM0MjA1ZjVmLi5lZGQyNGZkYTUwZDg5
ZjNiMWJkNTk2MjA2ZThjZWEzMzI4ZDkwM2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKQEAgLTIwMiw3ICsyMDIsNyBA
QCBwcml2YXRlOgogICAgIFJlZlB0cjxFeGVjdXRhYmxlV2l0aERhdGFiYXNlPiBtX2V4ZWN1dGFi
bGVXaXRoRGF0YWJhc2U7CiB9OwogCi12b2lkIEV4ZWN1dGFibGVXaXRoRGF0YWJhc2U6OnN0YXJ0
KElEQkZhY3RvcnkqIGlkYkZhY3RvcnksIFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUpCit2b2lkIEV4ZWN1dGFibGVXaXRoRGF0YWJhc2U6
OnN0YXJ0KElEQkZhY3RvcnkqIGlkYkZhY3RvcnksIFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgU3Ry
aW5nJiBkYXRhYmFzZU5hbWUpCiB7CiAgICAgUmVmUHRyPE9wZW5EYXRhYmFzZUNhbGxiYWNrPiBj
YWxsYmFjayA9IE9wZW5EYXRhYmFzZUNhbGxiYWNrOjpjcmVhdGUodGhpcyk7CiAgICAgRXhjZXB0
aW9uQ29kZSBlYyA9IDA7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194995</attachid>
            <date>2013-03-25 21:27:11 -0700</date>
            <delta_ts>2013-03-27 01:26:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113043-20130326122244.patch</filename>
            <type>text/plain</type>
            <size>13062</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2ODQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTVlZWIxYzJiYWI4NTk1
NjI0YTQzZTgxYWRjNTM4ODJlYTcyYmNmNi4uMjc2MDFkNTVhZmQ1MmY3OTgzZTA0MjIwMTBlOGVk
NmQzNTE2OGYwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAzLTI1ICBDaGFy
bGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZW1v
dmUgYnVpbGQgd2FybmluZyBmb3IgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaW4gaW5kZXhl
ZGRiIG1vZHVsZS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTExMzA0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBqdXN0IGEgYnVpbGQgZml4IHRvIHJlbW92ZSBidWls
ZCB3YXJuaW5ncy4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5o
OgorICAgICAgICAoV2ViQ29yZTo6SURCQ2FsbGJhY2tzOjpvbkJsb2NrZWQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCQ2FsbGJhY2tzOjpvblVwZ3JhZGVOZWVkZWQpOgorICAgICAgICAqIE1vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJDdXJzb3I6
OnN0cmluZ1RvRGlyZWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJz
b3IuaDoKKyAgICAgICAgKElEQkN1cnNvcik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIv
SURCQ3Vyc29yQmFja2VuZEltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCQ3Vyc29yQmFj
a2VuZEltcGw6OnByZWZldGNoUmVzZXQpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lE
QkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFiYXNlOjp0cmFuc2FjdGlv
bik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRJbmRleGVz
UmVhZHkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkluZGV4OjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklE
QkluZGV4OjpvcGVuS2V5Q3Vyc29yKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJM
ZXZlbERCQ29kaW5nLmNwcDoKKyAgICAgICAgKElEQkxldmVsREJDb2RpbmcpOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6Om9wZW5DdXJzb3IpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OklEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUpOgorICAgICAgICAqIE1vZHVsZXMvaW5k
ZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmg6CisgICAgICAgIChJREJUcmFuc2FjdGlvbik6CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmUpOgorCiAyMDEzLTAzLTI1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZW5hbWUgRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkNhbGxiYWNrcy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgKaW5kZXggMDg4ZTY4ZThi
MmM3YTIyNGM3MWUzOGJiYWJmZWJmYzZmOWMzNmY4Yy4uZGE3ZGUwNzA2NjI3NDc5MTI5MzM3NzUx
NDU3NmE0NDdhYTAwMTAyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQ2FsbGJhY2tzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ2FsbGJhY2tzLmgKQEAgLTY4LDkgKzY4LDkgQEAgcHVibGljOgogICAgIC8vIEZyb20g
SURCQ3Vyc29yLmFkdmFuY2UoKS9jb250aW51ZSgpCiAgICAgdmlydHVhbCB2b2lkIG9uU3VjY2Vz
c1dpdGhQcmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRyPElEQktleT4gPiYga2V5cywgY29uc3Qg
VmVjdG9yPFJlZlB0cjxJREJLZXk+ID4mIHByaW1hcnlLZXlzLCBjb25zdCBWZWN0b3I8UmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gPiYgdmFsdWVzKSA9IDA7CiAgICAgLy8gRnJvbSBJREJGYWN0b3J5Lm9w
ZW4oKS9kZWxldGVEYXRhYmFzZSgpCi0gICAgdmlydHVhbCB2b2lkIG9uQmxvY2tlZChpbnQ2NF90
IGV4aXN0aW5nVmVyc2lvbikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQorICAgIHZpcnR1YWwg
dm9pZCBvbkJsb2NrZWQoaW50NjRfdCAvKiBleGlzdGluZ1ZlcnNpb24gKi8pIHsgQVNTRVJUX05P
VF9SRUFDSEVEKCk7IH0KICAgICAvLyBGcm9tIElEQkZhY3Rvcnkub3BlbigpCi0gICAgdmlydHVh
bCB2b2lkIG9uVXBncmFkZU5lZWRlZChpbnQ2NF90IG9sZFZlcnNpb24sIFBhc3NSZWZQdHI8SURC
RGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlPiwgY29uc3QgSURCRGF0YWJhc2VNZXRhZGF0YSYpIHsg
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQgb25VcGdyYWRlTmVlZGVk
KGludDY0X3QgLyogb2xkVmVyc2lvbiAqLywgUGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJ
bnRlcmZhY2U+LCBjb25zdCBJREJEYXRhYmFzZU1ldGFkYXRhJikgeyBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3MoUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUJhY2tlbmRJbnRlcmZhY2U+LCBjb25zdCBJREJEYXRhYmFzZU1ldGFkYXRhJikgeyBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkN1cnNvci5jcHAKaW5kZXggMWNmOTc3MTAxY2E2MzI2M2RmY2RmZmM1NzU4ZDI0ZGNh
NzQ0ZmI1ZS4uNjk1YTgxNzMwMjk1NWYzYzNhMWNlNzU4NzZhM2ZmNGU5ZTY2Nzg5YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3IuY3BwCkBAIC0yOTcs
NyArMjk3LDcgQEAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9yZT4gSURCQ3Vyc29yOjplZmZlY3Rp
dmVPYmplY3RTdG9yZSgpCiAgICAgcmV0dXJuIGluZGV4LT5vYmplY3RTdG9yZSgpOwogfQogCi1J
bmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGNv
bnN0IFN0cmluZyYgZGlyZWN0aW9uU3RyaW5nLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250
ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKK0luZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIElEQkN1
cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24oY29uc3QgU3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChkaXJlY3Rpb25TdHJpbmcgPT0gSURCQ3Vyc29y
OjpkaXJlY3Rpb25OZXh0KCkpCiAgICAgICAgIHJldHVybiBJbmRleGVkREI6OkN1cnNvck5leHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3Iu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCmluZGV4IGUz
NTg5MTA5NmQ3NWIzZWYyZTM5OTg3OWIxOTM2M2UxMjNjNGExMWEuLjMxZDBiMGYxM2U1NmE3OWRh
N2EyM2EyNDE2MzJmNTFhMDRkOWQzNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkN1cnNvci5oCkBAIC01NSw3ICs1NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
Y29uc3QgQXRvbWljU3RyaW5nJiBkaXJlY3Rpb25QcmV2KCk7CiAgICAgc3RhdGljIGNvbnN0IEF0
b21pY1N0cmluZyYgZGlyZWN0aW9uUHJldlVuaXF1ZSgpOwogCi0gICAgc3RhdGljIEluZGV4ZWRE
Qjo6Q3Vyc29yRGlyZWN0aW9uIHN0cmluZ1RvRGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgbW9kZVN0
cmluZywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBzdGF0
aWMgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gc3RyaW5nVG9EaXJlY3Rpb24oY29uc3QgU3Ry
aW5nJiBtb2RlU3RyaW5nLCBFeGNlcHRpb25Db2RlJik7CiAgICAgc3RhdGljIGNvbnN0IEF0b21p
Y1N0cmluZyYgZGlyZWN0aW9uVG9TdHJpbmcodW5zaWduZWQgc2hvcnQgbW9kZSk7CiAKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxJREJDdXJzb3I+IGNyZWF0ZShQYXNzUmVmUHRyPElEQkN1cnNvckJh
Y2tlbmRJbnRlcmZhY2U+LCBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiwgSURCUmVxdWVzdCos
IElEQkFueSogc291cmNlLCBJREJUcmFuc2FjdGlvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFja2VuZEltcGwuY3BwCmluZGV4
IDEzNjBmYjkwMjA1ZWExOThmNzhjMDMwN2Y5NmM2MjllOTgyZmUzNTguLjM4NDgxZDk1MWE0YzRl
NWZkZjZhMzQwZjgzZTE4NGIwMTZjNjRlYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvckJhY2tlbmRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHAKQEAgLTIyMCw3
ICsyMjAsNyBAQCB2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBsOjpDdXJzb3JQcmVmZXRjaEl0ZXJh
dGlvbk9wZXJhdGlvbjo6cGVyZm9ybShJREJUcmFuc2FjdAogICAgIG1fY2FsbGJhY2tzLT5vblN1
Y2Nlc3NXaXRoUHJlZmV0Y2goZm91bmRLZXlzLCBmb3VuZFByaW1hcnlLZXlzLCBmb3VuZFZhbHVl
cyk7CiB9CiAKLXZvaWQgSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoUmVzZXQoaW50IHVz
ZWRQcmVmZXRjaGVzLCBpbnQgdW51c2VkUHJlZmV0Y2hlcykKK3ZvaWQgSURCQ3Vyc29yQmFja2Vu
ZEltcGw6OnByZWZldGNoUmVzZXQoaW50IHVzZWRQcmVmZXRjaGVzLCBpbnQgLyogdW51c2VkUHJl
ZmV0Y2hlcyAqLykKIHsKICAgICBJREJfVFJBQ0UoIklEQkN1cnNvckJhY2tlbmRJbXBsOjpwcmVm
ZXRjaFJlc2V0Iik7CiAgICAgbV9jdXJzb3IgPSBtX3NhdmVkQ3Vyc29yOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwCmluZGV4IDU4M2ZhNDc1
NzY1YmVlNDZiNzE1Nzk1MTk2ZGVhMzY3NzBhZjhmNDcuLjViMWUyZjcxZmNmNjIwOWU4ZTZiYzM4
NDk4MGEzNjkxNWEzYjYxMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTIzMCw3ICsyMzAsNyBAQCBQYXNzUmVmUHRyPElEQlRy
YW5zYWN0aW9uPiBJREJEYXRhYmFzZTo6dHJhbnNhY3Rpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udAogICAgICAgICByZXR1cm4gMDsKICAgICB9CiAKLSAgICBJbmRleGVkREI6OlRyYW5z
YWN0aW9uTW9kZSBtb2RlID0gSURCVHJhbnNhY3Rpb246OnN0cmluZ1RvTW9kZShtb2RlU3RyaW5n
LCBjb250ZXh0LCBlYyk7CisgICAgSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgbW9kZSA9IElE
QlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUobW9kZVN0cmluZywgZWMpOwogICAgIGlmIChlYykK
ICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKaW5kZXggZTU3NzAwYTIx
MGVlODkxMjc0NGM4NjIxNDIwNGI5MmJjNDljMGE4Yy4uMjY3ZTdlM2E4MmEwMmI3ZjRmMmVkZWEw
OTliMTllZGQzYTdmZGQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2VCYWNrZW5kSW1wbC5jcHAKQEAgLTkxNSw3ICs5MTUs
NyBAQCB2b2lkIElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEluZGV4S2V5cyhpbnQ2NF90IHRy
YW5zYWN0aW9uSWQsIGludDY0X3Qgb2JqZWN0UwogICAgIH0KIH0KIAotdm9pZCBJREJEYXRhYmFz
ZUJhY2tlbmRJbXBsOjpzZXRJbmRleGVzUmVhZHkoaW50NjRfdCB0cmFuc2FjdGlvbklkLCBpbnQ2
NF90IG9iamVjdFN0b3JlSWQsIGNvbnN0IFZlY3RvcjxpbnQ2NF90PiYgaW5kZXhJZHMpCit2b2lk
IElEQkRhdGFiYXNlQmFja2VuZEltcGw6OnNldEluZGV4ZXNSZWFkeShpbnQ2NF90IHRyYW5zYWN0
aW9uSWQsIGludDY0X3QgLyogb2JqZWN0U3RvcmVJZCAqLywgY29uc3QgVmVjdG9yPGludDY0X3Q+
JiBpbmRleElkcykKIHsKICAgICBJREJfVFJBQ0UoIklEQk9iamVjdFN0b3JlQmFja2VuZEltcGw6
OnNldEluZGV4ZXNSZWFkeSIpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJJbmRleC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJJbmRleC5jcHAKaW5kZXggZmY1ZDQzNjdiODNiOTA4NWI4MzlhNzQ2Yjg2Y2I4NjA2M2Fm
YjE4My4uNjM3YjU2YjQ2ZTk4YTc4Yzg2NzA3MDA0MTI4YTgzYThiMWNjYjcxOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCSW5kZXguY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcApAQCAtNjcsNyArNjcs
NyBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQkluZGV4OjpvcGVuQ3Vyc29yKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhcwogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KLSAgICBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24gPSBJREJDdXJzb3I6
OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZywgY29udGV4dCwgZWMpOworICAgIElu
ZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmVjdGlvbiA9IElEQkN1cnNvcjo6c3RyaW5nVG9E
aXJlY3Rpb24oZGlyZWN0aW9uU3RyaW5nLCBlYyk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1
cm4gMDsKIApAQCAtMTIyLDcgKzEyMiw3IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCSW5k
ZXg6Om9wZW5LZXlDdXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKICAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9yOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24g
ZGlyZWN0aW9uID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJpbmcs
IGNvbnRleHQsIGVjKTsKKyAgICBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24g
PSBJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZywgZWMpOwogICAg
IGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJDb2RpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9pbmRleGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHAKaW5kZXggM2ZkMjRjZGI5MDZh
ODI4ZjMzOTk2MDY3ZDkzYTQ0MGI3NWNhMjY3NS4uYjBmNzZkNTAzNDE2NmE4YTQ0ZDlmZmUxN2E3
OGNhMGI3ZDI0ZGMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCTGV2ZWxEQkNvZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCTGV2ZWxEQkNvZGluZy5jcHAKQEAgLTcyNiw3ICs3MjYsNyBAQCBJREJLZXlQYXRo
IGRlY29kZUlEQktleVBhdGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQpCiBuYW1l
c3BhY2UgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBlPgotaW50IGNvbXBhcmUoY29uc3Qg
TGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xpY2UmIGIsIGJvb2wgaWdub3JlRHVwbGlj
YXRlcywgYm9vbCYgb2spCitpbnQgY29tcGFyZShjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0
IExldmVsREJTbGljZSYgYiwgYm9vbCAvKiBpZ25vcmVEdXBsaWNhdGVzICovLCBib29sJiBvaykK
IHsKICAgICBLZXlUeXBlIGtleUE7CiAgICAgS2V5VHlwZSBrZXlCOwpAQCAtNzQ5LDcgKzc0OSw3
IEBAIGludCBjb21wYXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNl
JiBiLCBib29sIGlnbm9yZUR1cGxpY2F0ZXMsCiB9CiAKIHRlbXBsYXRlPD4KLWludCBjb21wYXJl
PEV4aXN0c0VudHJ5S2V5Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGlj
ZSYgYiwgYm9vbCBpZ25vcmVEdXBsaWNhdGVzLCBib29sJiBvaykKK2ludCBjb21wYXJlPEV4aXN0
c0VudHJ5S2V5Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYiwg
Ym9vbCAvKiBpZ25vcmVEdXBsaWNhdGVzICovLCBib29sJiBvaykKIHsKICAgICBLZXlQcmVmaXgg
cHJlZml4QTsKICAgICBLZXlQcmVmaXggcHJlZml4QjsKQEAgLTc3Miw3ICs3NzIsNyBAQCBpbnQg
Y29tcGFyZTxFeGlzdHNFbnRyeUtleT4oY29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZl
bERCU2xpY2UmIGIsIGJvb2wgaQogfQogCiB0ZW1wbGF0ZTw+Ci1pbnQgY29tcGFyZTxPYmplY3RT
dG9yZURhdGFLZXk+KGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBi
LCBib29sIGlnbm9yZUR1cGxpY2F0ZXMsIGJvb2wmIG9rKQoraW50IGNvbXBhcmU8T2JqZWN0U3Rv
cmVEYXRhS2V5Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYiwg
Ym9vbCAvKiBpZ25vcmVEdXBsaWNhdGVzICovLCBib29sJiBvaykKIHsKICAgICBLZXlQcmVmaXgg
cHJlZml4QTsKICAgICBLZXlQcmVmaXggcHJlZml4QjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAppbmRleCA1ODkwZWMzN2ZjMWMy
NTdkZWFkMmZmZTVmZWU4NjEzN2UwN2JlNTIzLi4yM2RkODVmZGFjMjVlNzBhMzljMTdkYmJjOTI1
NGRmYWMyMTNmODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJPYmplY3RTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCT2JqZWN0U3RvcmUuY3BwCkBAIC0zMjAsNyArMzIwLDcgQEAgcHJpdmF0ZToKICAgICB7
CiAgICAgfQogCi0gICAgdmlydHVhbCB2b2lkIGhhbmRsZUV2ZW50KFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIGNvbnRleHQsIEV2ZW50KiBldmVudCkKKyAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlRXZl
bnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV2ZW50KiBldmVudCkKICAgICB7CiAgICAgICAg
IEFTU0VSVChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5zdWNjZXNzRXZlbnQpOwogICAg
ICAgICBFdmVudFRhcmdldCogdGFyZ2V0ID0gZXZlbnQtPnRhcmdldCgpOwpAQCAtNTA0LDcgKzUw
NCw3IEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6Om9wZW5DdXJzb3Io
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VF
eGNlcHRpb246OlRyYW5zYWN0aW9uSW5hY3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQotICAgIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmVjdGlvbiA9IElEQkN1cnNv
cjo6c3RyaW5nVG9EaXJlY3Rpb24oZGlyZWN0aW9uU3RyaW5nLCBjb250ZXh0LCBlYyk7CisgICAg
SW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gZGlyZWN0aW9uID0gSURCQ3Vyc29yOjpzdHJpbmdU
b0RpcmVjdGlvbihkaXJlY3Rpb25TdHJpbmcsIGVjKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJl
dHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJUcmFuc2FjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJU
cmFuc2FjdGlvbi5jcHAKaW5kZXggZWM3OTcyYzQwYWUyZGRmYWEzYTdmN2YyM2Q3OWExOWQwZDc0
YjZlMi4uOWNiNmZjYjljMTYwNGQzNDc5YjFhY2M2ODQ3ZDI3M2Q3MTc0YWNkNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcApA
QCAtMzM2LDcgKzMzNiw3IEBAIGJvb2wgSURCVHJhbnNhY3Rpb246Omhhc1BlbmRpbmdBY3Rpdml0
eSgpIGNvbnN0CiAgICAgcmV0dXJuIG1faGFzUGVuZGluZ0FjdGl2aXR5ICYmICFtX2NvbnRleHRT
dG9wcGVkOwogfQogCi1JbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZSBJREJUcmFuc2FjdGlvbjo6
c3RyaW5nVG9Nb2RlKGNvbnN0IFN0cmluZyYgbW9kZVN0cmluZywgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMpCitJbmRleGVkREI6OlRyYW5zYWN0aW9u
TW9kZSBJREJUcmFuc2FjdGlvbjo6c3RyaW5nVG9Nb2RlKGNvbnN0IFN0cmluZyYgbW9kZVN0cmlu
ZywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKG1vZGVTdHJpbmcuaXNOdWxsKCkKICAg
ICAgICAgfHwgbW9kZVN0cmluZyA9PSBJREJUcmFuc2FjdGlvbjo6bW9kZVJlYWRPbmx5KCkpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaApp
bmRleCBmNGQ2NGNiN2QxM2ZlMzUzMjU2YzZlMTVlNzI5NzllNTI1NTc1OTc5Li42NGJhOWVlNWFm
ZTc0NGE4ZDgwYjVjNWE3ZGI1NzZjYWVhZmYyNTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmgKQEAgLTYyLDcgKzYyLDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIG1vZGVSZWFkT25seUxlZ2FjeSgp
OwogICAgIHN0YXRpYyBjb25zdCBBdG9taWNTdHJpbmcmIG1vZGVSZWFkV3JpdGVMZWdhY3koKTsK
IAotICAgIHN0YXRpYyBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9kZSBzdHJpbmdUb01vZGUoY29u
c3QgU3RyaW5nJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICBzdGF0aWMgSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgc3RyaW5nVG9Nb2RlKGNvbnN0IFN0
cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBt
b2RlVG9TdHJpbmcoSW5kZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUpOwogCiAgICAgSURCRGF0YWJh
c2VCYWNrZW5kSW50ZXJmYWNlKiBiYWNrZW5kREIoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCmluZGV4IGUzYjcz
YWFjNzlkYzQ4N2UyNTA3NDA5ZmQ4ODNmOWNhYzQyMDVmNWYuLmVkZDI0ZmRhNTBkODlmM2IxYmQ1
OTYyMDZlOGNlYTMzMjhkOTAzYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JJbmRleGVkREJBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcApAQCAtMjAyLDcgKzIwMiw3IEBAIHByaXZh
dGU6CiAgICAgUmVmUHRyPEV4ZWN1dGFibGVXaXRoRGF0YWJhc2U+IG1fZXhlY3V0YWJsZVdpdGhE
YXRhYmFzZTsKIH07CiAKLXZvaWQgRXhlY3V0YWJsZVdpdGhEYXRhYmFzZTo6c3RhcnQoSURCRmFj
dG9yeSogaWRiRmFjdG9yeSwgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25zdCBT
dHJpbmcmIGRhdGFiYXNlTmFtZSkKK3ZvaWQgRXhlY3V0YWJsZVdpdGhEYXRhYmFzZTo6c3RhcnQo
SURCRmFjdG9yeSogaWRiRmFjdG9yeSwgU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBTdHJpbmcmIGRh
dGFiYXNlTmFtZSkKIHsKICAgICBSZWZQdHI8T3BlbkRhdGFiYXNlQ2FsbGJhY2s+IGNhbGxiYWNr
ID0gT3BlbkRhdGFiYXNlQ2FsbGJhY2s6OmNyZWF0ZSh0aGlzKTsKICAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195239</attachid>
            <date>2013-03-27 01:26:42 -0700</date>
            <delta_ts>2013-03-27 17:11:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113043-20130327162222.patch</filename>
            <type>text/plain</type>
            <size>12971</size>
            <attacher name="Charles Wei">charles.wei</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzYxZDdhZWNkNTg1N2Rm
MDNjY2VkYzQ0NDFkZjZhZDMzNDZjMWE2YS4uZmI1NDZkODY3NWI0ZDA3MGI3NzQyNzVlOWE3Y2Y0
MDJiZjliM2YxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDEzLTAzLTI3ICBDaGFy
bGVzIFdlaSAgPGNoYXJsZXMud2VpQHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBSZW1v
dmUgYnVpbGQgd2FybmluZyBmb3IgdW51c2VkIGZ1bmN0aW9uIHBhcmFtZXRlcnMgaW4gaW5kZXhl
ZGRiLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEz
MDQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLCBqdXN0IHJlbW92ZSBidWlsZCB3YXJuaW5nLgorCisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmg6CisgICAgICAgIChXZWJDb3JlOjpJREJDYWxsYmFj
a3M6Om9uQmxvY2tlZCk6CisgICAgICAgIChXZWJDb3JlOjpJREJDYWxsYmFja3M6Om9uVXBncmFk
ZU5lZWRlZCk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OklEQkN1cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24pOgorICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oOgorICAgICAgICAoSURCQ3Vyc29yKToKKyAg
ICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JCYWNrZW5kSW1wbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJREJDdXJzb3JCYWNrZW5kSW1wbDo6cHJlZmV0Y2hSZXNldCk6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRk
Yi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkRhdGFi
YXNlQmFja2VuZEltcGw6OnNldEluZGV4ZXNSZWFkeSk6CisgICAgICAgICogTW9kdWxlcy9pbmRl
eGVkZGIvSURCSW5kZXguY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXg6Om9wZW5DdXJz
b3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCSW5kZXg6Om9wZW5LZXlDdXJzb3IpOgorICAgICAg
ICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkxldmVsREJDb2RpbmcuY3BwOgorICAgICAgICAoSURC
TGV2ZWxEQkNvZGluZyk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RT
dG9yZTo6b3BlbkN1cnNvcik6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNh
Y3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCVHJhbnNhY3Rpb246OnN0cmluZ1RvTW9k
ZSk6CisgICAgICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uaDoKKyAgICAg
ICAgKElEQlRyYW5zYWN0aW9uKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhl
ZERCQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisKIDIwMTMtMDMtMjYgIFRpbSBIb3J0
b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2NhXSBUZWxsIENBIHRv
IGNsZWFuIHVwIHVudXNlZCByZXNvdXJjZXMgaWYgYSBnaXZlbiBXZWJQcm9jZXNzIHdvbid0IGJl
IGRyYXdpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkNhbGxiYWNrcy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJh
Y2tzLmgKaW5kZXggMDg4ZTY4ZThiMmM3YTIyNGM3MWUzOGJiYWJmZWJmYzZmOWMzNmY4Yy4uZGE3
ZGUwNzA2NjI3NDc5MTI5MzM3NzUxNDU3NmE0NDdhYTAwMTAyOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ2FsbGJhY2tzLmgKQEAgLTY4LDkgKzY4LDkgQEAg
cHVibGljOgogICAgIC8vIEZyb20gSURCQ3Vyc29yLmFkdmFuY2UoKS9jb250aW51ZSgpCiAgICAg
dmlydHVhbCB2b2lkIG9uU3VjY2Vzc1dpdGhQcmVmZXRjaChjb25zdCBWZWN0b3I8UmVmUHRyPElE
QktleT4gPiYga2V5cywgY29uc3QgVmVjdG9yPFJlZlB0cjxJREJLZXk+ID4mIHByaW1hcnlLZXlz
LCBjb25zdCBWZWN0b3I8UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gPiYgdmFsdWVzKSA9IDA7CiAgICAg
Ly8gRnJvbSBJREJGYWN0b3J5Lm9wZW4oKS9kZWxldGVEYXRhYmFzZSgpCi0gICAgdmlydHVhbCB2
b2lkIG9uQmxvY2tlZChpbnQ2NF90IGV4aXN0aW5nVmVyc2lvbikgeyBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsgfQorICAgIHZpcnR1YWwgdm9pZCBvbkJsb2NrZWQoaW50NjRfdCAvKiBleGlzdGluZ1Zl
cnNpb24gKi8pIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICAgICAvLyBGcm9tIElEQkZhY3Rv
cnkub3BlbigpCi0gICAgdmlydHVhbCB2b2lkIG9uVXBncmFkZU5lZWRlZChpbnQ2NF90IG9sZFZl
cnNpb24sIFBhc3NSZWZQdHI8SURCRGF0YWJhc2VCYWNrZW5kSW50ZXJmYWNlPiwgY29uc3QgSURC
RGF0YWJhc2VNZXRhZGF0YSYpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgb25VcGdyYWRlTmVlZGVkKGludDY0X3QgLyogb2xkVmVyc2lvbiAqLywgUGFzc1JlZlB0
cjxJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+LCBjb25zdCBJREJEYXRhYmFzZU1ldGFkYXRh
JikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogICAgIHZpcnR1YWwgdm9pZCBvblN1Y2Nlc3Mo
UGFzc1JlZlB0cjxJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2U+LCBjb25zdCBJREJEYXRhYmFz
ZU1ldGFkYXRhJikgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5jcHAKaW5kZXggMWNmOTc3MTAxY2E2
MzI2M2RmY2RmZmM1NzU4ZDI0ZGNhNzQ0ZmI1ZS4uNjk1YTgxNzMwMjk1NWYzYzNhMWNlNzU4NzZh
M2ZmNGU5ZTY2Nzg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCQ3Vyc29yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9J
REJDdXJzb3IuY3BwCkBAIC0yOTcsNyArMjk3LDcgQEAgUGFzc1JlZlB0cjxJREJPYmplY3RTdG9y
ZT4gSURCQ3Vyc29yOjplZmZlY3RpdmVPYmplY3RTdG9yZSgpCiAgICAgcmV0dXJuIGluZGV4LT5v
YmplY3RTdG9yZSgpOwogfQogCi1JbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBJREJDdXJzb3I6
OnN0cmluZ1RvRGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uU3RyaW5nLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykKK0luZGV4ZWREQjo6
Q3Vyc29yRGlyZWN0aW9uIElEQkN1cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24oY29uc3QgU3RyaW5n
JiBkaXJlY3Rpb25TdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmIChkaXJlY3Rp
b25TdHJpbmcgPT0gSURCQ3Vyc29yOjpkaXJlY3Rpb25OZXh0KCkpCiAgICAgICAgIHJldHVybiBJ
bmRleGVkREI6OkN1cnNvck5leHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2luZGV4ZWRkYi9JREJDdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkN1cnNvci5oCmluZGV4IGUzNTg5MTA5NmQ3NWIzZWYyZTM5OTg3OWIxOTM2M2UxMjNjNGEx
MWEuLjMxZDBiMGYxM2U1NmE3OWRhN2EyM2EyNDE2MzJmNTFhMDRkOWQzNWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvci5oCkBAIC01NSw3ICs1NSw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgY29uc3QgQXRvbWljU3RyaW5nJiBkaXJlY3Rpb25QcmV2KCk7
CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZGlyZWN0aW9uUHJldlVuaXF1ZSgpOwog
Ci0gICAgc3RhdGljIEluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIHN0cmluZ1RvRGlyZWN0aW9u
KGNvbnN0IFN0cmluZyYgbW9kZVN0cmluZywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIEV4Y2Vw
dGlvbkNvZGUmKTsKKyAgICBzdGF0aWMgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24gc3RyaW5n
VG9EaXJlY3Rpb24oY29uc3QgU3RyaW5nJiBtb2RlU3RyaW5nLCBFeGNlcHRpb25Db2RlJik7CiAg
ICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYgZGlyZWN0aW9uVG9TdHJpbmcodW5zaWduZWQg
c2hvcnQgbW9kZSk7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJDdXJzb3I+IGNyZWF0ZShQ
YXNzUmVmUHRyPElEQkN1cnNvckJhY2tlbmRJbnRlcmZhY2U+LCBJbmRleGVkREI6OkN1cnNvckRp
cmVjdGlvbiwgSURCUmVxdWVzdCosIElEQkFueSogc291cmNlLCBJREJUcmFuc2FjdGlvbiopOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29yQmFj
a2VuZEltcGwuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQ3Vyc29y
QmFja2VuZEltcGwuY3BwCmluZGV4IDEzNjBmYjkwMjA1ZWExOThmNzhjMDMwN2Y5NmM2MjllOTgy
ZmUzNTguLjMxYTNjZjY2M2JhYWE0NzhjNGNiZjQ2Yzk0OTNkODY2ZTU4YTc4ZWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkN1cnNvckJhY2tlbmRJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJDdXJzb3JCYWNr
ZW5kSW1wbC5jcHAKQEAgLTIyMCw3ICsyMjAsNyBAQCB2b2lkIElEQkN1cnNvckJhY2tlbmRJbXBs
OjpDdXJzb3JQcmVmZXRjaEl0ZXJhdGlvbk9wZXJhdGlvbjo6cGVyZm9ybShJREJUcmFuc2FjdAog
ICAgIG1fY2FsbGJhY2tzLT5vblN1Y2Nlc3NXaXRoUHJlZmV0Y2goZm91bmRLZXlzLCBmb3VuZFBy
aW1hcnlLZXlzLCBmb3VuZFZhbHVlcyk7CiB9CiAKLXZvaWQgSURCQ3Vyc29yQmFja2VuZEltcGw6
OnByZWZldGNoUmVzZXQoaW50IHVzZWRQcmVmZXRjaGVzLCBpbnQgdW51c2VkUHJlZmV0Y2hlcykK
K3ZvaWQgSURCQ3Vyc29yQmFja2VuZEltcGw6OnByZWZldGNoUmVzZXQoaW50IHVzZWRQcmVmZXRj
aGVzLCBpbnQpCiB7CiAgICAgSURCX1RSQUNFKCJJREJDdXJzb3JCYWNrZW5kSW1wbDo6cHJlZmV0
Y2hSZXNldCIpOwogICAgIG1fY3Vyc29yID0gbV9zYXZlZEN1cnNvcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAppbmRleCA1ODNmYTQ3NTc2
NWJlZTQ2YjcxNTc5NTE5NmRlYTM2NzcwYWY4ZjQ3Li41YjFlMmY3MWZjZjYyMDllOGU2YmMzODQ5
ODBhMzY5MTVhM2I2MTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJEYXRhYmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCRGF0YWJhc2UuY3BwCkBAIC0yMzAsNyArMjMwLDcgQEAgUGFzc1JlZlB0cjxJREJUcmFu
c2FjdGlvbj4gSURCRGF0YWJhc2U6OnRyYW5zYWN0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnQKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCi0gICAgSW5kZXhlZERCOjpUcmFuc2Fj
dGlvbk1vZGUgbW9kZSA9IElEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUobW9kZVN0cmluZywg
Y29udGV4dCwgZWMpOworICAgIEluZGV4ZWREQjo6VHJhbnNhY3Rpb25Nb2RlIG1vZGUgPSBJREJU
cmFuc2FjdGlvbjo6c3RyaW5nVG9Nb2RlKG1vZGVTdHJpbmcsIGVjKTsKICAgICBpZiAoZWMpCiAg
ICAgICAgIHJldHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJEYXRhYmFzZUJhY2tlbmRJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCmluZGV4IGU1NzcwMGEyMTBl
ZTg5MTI3NDRjODYyMTQyMDRiOTJiYzQ5YzBhOGMuLjgwNWM4ZjY1MTQ2ODYzYTczMGI2NjljMDYw
YmNiNDJkYTZmOWRiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlQmFja2VuZEltcGwuY3BwCkBAIC05MTUsNyArOTE1LDcg
QEAgdm9pZCBJREJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRJbmRleEtleXMoaW50NjRfdCB0cmFu
c2FjdGlvbklkLCBpbnQ2NF90IG9iamVjdFMKICAgICB9CiB9CiAKLXZvaWQgSURCRGF0YWJhc2VC
YWNrZW5kSW1wbDo6c2V0SW5kZXhlc1JlYWR5KGludDY0X3QgdHJhbnNhY3Rpb25JZCwgaW50NjRf
dCBvYmplY3RTdG9yZUlkLCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIGluZGV4SWRzKQordm9pZCBJ
REJEYXRhYmFzZUJhY2tlbmRJbXBsOjpzZXRJbmRleGVzUmVhZHkoaW50NjRfdCB0cmFuc2FjdGlv
bklkLCBpbnQ2NF90LCBjb25zdCBWZWN0b3I8aW50NjRfdD4mIGluZGV4SWRzKQogewogICAgIElE
Ql9UUkFDRSgiSURCT2JqZWN0U3RvcmVCYWNrZW5kSW1wbDo6c2V0SW5kZXhlc1JlYWR5Iik7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAppbmRleCBm
ZjVkNDM2N2I4M2I5MDg1YjgzOWE3NDZiODZjYjg2MDYzYWZiMTgzLi42MzdiNTZiNDZlOThhNzhj
ODY3MDcwMDQxMjhhODNhOGIxY2NiNzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJJbmRleC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCSW5kZXguY3BwCkBAIC02Nyw3ICs2Nyw3IEBAIFBhc3NSZWZQdHI8SURCUmVx
dWVzdD4gSURCSW5kZXg6Om9wZW5DdXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgUGFzCiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlRyYW5zYWN0aW9uSW5h
Y3RpdmVFcnJvcjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQotICAgIEluZGV4ZWREQjo6Q3Vy
c29yRGlyZWN0aW9uIGRpcmVjdGlvbiA9IElEQkN1cnNvcjo6c3RyaW5nVG9EaXJlY3Rpb24oZGly
ZWN0aW9uU3RyaW5nLCBjb250ZXh0LCBlYyk7CisgICAgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rp
b24gZGlyZWN0aW9uID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJp
bmcsIGVjKTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwogCkBAIC0xMjIsNyArMTIy
LDcgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6b3BlbktleUN1cnNvcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LAogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhj
ZXB0aW9uOjpUcmFuc2FjdGlvbkluYWN0aXZlRXJyb3I7CiAgICAgICAgIHJldHVybiAwOwogICAg
IH0KLSAgICBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rpb24gPSBJREJDdXJzb3I6
OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZywgY29udGV4dCwgZWMpOworICAgIElu
ZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uIGRpcmVjdGlvbiA9IElEQkN1cnNvcjo6c3RyaW5nVG9E
aXJlY3Rpb24oZGlyZWN0aW9uU3RyaW5nLCBlYyk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1
cm4gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
TGV2ZWxEQkNvZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJM
ZXZlbERCQ29kaW5nLmNwcAppbmRleCAzZmQyNGNkYjkwNmE4MjhmMzM5OTYwNjdkOTNhNDQwYjc1
Y2EyNjc1Li5lYzc5MDQ2ODdjOGQ3N2U2NTEzZWNkNzFhMjhhNWIzY2NlMjcwYTZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5nLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJMZXZlbERCQ29kaW5n
LmNwcApAQCAtNzI2LDcgKzcyNiw3IEBAIElEQktleVBhdGggZGVjb2RlSURCS2V5UGF0aChjb25z
dCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCkKIG5hbWVzcGFjZSB7CiAKIHRlbXBsYXRlPHR5
cGVuYW1lIEtleVR5cGU+Ci1pbnQgY29tcGFyZShjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0
IExldmVsREJTbGljZSYgYiwgYm9vbCBpZ25vcmVEdXBsaWNhdGVzLCBib29sJiBvaykKK2ludCBj
b21wYXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiLCBib29s
LCBib29sJiBvaykKIHsKICAgICBLZXlUeXBlIGtleUE7CiAgICAgS2V5VHlwZSBrZXlCOwpAQCAt
NzQ5LDcgKzc0OSw3IEBAIGludCBjb21wYXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3Qg
TGV2ZWxEQlNsaWNlJiBiLCBib29sIGlnbm9yZUR1cGxpY2F0ZXMsCiB9CiAKIHRlbXBsYXRlPD4K
LWludCBjb21wYXJlPEV4aXN0c0VudHJ5S2V5Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0
IExldmVsREJTbGljZSYgYiwgYm9vbCBpZ25vcmVEdXBsaWNhdGVzLCBib29sJiBvaykKK2ludCBj
b21wYXJlPEV4aXN0c0VudHJ5S2V5Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVs
REJTbGljZSYgYiwgYm9vbCwgYm9vbCYgb2spCiB7CiAgICAgS2V5UHJlZml4IHByZWZpeEE7CiAg
ICAgS2V5UHJlZml4IHByZWZpeEI7CkBAIC03NzIsNyArNzcyLDcgQEAgaW50IGNvbXBhcmU8RXhp
c3RzRW50cnlLZXk+KGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBi
LCBib29sIGkKIH0KIAogdGVtcGxhdGU8PgotaW50IGNvbXBhcmU8T2JqZWN0U3RvcmVEYXRhS2V5
Pihjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYiwgYm9vbCBpZ25v
cmVEdXBsaWNhdGVzLCBib29sJiBvaykKK2ludCBjb21wYXJlPE9iamVjdFN0b3JlRGF0YUtleT4o
Y29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZlbERCU2xpY2UmIGIsIGJvb2wsIGJvb2wm
IG9rKQogewogICAgIEtleVByZWZpeCBwcmVmaXhBOwogICAgIEtleVByZWZpeCBwcmVmaXhCOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUu
Y3BwCmluZGV4IDU4OTBlYzM3ZmMxYzI1N2RlYWQyZmZlNWZlZTg2MTM3ZTA3YmU1MjMuLjIzZGQ4
NWZkYWMyNWU3MGEzOWMxN2RiYmM5MjU0ZGZhYzIxM2Y4N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHAKQEAgLTMyMCw3ICsz
MjAsNyBAQCBwcml2YXRlOgogICAgIHsKICAgICB9CiAKLSAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
RXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXZlbnQqIGV2ZW50KQorICAg
IHZpcnR1YWwgdm9pZCBoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgRXZlbnQq
IGV2ZW50KQogICAgIHsKICAgICAgICAgQVNTRVJUKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1l
cygpLnN1Y2Nlc3NFdmVudCk7CiAgICAgICAgIEV2ZW50VGFyZ2V0KiB0YXJnZXQgPSBldmVudC0+
dGFyZ2V0KCk7CkBAIC01MDQsNyArNTA0LDcgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJP
YmplY3RTdG9yZTo6b3BlbkN1cnNvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXgKICAg
ICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6VHJhbnNhY3Rpb25JbmFjdGl2ZUVycm9y
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9Ci0gICAgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rp
b24gZGlyZWN0aW9uID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJp
bmcsIGNvbnRleHQsIGVjKTsKKyAgICBJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiBkaXJlY3Rp
b24gPSBJREJDdXJzb3I6OnN0cmluZ1RvRGlyZWN0aW9uKGRpcmVjdGlvblN0cmluZywgZWMpOwog
ICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcAppbmRleCBlYzc5NzJjNDBhZTJk
ZGZhYTNhN2Y3ZjIzZDc5YTE5ZDBkNzRiNmUyLi45Y2I2ZmNiOWMxNjA0ZDM0NzliMWFjYzY4NDdk
MjczZDcxNzRhY2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVk
ZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0zMzYsNyArMzM2LDcgQEAgYm9vbCBJREJUcmFuc2Fj
dGlvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QKICAgICByZXR1cm4gbV9oYXNQZW5kaW5n
QWN0aXZpdHkgJiYgIW1fY29udGV4dFN0b3BwZWQ7CiB9CiAKLUluZGV4ZWREQjo6VHJhbnNhY3Rp
b25Nb2RlIElEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUoY29uc3QgU3RyaW5nJiBtb2RlU3Ry
aW5nLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBFeGNlcHRpb25Db2RlJiBlYykK
K0luZGV4ZWREQjo6VHJhbnNhY3Rpb25Nb2RlIElEQlRyYW5zYWN0aW9uOjpzdHJpbmdUb01vZGUo
Y29uc3QgU3RyaW5nJiBtb2RlU3RyaW5nLCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAo
bW9kZVN0cmluZy5pc051bGwoKQogICAgICAgICB8fCBtb2RlU3RyaW5nID09IElEQlRyYW5zYWN0
aW9uOjptb2RlUmVhZE9ubHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
aW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4
ZWRkYi9JREJUcmFuc2FjdGlvbi5oCmluZGV4IGY0ZDY0Y2I3ZDEzZmUzNTMyNTZjNmUxNWU3Mjk3
OWU1MjU1NzU5NzkuLjY0YmE5ZWU1YWZlNzQ0YThkODBiNWM1YTdkYjU3NmNhZWFmZjI1MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24u
aApAQCAtNjIsNyArNjIsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbW9kZVJlYWRPbmx5TGVnYWN5KCk7CiAgICAgc3RhdGljIGNvbnN0IEF0b21pY1N0cmluZyYg
bW9kZVJlYWRXcml0ZUxlZ2FjeSgpOwogCi0gICAgc3RhdGljIEluZGV4ZWREQjo6VHJhbnNhY3Rp
b25Nb2RlIHN0cmluZ1RvTW9kZShjb25zdCBTdHJpbmcmLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiwgRXhjZXB0aW9uQ29kZSYpOworICAgIHN0YXRpYyBJbmRleGVkREI6OlRyYW5zYWN0aW9uTW9k
ZSBzdHJpbmdUb01vZGUoY29uc3QgU3RyaW5nJiwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHN0YXRp
YyBjb25zdCBBdG9taWNTdHJpbmcmIG1vZGVUb1N0cmluZyhJbmRleGVkREI6OlRyYW5zYWN0aW9u
TW9kZSk7CiAKICAgICBJREJEYXRhYmFzZUJhY2tlbmRJbnRlcmZhY2UqIGJhY2tlbmREQigpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4
ZWREQkFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbmRleGVk
REJBZ2VudC5jcHAKaW5kZXggZTNiNzNhYWM3OWRjNDg3ZTI1MDc0MDlmZDg4M2Y5Y2FjNDIwNWY1
Zi4uZWRkMjRmZGE1MGQ4OWYzYjFiZDU5NjIwNmU4Y2VhMzMyOGQ5MDNjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckluZGV4ZWREQkFnZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5kZXhlZERCQWdlbnQuY3BwCkBA
IC0yMDIsNyArMjAyLDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8RXhlY3V0YWJsZVdpdGhEYXRh
YmFzZT4gbV9leGVjdXRhYmxlV2l0aERhdGFiYXNlOwogfTsKIAotdm9pZCBFeGVjdXRhYmxlV2l0
aERhdGFiYXNlOjpzdGFydChJREJGYWN0b3J5KiBpZGJGYWN0b3J5LCBTZWN1cml0eU9yaWdpbiog
c2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQordm9pZCBFeGVjdXRh
YmxlV2l0aERhdGFiYXNlOjpzdGFydChJREJGYWN0b3J5KiBpZGJGYWN0b3J5LCBTZWN1cml0eU9y
aWdpbiosIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewogICAgIFJlZlB0cjxPcGVuRGF0
YWJhc2VDYWxsYmFjaz4gY2FsbGJhY2sgPSBPcGVuRGF0YWJhc2VDYWxsYmFjazo6Y3JlYXRlKHRo
aXMpOwogICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>