<?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>77926</bug_id>
          
          <creation_ts>2012-02-06 19:22:12 -0800</creation_ts>
          <short_desc>[Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones</short_desc>
          <delta_ts>2012-02-07 05:41:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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>
          
          <blocked>73144</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Chris.Guan">logingx</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>leo.yang</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>550543</commentid>
    <comment_count>0</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 19:22:12 -0800</bug_when>
    <thetext>1. remove unused functions and member variable.
2. move some public functions to private.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550563</commentid>
    <comment_count>1</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-06 20:00:03 -0800</bug_when>
    <thetext>Fixing up the title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550581</commentid>
    <comment_count>2</comment_count>
      <attachid>125759</attachid>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 20:32:55 -0800</bug_when>
    <thetext>Created attachment 125759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550582</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-06 20:35:18 -0800</bug_when>
    <thetext>Attachment 125759 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/ChangeLog:4:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550605</commentid>
    <comment_count>4</comment_count>
      <attachid>125762</attachid>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 21:35:21 -0800</bug_when>
    <thetext>Created attachment 125762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550607</commentid>
    <comment_count>5</comment_count>
      <attachid>125762</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-02-06 21:37:50 -0800</bug_when>
    <thetext>Comment on attachment 125762
Patch

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

please, lets find a better name than clientIsOk, since we are around :)

&gt; Source/WebCore/ChangeLog:9
&gt; +        2. Remove an ASSERT in NetworkManger, becuase never hit it.

because* it is never hit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550608</commentid>
    <comment_count>6</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-06 21:38:37 -0800</bug_when>
    <thetext>Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550620</commentid>
    <comment_count>7</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 21:55:00 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.

No, it dose not make any help, because the code log makes sure this assert is never hit, because the delete timer is firing after handleNotifyClose() in which
definitely m_isRunning was set to false. I added this comments in my change log in the patch:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550621</commentid>
    <comment_count>8</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 21:56:30 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 125762 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=125762&amp;action=review
&gt; 
&gt; please, lets find a better name than clientIsOk, since we are around :)
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        2. Remove an ASSERT in NetworkManger, becuase never hit it.
&gt; 
&gt; because* it is never hit

thanks, let me change it:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550625</commentid>
    <comment_count>9</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 22:08:58 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #5)
&gt; &gt; (From update of attachment 125762 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=125762&amp;action=review
&gt; &gt; 
&gt; &gt; please, lets find a better name than clientIsOk, since we are around :)
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; &gt; +        2. Remove an ASSERT in NetworkManger, becuase never hit it.
&gt; &gt; 
&gt; &gt; because* it is never hit
&gt; 
&gt; thanks, let me change it:)

what about &quot;isClientAvailable()&quot; for &quot;clientIsOk&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550626</commentid>
    <comment_count>10</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-06 22:10:42 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.
&gt; 
&gt; No, it dose not make any help, because the code log makes sure this assert is never hit, because the delete timer is firing after handleNotifyClose() in which
&gt; definitely m_isRunning was set to false. I added this comments in my change log in the patch:)


ASSERT is designed for never being hit. We ASSERT(!job-&gt;isRunning()) to make sure we don&apos;t delete a job on which handleNotifyClose() never be called. If you remove this ASSERT, we can&apos;t catch the code offending this assumption any more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550629</commentid>
    <comment_count>11</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 22:18:15 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #7)
&gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.
&gt; &gt; 
&gt; &gt; No, it dose not make any help, because the code log makes sure this assert is never hit, because the delete timer is firing after handleNotifyClose() in which
&gt; &gt; definitely m_isRunning was set to false. I added this comments in my change log in the patch:)
&gt; 
&gt; 
&gt; ASSERT is designed for never being hit. We ASSERT(!job-&gt;isRunning()) to make sure we don&apos;t delete a job on which handleNotifyClose() never be called. If you remove this ASSERT, we can&apos;t catch the code offending this assumption any more.

yes, you are right, but deleteJob() is a private function of NetworkManger, and only the friend class of networkjob can use it, actually it is deleteTimer. refactor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550633</commentid>
    <comment_count>12</comment_count>
    <who name="Leo Yang">leo.yang</who>
    <bug_when>2012-02-06 22:27:41 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; &gt; Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.
&gt; &gt; &gt; 
&gt; &gt; &gt; No, it dose not make any help, because the code log makes sure this assert is never hit, because the delete timer is firing after handleNotifyClose() in which
&gt; &gt; &gt; definitely m_isRunning was set to false. I added this comments in my change log in the patch:)
&gt; &gt; 
&gt; &gt; 
&gt; &gt; ASSERT is designed for never being hit. We ASSERT(!job-&gt;isRunning()) to make sure we don&apos;t delete a job on which handleNotifyClose() never be called. If you remove this ASSERT, we can&apos;t catch the code offending this assumption any more.
&gt; 
&gt; yes, you are right, but deleteJob() is a private function of NetworkManger, and only the friend class of networkjob can use it, actually it is deleteTimer. refactor?
Why refactor? As long as you keep NetworkJob::isRunning() as public and keep NetowrkManager::deleteJob() AS IS, I don&apos;t think a refactor is required. My suggestion is, just as I said in the previous comment, guarding NetworkJob::isRuning() and NetworkJob::m_isRunning by #ifndef NDEBUG.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550642</commentid>
    <comment_count>13</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-06 23:09:26 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #11)
&gt; &gt; (In reply to comment #10)
&gt; &gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; &gt; (In reply to comment #6)
&gt; &gt; &gt; &gt; &gt; Why remove m_isRunning and the ASSERT? What about guard it with #ifndef NDEBUG macro so that m_isRunning and NetworkJob::isRunning() are there only for Debug mode.
&gt; &gt; &gt; &gt; 
&gt; &gt; &gt; &gt; No, it dose not make any help, because the code log makes sure this assert is never hit, because the delete timer is firing after handleNotifyClose() in which
&gt; &gt; &gt; &gt; definitely m_isRunning was set to false. I added this comments in my change log in the patch:)
&gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; ASSERT is designed for never being hit. We ASSERT(!job-&gt;isRunning()) to make sure we don&apos;t delete a job on which handleNotifyClose() never be called. If you remove this ASSERT, we can&apos;t catch the code offending this assumption any more.
&gt; &gt; 
&gt; &gt; yes, you are right, but deleteJob() is a private function of NetworkManger, and only the friend class of networkjob can use it, actually it is deleteTimer. refactor?
&gt; Why refactor? As long as you keep NetworkJob::isRunning() as public and keep NetowrkManager::deleteJob() AS IS, I don&apos;t think a refactor is required. My suggestion is, just as I said in the previous comment, guarding NetworkJob::isRuning() and NetworkJob::m_isRunning by #ifndef NDEBUG.
yes, I understand it, let me fix your comments in next patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550672</commentid>
    <comment_count>14</comment_count>
      <attachid>125777</attachid>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-02-07 00:17:55 -0800</bug_when>
    <thetext>Created attachment 125777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550868</commentid>
    <comment_count>15</comment_count>
      <attachid>125777</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-02-07 04:57:53 -0800</bug_when>
    <thetext>Comment on attachment 125777
Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550901</commentid>
    <comment_count>16</comment_count>
      <attachid>125777</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 05:41:45 -0800</bug_when>
    <thetext>Comment on attachment 125777
Patch

Clearing flags on attachment: 125777

Committed r106931: &lt;http://trac.webkit.org/changeset/106931&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>550902</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 05:41:50 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125759</attachid>
            <date>2012-02-06 20:32:55 -0800</date>
            <delta_ts>2012-02-06 20:34:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77926-20120207123250.patch</filename>
            <type>text/plain</type>
            <size>4510</size>
            <attacher name="Chris.Guan">logingx</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2ODk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZhZmE3OGQwMTIwOGMx
YzE1YzM4OThhN2QxYTViYmQ0NjdiNmJhNS4uYjIzYmIyYmQxMjg3MjQwOWUyMjVkNWM3Y2QzYjhk
MmMyYjBjMDM0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTA2ICBDaHJp
cyBHdWFuICA8Y2hyaXMuZ3VhbkB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNr
YmVycnldIENsZWFuIHVwIE5ldHdvcmtqb2IgYW5kIE5ldHdvcmttYW5nZXI6IHJlbW92ZSB1bnVz
ZWQKKwkJdmFyaWFibGVzIGFuZCBjaGFuZ2Ugc29tZSBwdWJsaWMgZnVuY3Rpb25zIGludG8gYmUg
cHJpdmF0ZSBvbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NzkyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAg
ICAKKyAgICAgICAgMS4gQ2hhbmdlIHR3byBwdWJsaWMgZnVuY3Rpb25zIGludG8gYmUgcHJpdmF0
ZSBvbmVzCisgICAgICAgIDIuIFJlbW92ZSBhbiBBU1NFUlQgaW4gTmV0d29ya01hbmdlciwgYmVj
dWFzZSBuZXZlciBoaXQgaXQuCisgICAgICAgICAgIFRoZSBkZWxldGVUaW1lciBpcyBmaXJpbmcg
YWZ0ZXIgaGFuZGxlTm90aWZ5Q2xvc2UoKSBpbiB3aGljaAorICAgICAgICAgICBkZWZpbml0ZWx5
IG1faXNSdW5uaW5nIHdhcyBzZXQgdG8gZmFsc2UuCisgICAgICAgICAgIAorICAgICAgICBObyBj
aGFuZ2VzIGluIGJlaGF2aW9yLCBzbyBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrSm9iOjpOZXR3b3JrSm9iKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Omhh
bmRsZU5vdGlmeUNsb3NlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkv
TmV0d29ya0pvYi5oOgorICAgICAgICAoTmV0d29ya0pvYik6CisgICAgICAgIChXZWJDb3JlOjpO
ZXR3b3JrSm9iOjpjbGllbnRJc09rKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5v
dGlmeURhdGFSZWNlaXZlZCk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5
L05ldHdvcmtNYW5hZ2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtNYW5hZ2VyOjpk
ZWxldGVKb2IpOgorCiAyMDEyLTAyLTA2ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdh
bGlhLmNvbT4KIAogICAgICAgICBGaXggc29tZSBtaXNjZWxsYW5lb3VzICdtYWtlIGRpc3QnIGVy
cm9yIGZvciBXZWJLaXRHVEsrLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCmluZGV4IDY0NWQyN2VhNTNhNTI4
YTZmNGFmZTk4ODM0ZmYwMWNmODQxYWUzNDQuLmU5YmU4YjZiMGM4NGZiODY0NDEwYTdjNDljZDgw
OGMzMDU0YzZmMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKQEAgLTk3LDcgKzk3LDYgQEAgTmV0d29y
a0pvYjo6TmV0d29ya0pvYigpCiAgICAgLCBtX2lzQWJvdXQoZmFsc2UpCiAgICAgLCBtX2lzRlRQ
KGZhbHNlKQogICAgICwgbV9pc0ZUUERpcih0cnVlKQotICAgICwgbV9pc1J1bm5pbmcodHJ1ZSkg
Ly8gQWx3YXlzIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpb24uCiAgICAgLCBtX2Nh
bmNlbGxlZChmYWxzZSkKICAgICAsIG1fc3RhdHVzUmVjZWl2ZWQoZmFsc2UpCiAgICAgLCBtX2Rh
dGFSZWNlaXZlZChmYWxzZSkKQEAgLTQyMiw4ICs0MjEsNiBAQCB2b2lkIE5ldHdvcmtKb2I6Om5v
dGlmeUNsb3NlKGludCBzdGF0dXMpCiAKIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5Q2xv
c2UoaW50IHN0YXR1cykKIHsKLSAgICBtX2lzUnVubmluZyA9IGZhbHNlOwotCiAgICAgaWYgKCFt
X2NhbmNlbGxlZCkgewogICAgICAgICBpZiAoIW1fc3RhdHVzUmVjZWl2ZWQpIHsKICAgICAgICAg
ICAgIC8vIENvbm5lY3Rpb24gZmFpbGVkIGJlZm9yZSBzZW5kaW5nIG5vdGlmeVN0YXR1c1JlY2Vp
dmVkOiB1c2UgZ2VuZXJpYyBOZXR3b3JrRXJyb3IuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaAppbmRleCAwMTA3MDI0
ODU3MTEwNDAwOTk0Y2EzNzU4N2I4NWY5MzI0ZDMxOWNlLi5kNjY3Yjg1Nzc3NGYwZmE4YjU1YWEx
ZWRkM2E3ZjAwMjgyZGNhZTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9u
ZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKQEAgLTU2LDkgKzU2LDcgQEAgcHVi
bGljOgogICAgICAgICAgICAgICAgICAgICBpbnQgZGVmZXJMb2FkaW5nQ291bnQsCiAgICAgICAg
ICAgICAgICAgICAgIGludCByZWRpcmVjdENvdW50KTsKICAgICBQYXNzUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBoYW5kbGUoKSBjb25zdCB7IHJldHVybiBtX2hhbmRsZTsgfQotICAgIGJvb2wgaXNS
dW5uaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1J1bm5pbmc7IH0KICAgICBib29sIGlzQ2FuY2Vs
bGVkKCkgY29uc3QgeyByZXR1cm4gbV9jYW5jZWxsZWQ7IH0KLSAgICBib29sIGNsaWVudElzT2so
KSBjb25zdCB7IHJldHVybiAhbV9jYW5jZWxsZWQgJiYgbV9oYW5kbGUgJiYgbV9oYW5kbGUtPmNs
aWVudCgpOyB9CiAgICAgdm9pZCBsb2FkRGF0YVVSTCgpIHsgbV9sb2FkRGF0YVRpbWVyLnN0YXJ0
T25lU2hvdCgwKTsgfQogICAgIHZvaWQgbG9hZEFib3V0VVJMKCk7CiAgICAgaW50IGNhbmNlbEpv
YigpOwpAQCAtODEsMTIgKzc5LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZU5vdGlmeURh
dGFTZW50KHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0
b3RhbEJ5dGVzVG9CZVNlbnQpOwogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDbG9zZShpbnQgc3Rh
dHVzKTsKICAgICB2b2lkIGhhbmRsZU5vdGlmeUNsb3NlKGludCBzdGF0dXMpOworCitwcml2YXRl
OgorICAgIGJvb2wgY2xpZW50SXNPaygpIGNvbnN0IHsgcmV0dXJuICFtX2NhbmNlbGxlZCAmJiBt
X2hhbmRsZSAmJiBtX2hhbmRsZS0+Y2xpZW50KCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5
RGF0YVJlY2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrQnVmZmVyKiBidWZmZXIp
CiAgICAgewogICAgICAgICBub3RpZnlEYXRhUmVjZWl2ZWRQbGFpbihCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6bmV0d29ya0J1ZmZlckRhdGEoYnVmZmVyKSwgQmxhY2tCZXJyeTo6UGxhdGZvcm06Om5l
dHdvcmtCdWZmZXJEYXRhTGVuZ3RoKGJ1ZmZlcikpOwogICAgIH0KLQotcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgc2V0V2FzRGlza0NhY2hlZChib29sIHZhbHVlKQogICAgIHsKICAgICAgICBt
X3Jlc3BvbnNlLnNldFdhc0NhY2hlZCh2YWx1ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtNYW5hZ2VyLmNwcApp
bmRleCAzODhkNmQ4ZmQ1MDdjOWI5MjNiMTU5MjIwYjM4YjM2Zjk2NjY5MzRhLi41OTQ3OTZkOTQ2
YzMyNzg3ZGQ2MTY0ZGY5ZDc3NTIxMjdiNWNhMTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5j
cHAKQEAgLTE4Myw3ICsxODMsNiBAQCBOZXR3b3JrSm9iKiBOZXR3b3JrTWFuYWdlcjo6ZmluZEpv
YkZvckhhbmRsZShQYXNzUmVmUHRyPFJlc291cmNlSGFuZGxlPiBqb2IpCiAKIHZvaWQgTmV0d29y
a01hbmFnZXI6OmRlbGV0ZUpvYihOZXR3b3JrSm9iKiBqb2IpCiB7Ci0gICAgQVNTRVJUKCFqb2It
PmlzUnVubmluZygpKTsKICAgICBzaXplX3QgcG9zaXRpb24gPSBtX2pvYnMuZmluZChqb2IpOwog
ICAgIGlmIChwb3NpdGlvbiAhPSBub3RGb3VuZCkKICAgICAgICAgbV9qb2JzLnJlbW92ZShwb3Np
dGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125762</attachid>
            <date>2012-02-06 21:35:21 -0800</date>
            <delta_ts>2012-02-07 00:17:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77926-20120207133517.patch</filename>
            <type>text/plain</type>
            <size>4464</size>
            <attacher name="Chris.Guan">logingx</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTZiZGM3NzU5Njk3NDlk
ZDI0MmMxMzExZWFlOGMzZWYxYjRiZjA4Ny4uNmE5MmYzN2MwNWRlMWU5MDJmYTM0YmRjMGY4NTM3
Yjc4NDY2N2M0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTAyLTA2ICBDaHJp
cyBHdWFuICA8Y2hyaXMuZ3VhbkB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNr
YmVycnldIENsZWFuIHVwIE5ldHdvcmtqb2IgYW5kIE5ldHdvcmttYW5nZXI6IHJlbW92ZSB1bnVz
ZWQgdmFyaWFibGVzIGFuZCBjaGFuZ2Ugc29tZSBwdWJsaWMgZnVuY3Rpb25zIGludG8gYmUgcHJp
dmF0ZSBvbmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD03NzkyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IDEuIENoYW5nZSB0d28gcHVibGljIGZ1bmN0aW9ucyBpbnRvIGJlIHByaXZhdGUgb25lcworICAg
ICAgICAyLiBSZW1vdmUgYW4gQVNTRVJUIGluIE5ldHdvcmtNYW5nZXIsIGJlY3Vhc2UgbmV2ZXIg
aGl0IGl0LgorICAgICAgICAgICBUaGUgZGVsZXRlVGltZXIgaXMgZmlyaW5nIGFmdGVyIGhhbmRs
ZU5vdGlmeUNsb3NlKCkgaW4gd2hpY2gKKyAgICAgICAgICAgZGVmaW5pdGVseSBtX2lzUnVubmlu
ZyB3YXMgc2V0IHRvIGZhbHNlLgorCisgICAgICAgIE5vIGNoYW5nZXMgaW4gYmVoYXZpb3IsIHNv
IG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9O
ZXR3b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Ok5ldHdvcmtKb2Ip
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5Q2xvc2UpOgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmg6CisgICAgICAg
IChOZXR3b3JrSm9iKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmNsaWVudElzT2sp
OgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6bm90aWZ5RGF0YVJlY2VpdmVkKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya01hbmFnZXI6OmRlbGV0ZUpvYik6CisKIDIwMTItMDIt
MDYgIEhheWF0byBJdG8gIDxoYXlhdG9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEltcGxlbWVu
dCBxdWVyeVNlbGVjdG9yIG9uIFNoYWRvd1Jvb3QuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKaW5kZXggNjQ1
ZDI3ZWE1M2E1MjhhNmY0YWZlOTg4MzRmZjAxY2Y4NDFhZTM0NC4uZTliZThiNmIwYzg0ZmI4NjQ0
MTBhN2M0OWNkODA4YzMwNTRjNmYzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcApAQCAtOTcsNyArOTcs
NiBAQCBOZXR3b3JrSm9iOjpOZXR3b3JrSm9iKCkKICAgICAsIG1faXNBYm91dChmYWxzZSkKICAg
ICAsIG1faXNGVFAoZmFsc2UpCiAgICAgLCBtX2lzRlRQRGlyKHRydWUpCi0gICAgLCBtX2lzUnVu
bmluZyh0cnVlKSAvLyBBbHdheXMgc3RhcnRlZCBpbW1lZGlhdGVseSBhZnRlciBjcmVhdGlvbi4K
ICAgICAsIG1fY2FuY2VsbGVkKGZhbHNlKQogICAgICwgbV9zdGF0dXNSZWNlaXZlZChmYWxzZSkK
ICAgICAsIG1fZGF0YVJlY2VpdmVkKGZhbHNlKQpAQCAtNDIyLDggKzQyMSw2IEBAIHZvaWQgTmV0
d29ya0pvYjo6bm90aWZ5Q2xvc2UoaW50IHN0YXR1cykKIAogdm9pZCBOZXR3b3JrSm9iOjpoYW5k
bGVOb3RpZnlDbG9zZShpbnQgc3RhdHVzKQogewotICAgIG1faXNSdW5uaW5nID0gZmFsc2U7Ci0K
ICAgICBpZiAoIW1fY2FuY2VsbGVkKSB7CiAgICAgICAgIGlmICghbV9zdGF0dXNSZWNlaXZlZCkg
ewogICAgICAgICAgICAgLy8gQ29ubmVjdGlvbiBmYWlsZWQgYmVmb3JlIHNlbmRpbmcgbm90aWZ5
U3RhdHVzUmVjZWl2ZWQ6IHVzZSBnZW5lcmljIE5ldHdvcmtFcnJvci4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oCmlu
ZGV4IDAxMDcwMjQ4NTcxMTA0MDA5OTRjYTM3NTg3Yjg1ZjkzMjRkMzE5Y2UuLmQ2NjdiODU3Nzc0
ZjBmYThiNTVhYTFlZGQzYTdmMDAyODJkY2FlMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaApAQCAtNTYsOSAr
NTYsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgIGludCBkZWZlckxvYWRpbmdDb3Vu
dCwKICAgICAgICAgICAgICAgICAgICAgaW50IHJlZGlyZWN0Q291bnQpOwogICAgIFBhc3NSZWZQ
dHI8UmVzb3VyY2VIYW5kbGU+IGhhbmRsZSgpIGNvbnN0IHsgcmV0dXJuIG1faGFuZGxlOyB9Ci0g
ICAgYm9vbCBpc1J1bm5pbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUnVubmluZzsgfQogICAgIGJv
b2wgaXNDYW5jZWxsZWQoKSBjb25zdCB7IHJldHVybiBtX2NhbmNlbGxlZDsgfQotICAgIGJvb2wg
Y2xpZW50SXNPaygpIGNvbnN0IHsgcmV0dXJuICFtX2NhbmNlbGxlZCAmJiBtX2hhbmRsZSAmJiBt
X2hhbmRsZS0+Y2xpZW50KCk7IH0KICAgICB2b2lkIGxvYWREYXRhVVJMKCkgeyBtX2xvYWREYXRh
VGltZXIuc3RhcnRPbmVTaG90KDApOyB9CiAgICAgdm9pZCBsb2FkQWJvdXRVUkwoKTsKICAgICBp
bnQgY2FuY2VsSm9iKCk7CkBAIC04MSwxMiArNzksMTMgQEAgcHVibGljOgogICAgIHZvaWQgaGFu
ZGxlTm90aWZ5RGF0YVNlbnQodW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzU2VudCwgdW5zaWduZWQg
bG9uZyBsb25nIHRvdGFsQnl0ZXNUb0JlU2VudCk7CiAgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNs
b3NlKGludCBzdGF0dXMpOwogICAgIHZvaWQgaGFuZGxlTm90aWZ5Q2xvc2UoaW50IHN0YXR1cyk7
CisKK3ByaXZhdGU6CisgICAgYm9vbCBjbGllbnRJc09rKCkgY29uc3QgeyByZXR1cm4gIW1fY2Fu
Y2VsbGVkICYmIG1faGFuZGxlICYmIG1faGFuZGxlLT5jbGllbnQoKTsgfQogICAgIHZpcnR1YWwg
dm9pZCBub3RpZnlEYXRhUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtCdWZm
ZXIqIGJ1ZmZlcikKICAgICB7CiAgICAgICAgIG5vdGlmeURhdGFSZWNlaXZlZFBsYWluKEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpuZXR3b3JrQnVmZmVyRGF0YShidWZmZXIpLCBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6bmV0d29ya0J1ZmZlckRhdGFMZW5ndGgoYnVmZmVyKSk7CiAgICAgfQotCi1wcml2
YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZXRXYXNEaXNrQ2FjaGVkKGJvb2wgdmFsdWUpCiAgICAg
ewogICAgICAgIG1fcmVzcG9uc2Uuc2V0V2FzQ2FjaGVkKHZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01h
bmFnZXIuY3BwCmluZGV4IDM4OGQ2ZDhmZDUwN2M5YjkyM2IxNTkyMjBiMzhiMzZmOTY2NjkzNGEu
LjU5NDc5NmQ5NDZjMzI3ODdkZDYxNjRkZjlkNzc1MjEyN2I1Y2ExN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdv
cmtNYW5hZ2VyLmNwcApAQCAtMTgzLDcgKzE4Myw2IEBAIE5ldHdvcmtKb2IqIE5ldHdvcmtNYW5h
Z2VyOjpmaW5kSm9iRm9ySGFuZGxlKFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGpvYikKIAog
dm9pZCBOZXR3b3JrTWFuYWdlcjo6ZGVsZXRlSm9iKE5ldHdvcmtKb2IqIGpvYikKIHsKLSAgICBB
U1NFUlQoIWpvYi0+aXNSdW5uaW5nKCkpOwogICAgIHNpemVfdCBwb3NpdGlvbiA9IG1fam9icy5m
aW5kKGpvYik7CiAgICAgaWYgKHBvc2l0aW9uICE9IG5vdEZvdW5kKQogICAgICAgICBtX2pvYnMu
cmVtb3ZlKHBvc2l0aW9uKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125777</attachid>
            <date>2012-02-07 00:17:55 -0800</date>
            <delta_ts>2012-02-07 05:41:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77926-20120207161751.patch</filename>
            <type>text/plain</type>
            <size>6501</size>
            <attacher name="Chris.Guan">logingx</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2OTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmFlMmEyNTA4N2FjZWE3
MDk2MDcwYWVlNmU2MTE4N2FmZjlhZWIyMS4uNDlmNzYwN2E3ZDIwN2QxOTFiNWYwMzkyOWQ3MmNh
MzhkYjg0NDhkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTA3ICBDaHJp
cyBHdWFuICA8Y2hyaXMuZ3VhbkB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNr
YmVycnldIENsZWFuIHVwIE5ldHdvcmtqb2IgYW5kIE5ldHdvcmttYW5nZXI6IHJlbW92ZSB1bnVz
ZWQgdmFyaWFibGVzIGluIHJlbGVhc2UgYnVpbGQgYW5kIGNoYW5nZSBzb21lIHB1YmxpYyBmdW5j
dGlvbnMgaW50byBiZSBwcml2YXRlIG9uZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTc3OTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgMS4gcmVuYW1lIGNsaWVudElzT2sgdG8gaXNDbGllbnRBdmFpbGFi
bGUuCisgICAgICAgIDIuIG1faXNSdW5uaW5nIGlzIG9ubHkgZm9yIGFuIEFTU0VSVCBpbiBOZXRX
b3JrTWFuYWdlciwgU28gbW92ZSBvdXQgZnJvbQorICAgICAgICByZWxlYXNlIGJ1aWxkIGJ1dCBr
ZWVwIGF2YWlsYWJsZSBpbiBkZWJ1ZyBidWlsZC4KKyAgICAgICAgCisgICAgICAgIE5vIGNoYW5n
ZXMgaW4gYmVoYXZpb3IsIHNvIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL25l
dHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdv
cmtKb2I6Ok5ldHdvcmtKb2IpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFuZGxl
Tm90aWZ5RGF0YVJlY2VpdmVkKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRs
ZU5vdGlmeURhdGFTZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OmhhbmRsZU5v
dGlmeUNsb3NlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnN0YXJ0TmV3Sm9iV2l0
aFJlcXVlc3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlc3BvbnNlSWZO
ZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZE11bHRpcGFydFJlc3Bv
bnNlSWZOZWVkZWQpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmg6CisgICAgICAgIChOZXR3b3JrSm9iKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdv
cmtKb2I6OmlzQ2xpZW50QXZhaWxhYmxlKToKKwogMjAxMi0wMi0wNiAgU2hpbnlhIEthd2FuYWth
ICA8c2hpbnlha0Bnb29nbGUuY29tPgogCiAgICAgICAgIFN0b3AgY2FsbGluZyBFbGVtZW50Ojpl
bnN1cmVTaGFkb3dSb290KCkgaWYgaXQgaXMgdXNlZCBpbiBjb25zdHJ1Y3Rpb24gcGhhc2UuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0
d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkv
TmV0d29ya0pvYi5jcHAKaW5kZXggNjQ1ZDI3ZWE1M2E1MjhhNmY0YWZlOTg4MzRmZjAxY2Y4NDFh
ZTM0NC4uMTYxNmE1YjYwMjk2NWI3NTM0MGM2Nzc5ZTNkM2IwZGIzYTIzNjhiMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcApAQCAtOTcsNyArOTcsOSBAQCBOZXR3b3JrSm9iOjpOZXR3b3JrSm9iKCkKICAg
ICAsIG1faXNBYm91dChmYWxzZSkKICAgICAsIG1faXNGVFAoZmFsc2UpCiAgICAgLCBtX2lzRlRQ
RGlyKHRydWUpCisjaWZuZGVmIE5ERUJVRwogICAgICwgbV9pc1J1bm5pbmcodHJ1ZSkgLy8gQWx3
YXlzIHN0YXJ0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgY3JlYXRpb24uCisjZW5kaWYKICAgICAsIG1f
Y2FuY2VsbGVkKGZhbHNlKQogICAgICwgbV9zdGF0dXNSZWNlaXZlZChmYWxzZSkKICAgICAsIG1f
ZGF0YVJlY2VpdmVkKGZhbHNlKQpAQCAtMzc5LDcgKzM4MSw3IEBAIHZvaWQgTmV0d29ya0pvYjo6
aGFuZGxlTm90aWZ5RGF0YVJlY2VpdmVkKGNvbnN0IGNoYXIqIGJ1Ziwgc2l6ZV90IGxlbikKICAg
ICBpZiAoc2hvdWxkU2VuZENsaWVudERhdGEoKSkgewogICAgICAgICBzZW5kUmVzcG9uc2VJZk5l
ZWRlZCgpOwogICAgICAgICBzZW5kTXVsdGlwYXJ0UmVzcG9uc2VJZk5lZWRlZCgpOwotICAgICAg
ICBpZiAoY2xpZW50SXNPaygpKSB7CisgICAgICAgIGlmIChpc0NsaWVudEF2YWlsYWJsZSgpKSB7
CiAgICAgICAgICAgICBSZWN1cnNpb25HdWFyZCBndWFyZChtX2NhbGxpbmdDbGllbnQpOwogICAg
ICAgICAgICAgbV9oYW5kbGUtPmNsaWVudCgpLT5kaWRSZWNlaXZlRGF0YShtX2hhbmRsZS5nZXQo
KSwgYnVmLCBsZW4sIGxlbik7CiAgICAgICAgIH0KQEAgLTQwNCw3ICs0MDYsNyBAQCB2b2lkIE5l
dHdvcmtKb2I6OmhhbmRsZU5vdGlmeURhdGFTZW50KHVuc2lnbmVkIGxvbmcgbG9uZyBieXRlc1Nl
bnQsIHVuc2lnbmVkIGxvbgogICAgIC8vIFByb3RlY3QgYWdhaW5zdCByZWVudHJhbmN5LgogICAg
IHVwZGF0ZURlZmVyTG9hZGluZ0NvdW50KDEpOwogCi0gICAgaWYgKGNsaWVudElzT2soKSkgewor
ICAgIGlmIChpc0NsaWVudEF2YWlsYWJsZSgpKSB7CiAgICAgICAgIFJlY3Vyc2lvbkd1YXJkIGd1
YXJkKG1fY2FsbGluZ0NsaWVudCk7CiAgICAgICAgIG1faGFuZGxlLT5jbGllbnQoKS0+ZGlkU2Vu
ZERhdGEobV9oYW5kbGUuZ2V0KCksIGJ5dGVzU2VudCwgdG90YWxCeXRlc1RvQmVTZW50KTsKICAg
ICB9CkBAIC00MjIsOCArNDI0LDkgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlDbG9zZShpbnQg
c3RhdHVzKQogCiB2b2lkIE5ldHdvcmtKb2I6OmhhbmRsZU5vdGlmeUNsb3NlKGludCBzdGF0dXMp
CiB7CisjaWZuZGVmIE5ERUJVRwogICAgIG1faXNSdW5uaW5nID0gZmFsc2U7Ci0KKyNlbmRpZgog
ICAgIGlmICghbV9jYW5jZWxsZWQpIHsKICAgICAgICAgaWYgKCFtX3N0YXR1c1JlY2VpdmVkKSB7
CiAgICAgICAgICAgICAvLyBDb25uZWN0aW9uIGZhaWxlZCBiZWZvcmUgc2VuZGluZyBub3RpZnlT
dGF0dXNSZWNlaXZlZDogdXNlIGdlbmVyaWMgTmV0d29ya0Vycm9yLgpAQCAtNDQzLDcgKzQ0Niw3
IEBAIHZvaWQgTmV0d29ya0pvYjo6aGFuZGxlTm90aWZ5Q2xvc2UoaW50IHN0YXR1cykKICAgICAg
ICAgICAgICAgICBtX2V4dGVuZGVkU3RhdHVzQ29kZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpG
aWx0ZXJTdHJlYW06OlN0YXR1c1Rvb01hbnlSZWRpcmVjdHM7CiAKICAgICAgICAgICAgIHNlbmRS
ZXNwb25zZUlmTmVlZGVkKCk7Ci0gICAgICAgICAgICBpZiAoY2xpZW50SXNPaygpKSB7CisgICAg
ICAgICAgICBpZiAoaXNDbGllbnRBdmFpbGFibGUoKSkgewogCiAgICAgICAgICAgICAgICAgUmVj
dXJzaW9uR3VhcmQgZ3VhcmQobV9jYWxsaW5nQ2xpZW50KTsKICAgICAgICAgICAgICAgICBpZiAo
aXNFcnJvcihtX2V4dGVuZGVkU3RhdHVzQ29kZSkgJiYgIW1fZGF0YVJlY2VpdmVkKSB7CkBAIC00
OTgsNyArNTAxLDcgQEAgYm9vbCBOZXR3b3JrSm9iOjpyZXRyeUFzRlRQRGlyZWN0b3J5KCkKIAog
Ym9vbCBOZXR3b3JrSm9iOjpzdGFydE5ld0pvYldpdGhSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYg
bmV3UmVxdWVzdCwgYm9vbCBpbmNyZWFzUmVkaXJlY3RDb3VudCkKIHsKLSAgICBpZiAoY2xpZW50
SXNPaygpKSB7CisgICAgaWYgKGlzQ2xpZW50QXZhaWxhYmxlKCkpIHsKICAgICAgICAgUmVjdXJz
aW9uR3VhcmQgZ3VhcmQobV9jYWxsaW5nQ2xpZW50KTsKICAgICAgICAgbV9oYW5kbGUtPmNsaWVu
dCgpLT53aWxsU2VuZFJlcXVlc3QobV9oYW5kbGUuZ2V0KCksIG5ld1JlcXVlc3QsIG1fcmVzcG9u
c2UpOwogCkBAIC02MTYsNyArNjE5LDcgQEAgdm9pZCBOZXR3b3JrSm9iOjpzZW5kUmVzcG9uc2VJ
Zk5lZWRlZCgpCiAgICAgaWYgKG1faXNGaWxlIHx8IG1faXNEYXRhIHx8IG1faXNBYm91dCkKICAg
ICAgICAgbV9yZXNwb25zZS5zZXRIVFRQSGVhZGVyRmllbGQoIkNhY2hlLUNvbnRyb2wiLCAibm8t
Y2FjaGUiKTsKIAotICAgIGlmIChjbGllbnRJc09rKCkpIHsKKyAgICBpZiAoaXNDbGllbnRBdmFp
bGFibGUoKSkgewogICAgICAgICBSZWN1cnNpb25HdWFyZCBndWFyZChtX2NhbGxpbmdDbGllbnQp
OwogICAgICAgICBtX2hhbmRsZS0+Y2xpZW50KCktPmRpZFJlY2VpdmVSZXNwb25zZShtX2hhbmRs
ZS5nZXQoKSwgbV9yZXNwb25zZSk7CiAgICAgfQpAQCAtNjI0LDcgKzYyNyw3IEBAIHZvaWQgTmV0
d29ya0pvYjo6c2VuZFJlc3BvbnNlSWZOZWVkZWQoKQogCiB2b2lkIE5ldHdvcmtKb2I6OnNlbmRN
dWx0aXBhcnRSZXNwb25zZUlmTmVlZGVkKCkKIHsKLSAgICBpZiAobV9tdWx0aXBhcnRSZXNwb25z
ZSAmJiBjbGllbnRJc09rKCkpIHsKKyAgICBpZiAobV9tdWx0aXBhcnRSZXNwb25zZSAmJiBpc0Ns
aWVudEF2YWlsYWJsZSgpKSB7CiAgICAgICAgIG1faGFuZGxlLT5jbGllbnQoKS0+ZGlkUmVjZWl2
ZVJlc3BvbnNlKG1faGFuZGxlLmdldCgpLCAqbV9tdWx0aXBhcnRSZXNwb25zZSk7CiAgICAgICAg
IG1fbXVsdGlwYXJ0UmVzcG9uc2UgPSBudWxscHRyOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oCmluZGV4
IDAxMDcwMjQ4NTcxMTA0MDA5OTRjYTM3NTg3Yjg1ZjkzMjRkMzE5Y2UuLjQ0N2E2NDQyZTg3NmE0
NmQxN2FmYTY0YTVhMjVhZTMyNzQ4NGIwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaApAQCAtNTYsOSArNTYs
MTAgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAgICBpbnQgZGVmZXJMb2FkaW5nQ291bnQs
CiAgICAgICAgICAgICAgICAgICAgIGludCByZWRpcmVjdENvdW50KTsKICAgICBQYXNzUmVmUHRy
PFJlc291cmNlSGFuZGxlPiBoYW5kbGUoKSBjb25zdCB7IHJldHVybiBtX2hhbmRsZTsgfQorI2lm
bmRlZiBOREVCVUcKICAgICBib29sIGlzUnVubmluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSdW5u
aW5nOyB9CisjZW5kaWYKICAgICBib29sIGlzQ2FuY2VsbGVkKCkgY29uc3QgeyByZXR1cm4gbV9j
YW5jZWxsZWQ7IH0KLSAgICBib29sIGNsaWVudElzT2soKSBjb25zdCB7IHJldHVybiAhbV9jYW5j
ZWxsZWQgJiYgbV9oYW5kbGUgJiYgbV9oYW5kbGUtPmNsaWVudCgpOyB9CiAgICAgdm9pZCBsb2Fk
RGF0YVVSTCgpIHsgbV9sb2FkRGF0YVRpbWVyLnN0YXJ0T25lU2hvdCgwKTsgfQogICAgIHZvaWQg
bG9hZEFib3V0VVJMKCk7CiAgICAgaW50IGNhbmNlbEpvYigpOwpAQCAtODEsMTIgKzgyLDE1IEBA
IHB1YmxpYzoKICAgICB2b2lkIGhhbmRsZU5vdGlmeURhdGFTZW50KHVuc2lnbmVkIGxvbmcgbG9u
ZyBieXRlc1NlbnQsIHVuc2lnbmVkIGxvbmcgbG9uZyB0b3RhbEJ5dGVzVG9CZVNlbnQpOwogICAg
IHZpcnR1YWwgdm9pZCBub3RpZnlDbG9zZShpbnQgc3RhdHVzKTsKICAgICB2b2lkIGhhbmRsZU5v
dGlmeUNsb3NlKGludCBzdGF0dXMpOworCitwcml2YXRlOgorICAgIGJvb2wgaXNDbGllbnRBdmFp
bGFibGUoKSBjb25zdCB7IHJldHVybiAhbV9jYW5jZWxsZWQgJiYgbV9oYW5kbGUgJiYgbV9oYW5k
bGUtPmNsaWVudCgpOyB9CisKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5RGF0YVJlY2VpdmVkKEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrQnVmZmVyKiBidWZmZXIpCiAgICAgewogICAgICAg
ICBub3RpZnlEYXRhUmVjZWl2ZWRQbGFpbihCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bmV0d29ya0J1
ZmZlckRhdGEoYnVmZmVyKSwgQmxhY2tCZXJyeTo6UGxhdGZvcm06Om5ldHdvcmtCdWZmZXJEYXRh
TGVuZ3RoKGJ1ZmZlcikpOwogICAgIH0KIAotcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2V0
V2FzRGlza0NhY2hlZChib29sIHZhbHVlKQogICAgIHsKICAgICAgICBtX3Jlc3BvbnNlLnNldFdh
c0NhY2hlZCh2YWx1ZSk7CkBAIC0xNjEsNyArMTY1LDkgQEAgcHJpdmF0ZToKICAgICBib29sIG1f
aXNBYm91dDsKICAgICBib29sIG1faXNGVFA7CiAgICAgYm9vbCBtX2lzRlRQRGlyOworI2lmbmRl
ZiBOREVCVUcKICAgICBib29sIG1faXNSdW5uaW5nOworI2VuZGlmCiAgICAgYm9vbCBtX2NhbmNl
bGxlZDsKICAgICBib29sIG1fc3RhdHVzUmVjZWl2ZWQ7CiAgICAgYm9vbCBtX2RhdGFSZWNlaXZl
ZDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>