<?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>45666</bug_id>
          
          <creation_ts>2010-09-13 06:38:23 -0700</creation_ts>
          <short_desc>[Qt]  Click&apos;s count is limited to three continuous click</short_desc>
          <delta_ts>2011-12-09 15:53:58 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73366</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ragner Magalhaes">ragner.magalhaes</reporter>
          <assigned_to name="Ragner Magalhaes">ragner.magalhaes</assigned_to>
          <cc>cmarcelo</cc>
    
    <cc>diegohcg</cc>
    
    <cc>hugo.lima</cc>
    
    <cc>igor.oliveira</cc>
    
    <cc>kenneth</cc>
    
    <cc>robert</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>278176</commentid>
    <comment_count>0</comment_count>
    <who name="Ragner Magalhaes">ragner.magalhaes</who>
    <bug_when>2010-09-13 06:38:23 -0700</bug_when>
    <thetext>How the click&apos;s count is limited to three continuous click
the test LayoutTests/fast/events/click-count.html is failing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278398</commentid>
    <comment_count>1</comment_count>
      <attachid>67453</attachid>
    <who name="Ragner Magalhaes">ragner.magalhaes</who>
    <bug_when>2010-09-13 12:26:35 -0700</bug_when>
    <thetext>Created attachment 67453
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>278403</commentid>
    <comment_count>2</comment_count>
      <attachid>67453</attachid>
    <who name="Ragner Magalhaes">ragner.magalhaes</who>
    <bug_when>2010-09-13 12:33:22 -0700</bug_when>
    <thetext>Comment on attachment 67453
Proposed patch

Adds a click&apos;s count on WebKit/qt/qwebpage.[h,cpp] to enable support for more than three continuous click.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>282287</commentid>
    <comment_count>3</comment_count>
      <attachid>67453</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2010-09-21 07:18:41 -0700</bug_when>
    <thetext>Comment on attachment 67453
Proposed patch

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

Good patch! I like the way you took the click couting control out of EventSender class.

A few nits, questions and requests:

1) How many consecutive clicks we support now? (triple clicking used to be the limite, right?)
2) You&apos;re removing a bunch of methods from WebPagePrivate class, Please, explain in our changelog why and how it is working now.

It would be great if we could make sure that, after your change, when the routine DlbClick was suposed to be called, it clickCould would be &apos;2&apos;. Same for the triple clicking routine.

Any way to assert of this case as a sanity check?

&gt; WebKit/qt/Api/qwebpage.cpp:628
&gt; +    Frame *focusedFrame;

Make it Frame *focusedFrame = 0;

&gt; WebKit/qt/Api/qwebpage.cpp:672
&gt; +    Frame *focusedFrame;

Make it Frame *focusedFrame = 0;

&gt; WebKit/qt/ChangeLog:7
&gt; +

Add here why you are removing the double and triple click handler routines, and how it is working not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412804</commentid>
    <comment_count>4</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2011-05-31 12:51:56 -0700</bug_when>
    <thetext>*** Bug 61795 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>424560</commentid>
    <comment_count>5</comment_count>
    <who name="Robert Hogan">robert</who>
    <bug_when>2011-06-21 10:54:24 -0700</bug_when>
    <thetext>Ragner, are you going to clean up the patch for landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>432759</commentid>
    <comment_count>6</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-07-06 07:16:20 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Ragner, are you going to clean up the patch for landing?

AFAIK Ragner is not working on the project anymore. (I&apos;m guessing you want to clean it up then, right? :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513002</commentid>
    <comment_count>7</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-01 12:45:39 -0800</bug_when>
    <thetext>I have a patch to fix this bug on wk2, but it depends on bug#45666, I&apos;ll upload it when the patch for bug#45666 lands on mainline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513006</commentid>
    <comment_count>8</comment_count>
    <who name="Caio Marcelo de Oliveira Filho">cmarcelo</who>
    <bug_when>2011-12-01 12:49:40 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; I have a patch to fix this bug on wk2, but it depends on bug#45666, I&apos;ll upload it when the patch for bug#45666 lands on mainline.

Hugo, maybe you made a typo here. *This* is bug 45666. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513016</commentid>
    <comment_count>9</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-01 12:59:15 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; I have a patch to fix this bug on wk2, but it depends on bug#45666, I&apos;ll upload it when the patch for bug#45666 lands on mainline.
&gt; 
&gt; Hugo, maybe you made a typo here. *This* is bug 45666. :-)

Then I have a self circular dependency!

The right bug is bug#73366 =]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515902</commentid>
    <comment_count>10</comment_count>
      <attachid>118049</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-06 07:32:25 -0800</bug_when>
    <thetext>Created attachment 118049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515905</commentid>
    <comment_count>11</comment_count>
      <attachid>118049</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2011-12-06 07:36:04 -0800</bug_when>
    <thetext>Comment on attachment 118049
Patch

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

&gt; Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:162
&gt; +    if (m_clickTimer.isActive()
&gt; +            &amp;&amp; m_previousClickButton == ev-&gt;button()
&gt; +            &amp;&amp; (ev-&gt;pos() - m_lastClick).manhattanLength() &lt; qApp-&gt;styleHints()-&gt;startDragDistance()) {

wrong indentation according to the style guide... (hint, it is indented too much)

&gt; Tools/ChangeLog:8
&gt; +        Update m_time at every call to leapForward, so dbl clicks

write out &quot;double&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515914</commentid>
    <comment_count>12</comment_count>
      <attachid>118049</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-06 07:52:50 -0800</bug_when>
    <thetext>Comment on attachment 118049
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp:162
&gt;&gt; +            &amp;&amp; (ev-&gt;pos() - m_lastClick).manhattanLength() &lt; qApp-&gt;styleHints()-&gt;startDragDistance()) {
&gt; 
&gt; wrong indentation according to the style guide... (hint, it is indented too much)

hmmm... check-webkit-style isn&apos;t perfect :-(

&gt;&gt; Tools/ChangeLog:8
&gt;&gt; +        Update m_time at every call to leapForward, so dbl clicks
&gt; 
&gt; write out &quot;double&quot;

Ok, fixing and re-uploading...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515916</commentid>
    <comment_count>13</comment_count>
      <attachid>118052</attachid>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-06 07:55:54 -0800</bug_when>
    <thetext>Created attachment 118052
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518212</commentid>
    <comment_count>14</comment_count>
    <who name="Hugo Parente Lima">hugo.lima</who>
    <bug_when>2011-12-09 04:54:19 -0800</bug_when>
    <thetext>I&apos;m not a commiter, can someone commit this for me? :-)

Sorry for not upload the patch asking for the commit queue flag, I did learn it just minutes before sending the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518213</commentid>
    <comment_count>15</comment_count>
      <attachid>118052</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-09 04:56:08 -0800</bug_when>
    <thetext>Comment on attachment 118052
Patch

Rejecting attachment 118052 from commit-queue.

hugo.lima@openbossa.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518226</commentid>
    <comment_count>16</comment_count>
      <attachid>118052</attachid>
    <who name="Igor Trindade Oliveira">igor.oliveira</who>
    <bug_when>2011-12-09 05:55:17 -0800</bug_when>
    <thetext>Comment on attachment 118052
Patch

Adding to commit queue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518608</commentid>
    <comment_count>17</comment_count>
      <attachid>118052</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-09 15:53:50 -0800</bug_when>
    <thetext>Comment on attachment 118052
Patch

Clearing flags on attachment: 118052

Committed r102488: &lt;http://trac.webkit.org/changeset/102488&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518609</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-09 15:53:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>67453</attachid>
            <date>2010-09-13 12:26:35 -0700</date>
            <delta_ts>2010-09-21 07:18:41 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-Qt-Click-s-count-is-limited-to-three-continuous-clic.patch</filename>
            <type>text/plain</type>
            <size>19343</size>
            <attacher name="Ragner Magalhaes">ragner.magalhaes</attacher>
            
              <data encoding="base64">RnJvbSBhM2NjZjVkYWYyNmQ3OGVhYWZmNDIxNTEzOTk5Y2Q4ZjcxM2RhZTYzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBSYWduZXIgTWFnYWxoYWVzIDxyYWduZXIubWFnYWxoYWVzQGdt
YWlsLmNvbT4KRGF0ZTogTW9uLCAxMyBTZXAgMjAxMCAxNDoxMTozNiAtMDQwMApTdWJqZWN0OiBb
UEFUQ0hdIFtRdF0gIENsaWNrJ3MgY291bnQgaXMgbGltaXRlZCB0byB0aHJlZSBjb250aW51b3Vz
IGNsaWNrCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2NjYKClBh
dGNoIGJ5IFJhZ25lciBNYWdhbGhhZXMgPHJhZ25lci5tYWdhbGhhZXNAb3BlbmJvc3NhLm9yZz4g
b24gMjAxMC0wOS0xMwpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCldlYktpdC9xdDoKCiog
QXBpL3F3ZWJwYWdlLmNwcDoKKFFXZWJQYWdlUHJpdmF0ZTo6UVdlYlBhZ2VQcml2YXRlKToKKFFX
ZWJQYWdlUHJpdmF0ZTo6dGltZXJFdmVudCk6CihRV2ViUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NF
dmVudCk6CihRV2ViUGFnZTo6ZXZlbnQpOgoqIEFwaS9xd2VicGFnZV9wLmg6CgpXZWJLaXRUb29s
czoKCiogRHVtcFJlbmRlclRyZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CihXZWJDb3JlOjpE
dW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgoqIER1
bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwOgooRXZlbnRTZW5kZXI6OkV2ZW50U2Vu
ZGVyKToKKEV2ZW50U2VuZGVyOjptb3VzZURvd24pOgoqIER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50
U2VuZGVyUXQuaDoKCkxheW91dFRlc3RzOgoKKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgotLS0KIExh
eW91dFRlc3RzL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgOSAr
KwogTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCAgICAgICAgICAgICAgICAgICAgfCAg
ICAxIC0KIFdlYktpdC9xdC9BcGkvcXdlYnBhZ2UuY3BwICAgICAgICAgICAgICAgICAgICAgICAg
IHwgIDE0NyArKysrKysrLS0tLS0tLS0tLS0tLQogV2ViS2l0L3F0L0FwaS9xd2VicGFnZV9wLmgg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEwICstCiBXZWJLaXQvcXQvQ2hhbmdlTG9nICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysKIC4uLi9xdC9XZWJDb3JlU3Vw
cG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5jcHAgIHwgICAgNSArCiBXZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuaCB8ICAgIDEgKwogV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0ICsrCiBXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9EdW1wUmVuZGVyVHJlZVF0LmNwcCB8ICAgIDQgKy0K
IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwICAgIHwgICAz
MCArLS0tLQogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5oICAg
ICAgfCAgICA5IC0tCiAxMSBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgMTQyIGRl
bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwppbmRleCAzMzgzMGM3Li40MTRlOTc2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMDktMTMgIFJhZ25lciBNYWdhbGhhZXMgIDxyYWduZXIubWFnYWxoYWVzQG9wZW5i
b3NzYS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgW1F0XSAgQ2xpY2sncyBjb3VudCBpcyBsaW1pdGVkIHRvIHRocmVlIGNvbnRpbnVvdXMgY2xp
Y2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NjY2
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDEwLTA5LTEzICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCAxMDJmZjdkLi5lYWJmZDRiIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0L1NraXBwZWQKQEAgLTI1MTAsNyArMjUxMCw2IEBAIGZhc3QvZW5jb2RpbmcvR0JL
L2lzby1pci01OC5odG1sCiBmYXN0L2VuY29kaW5nL0dCSy94LWV1Yy1jbi5odG1sCiBmYXN0L2Vu
Y29kaW5nL0dCSy94LWdiay5odG1sCiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLmh0bWwKLWZhc3Qv
ZXZlbnRzL2NsaWNrLWNvdW50Lmh0bWwKIGZhc3QvZXZlbnRzL2NvbnRlbnQtY2hhbmdlZC1kdXJp
bmctZHJvcC5odG1sCiBmYXN0L2V2ZW50cy9qcy1rZXlib2FyZC1ldmVudC1jcmVhdGlvbi5odG1s
CiBmYXN0L2V2ZW50cy9rZXlkb3duLTEuaHRtbApkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0FwaS9x
d2VicGFnZS5jcHAgYi9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAppbmRleCA0ZjVlNzExLi41
MTlhZTBhIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQXBpL3F3ZWJwYWdlLmNwcAorKysgYi9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlLmNwcApAQCAtMjkxLDYgKzI5MSw3IEBAIFFXZWJQYWdlUHJpdmF0
ZTo6UVdlYlBhZ2VQcml2YXRlKFFXZWJQYWdlICpxcSkKICAgICBlZGl0YWJsZSA9IGZhbHNlOwog
ICAgIHVzZUZpeGVkTGF5b3V0ID0gZmFsc2U7CiAgICAgbGlua1BvbGljeSA9IFFXZWJQYWdlOjpE
b250RGVsZWdhdGVMaW5rczsKKyAgICBwcmV2aW91c0NsaWNrQnV0dG9uID0gUXQ6Ok5vQnV0dG9u
OwogI2lmbmRlZiBRVF9OT19DT05URVhUTUVOVQogICAgIGN1cnJlbnRDb250ZXh0TWVudSA9IDA7
CiAjZW5kaWYKQEAgLTU5MSw4ICs1OTIsOCBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6dXBkYXRl
RWRpdG9yQWN0aW9ucygpCiB2b2lkIFFXZWJQYWdlUHJpdmF0ZTo6dGltZXJFdmVudChRVGltZXJF
dmVudCAqZXYpCiB7CiAgICAgaW50IHRpbWVySWQgPSBldi0+dGltZXJJZCgpOwotICAgIGlmICh0
aW1lcklkID09IHRyaXBsZUNsaWNrVGltZXIudGltZXJJZCgpKQotICAgICAgICB0cmlwbGVDbGlj
a1RpbWVyLnN0b3AoKTsKKyAgICBpZiAodGltZXJJZCA9PSBjbGlja1RpbWVyLnRpbWVySWQoKSkK
KyAgICAgICAgY2xpY2tUaW1lci5zdG9wKCk7CiAgICAgZWxzZQogICAgICAgICBxLT50aW1lckV2
ZW50KGV2KTsKIH0KQEAgLTYyNCwzMSArNjI1LDQxIEBAIHZvaWQgUVdlYlBhZ2VQcml2YXRlOjpt
b3VzZVByZXNzRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50KiBldikKICAgICAgICAgcmV0
dXJuOwogCiAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG9sZE5vZGU7Ci0gICAgRnJhbWUqIGZv
Y3VzZWRGcmFtZSA9IHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKLSAg
ICBpZiAoRG9jdW1lbnQqIGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRGcmFtZSA/IGZvY3VzZWRG
cmFtZS0+ZG9jdW1lbnQoKSA6IDApCi0gICAgICAgIG9sZE5vZGUgPSBmb2N1c2VkRG9jdW1lbnQt
PmZvY3VzZWROb2RlKCk7CisgICAgRnJhbWUgKmZvY3VzZWRGcmFtZTsKIAotICAgIGlmICh0cmlw
bGVDbGlja1RpbWVyLmlzQWN0aXZlKCkKLSAgICAgICAgICAgICYmIChldi0+cG9zKCkudG9Qb2lu
dCgpIC0gdHJpcGxlQ2xpY2spLm1hbmhhdHRhbkxlbmd0aCgpCisgICAgaWYgKGNsaWNrVGltZXIu
aXNBY3RpdmUoKQorICAgICAgICAgICAgJiYgZXYtPmJ1dHRvbigpID09IHByZXZpb3VzQ2xpY2tC
dXR0b24KKyAgICAgICAgICAgICYmIChldi0+cG9zKCkudG9Qb2ludCgpIC0gbGFzdENsaWNrKS5t
YW5oYXR0YW5MZW5ndGgoKQogICAgICAgICAgICAgICAgIDwgUUFwcGxpY2F0aW9uOjpzdGFydERy
YWdEaXN0YW5jZSgpKSB7Ci0gICAgICAgIG1vdXNlVHJpcGxlQ2xpY2tFdmVudChldik7Ci0gICAg
ICAgIHJldHVybjsKKyAgICAgICAgY2xpY2tDb3VudCsrOworICAgIH0gZWxzZSB7CisgICAgICAg
IGNsaWNrQ291bnQgPSAxOworCisgICAgICAgIGZvY3VzZWRGcmFtZSA9IHBhZ2UtPmZvY3VzQ29u
dHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKKyAgICAgICAgaWYgKERvY3VtZW50KiBmb2N1c2Vk
RG9jdW1lbnQgPSBmb2N1c2VkRnJhbWUgPyBmb2N1c2VkRnJhbWUtPmRvY3VtZW50KCkgOiAwKQor
ICAgICAgICAgICAgb2xkTm9kZSA9IGZvY3VzZWREb2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsKICAg
ICB9CiAKICAgICBib29sIGFjY2VwdGVkID0gZmFsc2U7Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50
IG1ldihldiwgMSk7CisgICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1ldihldiwgY2xpY2tDb3VudCk7
CiAgICAgLy8gaWdub3JlIHRoZSBldmVudCBpZiB3ZSBjYW4ndCBtYXAgUXQncyBtb3VzZSBidXR0
b25zIHRvIFdlYkNvcmU6Ok1vdXNlQnV0dG9uCiAgICAgaWYgKG1ldi5idXR0b24oKSAhPSBOb0J1
dHRvbikKICAgICAgICAgYWNjZXB0ZWQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1v
dXNlUHJlc3NFdmVudChtZXYpOwogICAgIGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7CiAKLSAg
ICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbmV3Tm9kZTsKLSAgICBmb2N1c2VkRnJhbWUgPSBwYWdl
LT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCk7Ci0gICAgaWYgKERvY3VtZW50KiBm
b2N1c2VkRG9jdW1lbnQgPSBmb2N1c2VkRnJhbWUgPyBmb2N1c2VkRnJhbWUtPmRvY3VtZW50KCkg
OiAwKQotICAgICAgICBuZXdOb2RlID0gZm9jdXNlZERvY3VtZW50LT5mb2N1c2VkTm9kZSgpOwor
ICAgIGlmIChjbGlja0NvdW50ID09IDEpIHsKKyAgICAgICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+
IG5ld05vZGU7CisgICAgICAgIGZvY3VzZWRGcmFtZSA9IHBhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LT5mb2N1c2VkRnJhbWUoKTsKKyAgICAgICAgaWYgKERvY3VtZW50KiBmb2N1c2VkRG9jdW1lbnQg
PSBmb2N1c2VkRnJhbWUgPyBmb2N1c2VkRnJhbWUtPmRvY3VtZW50KCkgOiAwKQorICAgICAgICAg
ICAgbmV3Tm9kZSA9IGZvY3VzZWREb2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsKKworICAgICAgICBp
ZiAobmV3Tm9kZSAmJiBvbGROb2RlICE9IG5ld05vZGUpCisgICAgICAgICAgICBjbGlja0NhdXNl
ZEZvY3VzID0gdHJ1ZTsKKyAgICB9CiAKLSAgICBpZiAobmV3Tm9kZSAmJiBvbGROb2RlICE9IG5l
d05vZGUpCi0gICAgICAgIGNsaWNrQ2F1c2VkRm9jdXMgPSB0cnVlOworICAgIHByZXZpb3VzQ2xp
Y2tCdXR0b24gPSBldi0+YnV0dG9uKCk7CisgICAgY2xpY2tUaW1lci5zdGFydChRQXBwbGljYXRp
b246OmRvdWJsZUNsaWNrSW50ZXJ2YWwoKSwgcSk7CisgICAgbGFzdENsaWNrID0gZXYtPnBvcygp
LnRvUG9pbnQoKTsKIH0KIAogdm9pZCBRV2ViUGFnZVByaXZhdGU6Om1vdXNlUHJlc3NFdmVudChR
TW91c2VFdmVudCAqZXYpCkBAIC02NTgsOTMgKzY2OSw0MSBAQCB2b2lkIFFXZWJQYWdlUHJpdmF0
ZTo6bW91c2VQcmVzc0V2ZW50KFFNb3VzZUV2ZW50ICpldikKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgUmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG9sZE5vZGU7Ci0gICAgRnJhbWUqIGZvY3VzZWRGcmFt
ZSA9IHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKTsKLSAgICBpZiAoRG9j
dW1lbnQqIGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRGcmFtZSA/IGZvY3VzZWRGcmFtZS0+ZG9j
dW1lbnQoKSA6IDApCi0gICAgICAgIG9sZE5vZGUgPSBmb2N1c2VkRG9jdW1lbnQtPmZvY3VzZWRO
b2RlKCk7CisgICAgRnJhbWUgKmZvY3VzZWRGcmFtZTsKIAotICAgIGlmICh0cmlwbGVDbGlja1Rp
bWVyLmlzQWN0aXZlKCkKLSAgICAgICAgICAgICYmIChldi0+cG9zKCkgLSB0cmlwbGVDbGljayku
bWFuaGF0dGFuTGVuZ3RoKCkKKyAgICBpZiAoY2xpY2tUaW1lci5pc0FjdGl2ZSgpCisgICAgICAg
ICAgICAmJiBldi0+YnV0dG9uKCkgPT0gcHJldmlvdXNDbGlja0J1dHRvbgorICAgICAgICAgICAg
JiYgKGV2LT5wb3MoKSAtIGxhc3RDbGljaykubWFuaGF0dGFuTGVuZ3RoKCkKICAgICAgICAgICAg
ICAgICA8IFFBcHBsaWNhdGlvbjo6c3RhcnREcmFnRGlzdGFuY2UoKSkgewotICAgICAgICBtb3Vz
ZVRyaXBsZUNsaWNrRXZlbnQoZXYpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYm9v
bCBhY2NlcHRlZCA9IGZhbHNlOwotICAgIFBsYXRmb3JtTW91c2VFdmVudCBtZXYoZXYsIDEpOwot
ICAgIC8vIGlnbm9yZSB0aGUgZXZlbnQgaWYgd2UgY2FuJ3QgbWFwIFF0J3MgbW91c2UgYnV0dG9u
cyB0byBXZWJDb3JlOjpNb3VzZUJ1dHRvbgotICAgIGlmIChtZXYuYnV0dG9uKCkgIT0gTm9CdXR0
b24pCi0gICAgICAgIGFjY2VwdGVkID0gZnJhbWUtPmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3Vz
ZVByZXNzRXZlbnQobWV2KTsKLSAgICBldi0+c2V0QWNjZXB0ZWQoYWNjZXB0ZWQpOwotCi0gICAg
UmVmUHRyPFdlYkNvcmU6Ok5vZGU+IG5ld05vZGU7Ci0gICAgZm9jdXNlZEZyYW1lID0gcGFnZS0+
Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpOwotICAgIGlmIChEb2N1bWVudCogZm9j
dXNlZERvY3VtZW50ID0gZm9jdXNlZEZyYW1lID8gZm9jdXNlZEZyYW1lLT5kb2N1bWVudCgpIDog
MCkKLSAgICAgICAgbmV3Tm9kZSA9IGZvY3VzZWREb2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsKLQot
ICAgIGlmIChuZXdOb2RlICYmIG9sZE5vZGUgIT0gbmV3Tm9kZSkKLSAgICAgICAgY2xpY2tDYXVz
ZWRGb2N1cyA9IHRydWU7Ci19Ci0KLXZvaWQgUVdlYlBhZ2VQcml2YXRlOjptb3VzZURvdWJsZUNs
aWNrRXZlbnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50ICpldikKLXsKLSAgICBXZWJDb3JlOjpG
cmFtZSogZnJhbWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKG1haW5GcmFtZSk7Ci0gICAgaWYg
KCFmcmFtZS0+dmlldygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBib29sIGFjY2VwdGVkID0g
ZmFsc2U7Ci0gICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1ldihldiwgMik7Ci0gICAgLy8gaWdub3Jl
IHRoZSBldmVudCBpZiB3ZSBjYW4ndCBtYXAgUXQncyBtb3VzZSBidXR0b25zIHRvIFdlYkNvcmU6
Ok1vdXNlQnV0dG9uCi0gICAgaWYgKG1ldi5idXR0b24oKSAhPSBOb0J1dHRvbikKLSAgICAgICAg
YWNjZXB0ZWQgPSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudCht
ZXYpOwotICAgIGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7Ci0KLSAgICB0cmlwbGVDbGlja1Rp
bWVyLnN0YXJ0KFFBcHBsaWNhdGlvbjo6ZG91YmxlQ2xpY2tJbnRlcnZhbCgpLCBxKTsKLSAgICB0
cmlwbGVDbGljayA9IGV2LT5wb3MoKS50b1BvaW50KCk7Ci19CisgICAgICAgIGNsaWNrQ291bnQr
KzsKKyAgICB9IGVsc2UgeworICAgICAgICBjbGlja0NvdW50ID0gMTsKIAotdm9pZCBRV2ViUGFn
ZVByaXZhdGU6Om1vdXNlRG91YmxlQ2xpY2tFdmVudChRTW91c2VFdmVudCAqZXYpCi17Ci0gICAg
V2ViQ29yZTo6RnJhbWUqIGZyYW1lID0gUVdlYkZyYW1lUHJpdmF0ZTo6Y29yZShtYWluRnJhbWUp
OwotICAgIGlmICghZnJhbWUtPnZpZXcoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICBmb2N1
c2VkRnJhbWUgPSBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCk7CisgICAg
ICAgIGlmIChEb2N1bWVudCogZm9jdXNlZERvY3VtZW50ID0gZm9jdXNlZEZyYW1lID8gZm9jdXNl
ZEZyYW1lLT5kb2N1bWVudCgpIDogMCkKKyAgICAgICAgICAgIG9sZE5vZGUgPSBmb2N1c2VkRG9j
dW1lbnQtPmZvY3VzZWROb2RlKCk7CisgICAgfQogCiAgICAgYm9vbCBhY2NlcHRlZCA9IGZhbHNl
OwotICAgIFBsYXRmb3JtTW91c2VFdmVudCBtZXYoZXYsIDIpOworICAgIFBsYXRmb3JtTW91c2VF
dmVudCBtZXYoZXYsIGNsaWNrQ291bnQpOwogICAgIC8vIGlnbm9yZSB0aGUgZXZlbnQgaWYgd2Ug
Y2FuJ3QgbWFwIFF0J3MgbW91c2UgYnV0dG9ucyB0byBXZWJDb3JlOjpNb3VzZUJ1dHRvbgogICAg
IGlmIChtZXYuYnV0dG9uKCkgIT0gTm9CdXR0b24pCiAgICAgICAgIGFjY2VwdGVkID0gZnJhbWUt
PmV2ZW50SGFuZGxlcigpLT5oYW5kbGVNb3VzZVByZXNzRXZlbnQobWV2KTsKICAgICBldi0+c2V0
QWNjZXB0ZWQoYWNjZXB0ZWQpOwogCi0gICAgdHJpcGxlQ2xpY2tUaW1lci5zdGFydChRQXBwbGlj
YXRpb246OmRvdWJsZUNsaWNrSW50ZXJ2YWwoKSwgcSk7Ci0gICAgdHJpcGxlQ2xpY2sgPSBldi0+
cG9zKCk7Ci19Ci0KLXZvaWQgUVdlYlBhZ2VQcml2YXRlOjptb3VzZVRyaXBsZUNsaWNrRXZlbnQo
UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50ICpldikKLXsKLSAgICBXZWJDb3JlOjpGcmFtZSogZnJh
bWUgPSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKG1haW5GcmFtZSk7Ci0gICAgaWYgKCFmcmFtZS0+
dmlldygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBib29sIGFjY2VwdGVkID0gZmFsc2U7Ci0g
ICAgUGxhdGZvcm1Nb3VzZUV2ZW50IG1ldihldiwgMyk7Ci0gICAgLy8gaWdub3JlIHRoZSBldmVu
dCBpZiB3ZSBjYW4ndCBtYXAgUXQncyBtb3VzZSBidXR0b25zIHRvIFdlYkNvcmU6Ok1vdXNlQnV0
dG9uCi0gICAgaWYgKG1ldi5idXR0b24oKSAhPSBOb0J1dHRvbikKLSAgICAgICAgYWNjZXB0ZWQg
PSBmcmFtZS0+ZXZlbnRIYW5kbGVyKCktPmhhbmRsZU1vdXNlUHJlc3NFdmVudChtZXYpOwotICAg
IGV2LT5zZXRBY2NlcHRlZChhY2NlcHRlZCk7Ci19CisgICAgaWYgKGNsaWNrQ291bnQgPT0gMSkg
eworICAgICAgICBSZWZQdHI8V2ViQ29yZTo6Tm9kZT4gbmV3Tm9kZTsKKyAgICAgICAgZm9jdXNl
ZEZyYW1lID0gcGFnZS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpOworICAgICAg
ICBpZiAoRG9jdW1lbnQqIGZvY3VzZWREb2N1bWVudCA9IGZvY3VzZWRGcmFtZSA/IGZvY3VzZWRG
cmFtZS0+ZG9jdW1lbnQoKSA6IDApCisgICAgICAgICAgICBuZXdOb2RlID0gZm9jdXNlZERvY3Vt
ZW50LT5mb2N1c2VkTm9kZSgpOwogCi12b2lkIFFXZWJQYWdlUHJpdmF0ZTo6bW91c2VUcmlwbGVD
bGlja0V2ZW50KFFNb3VzZUV2ZW50ICpldikKLXsKLSAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUg
PSBRV2ViRnJhbWVQcml2YXRlOjpjb3JlKG1haW5GcmFtZSk7Ci0gICAgaWYgKCFmcmFtZS0+dmll
dygpKQotICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChuZXdOb2RlICYmIG9sZE5vZGUgIT0g
bmV3Tm9kZSkKKyAgICAgICAgICAgIGNsaWNrQ2F1c2VkRm9jdXMgPSB0cnVlOworICAgIH0KIAot
ICAgIGJvb2wgYWNjZXB0ZWQgPSBmYWxzZTsKLSAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgbWV2KGV2
LCAzKTsKLSAgICAvLyBpZ25vcmUgdGhlIGV2ZW50IGlmIHdlIGNhbid0IG1hcCBRdCdzIG1vdXNl
IGJ1dHRvbnMgdG8gV2ViQ29yZTo6TW91c2VCdXR0b24KLSAgICBpZiAobWV2LmJ1dHRvbigpICE9
IE5vQnV0dG9uKQotICAgICAgICBhY2NlcHRlZCA9IGZyYW1lLT5ldmVudEhhbmRsZXIoKS0+aGFu
ZGxlTW91c2VQcmVzc0V2ZW50KG1ldik7Ci0gICAgZXYtPnNldEFjY2VwdGVkKGFjY2VwdGVkKTsK
KyAgICBwcmV2aW91c0NsaWNrQnV0dG9uID0gZXYtPmJ1dHRvbigpOworICAgIGNsaWNrVGltZXIu
c3RhcnQoUUFwcGxpY2F0aW9uOjpkb3VibGVDbGlja0ludGVydmFsKCksIHEpOworICAgIGxhc3RD
bGljayA9IGV2LT5wb3MoKTsKIH0KIAogdm9pZCBRV2ViUGFnZVByaXZhdGU6OmhhbmRsZUNsaXBi
b2FyZChRRXZlbnQqIGV2LCBRdDo6TW91c2VCdXR0b24gYnV0dG9uKQpAQCAtMjc3NSwxMiArMjcz
NCw2IEBAIGJvb2wgUVdlYlBhZ2U6OmV2ZW50KFFFdmVudCAqZXYpCiAgICAgY2FzZSBRRXZlbnQ6
OkdyYXBoaWNzU2NlbmVNb3VzZVByZXNzOgogICAgICAgICBkLT5tb3VzZVByZXNzRXZlbnQoc3Rh
dGljX2Nhc3Q8UUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7
Ci0gICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6Ci0gICAgICAgIGQtPm1vdXNl
RG91YmxlQ2xpY2tFdmVudChzdGF0aWNfY2FzdDxRTW91c2VFdmVudCo+KGV2KSk7Ci0gICAgICAg
IGJyZWFrOwotICAgIGNhc2UgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91c2VEb3VibGVDbGljazoK
LSAgICAgICAgZC0+bW91c2VEb3VibGVDbGlja0V2ZW50KHN0YXRpY19jYXN0PFFHcmFwaGljc1Nj
ZW5lTW91c2VFdmVudCo+KGV2KSk7Ci0gICAgICAgIGJyZWFrOwogICAgIGNhc2UgUUV2ZW50OjpN
b3VzZUJ1dHRvblJlbGVhc2U6CiAgICAgICAgIGQtPm1vdXNlUmVsZWFzZUV2ZW50KHN0YXRpY19j
YXN0PFFNb3VzZUV2ZW50Kj4oZXYpKTsKICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9XZWJL
aXQvcXQvQXBpL3F3ZWJwYWdlX3AuaCBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCmluZGV4
IDgyZjUzNjUuLjU5NDMwZDAgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5o
CisrKyBiL1dlYktpdC9xdC9BcGkvcXdlYnBhZ2VfcC5oCkBAIC05MiwxMCArOTIsNiBAQCBwdWJs
aWM6CiAgICAgdm9pZCBtb3VzZU1vdmVFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqKTsK
ICAgICB2b2lkIG1vdXNlUHJlc3NFdmVudChRTW91c2VFdmVudCopOwogICAgIHZvaWQgbW91c2VQ
cmVzc0V2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCopOwotICAgIHZvaWQgbW91c2VEb3Vi
bGVDbGlja0V2ZW50KFFNb3VzZUV2ZW50Kik7Ci0gICAgdm9pZCBtb3VzZURvdWJsZUNsaWNrRXZl
bnQoUUdyYXBoaWNzU2NlbmVNb3VzZUV2ZW50Kik7Ci0gICAgdm9pZCBtb3VzZVRyaXBsZUNsaWNr
RXZlbnQoUU1vdXNlRXZlbnQqKTsKLSAgICB2b2lkIG1vdXNlVHJpcGxlQ2xpY2tFdmVudChRR3Jh
cGhpY3NTY2VuZU1vdXNlRXZlbnQqKTsKICAgICB2b2lkIG1vdXNlUmVsZWFzZUV2ZW50KFFNb3Vz
ZUV2ZW50Kik7CiAgICAgdm9pZCBtb3VzZVJlbGVhc2VFdmVudChRR3JhcGhpY3NTY2VuZU1vdXNl
RXZlbnQqKTsKICNpZm5kZWYgUVRfTk9fQ09OVEVYVE1FTlUKQEAgLTE2OCw4ICsxNjQsMTAgQEAg
cHVibGljOgogICAgIHF1aW50NjQgbV90b3RhbEJ5dGVzOwogICAgIHF1aW50NjQgbV9ieXRlc1Jl
Y2VpdmVkOwogCi0gICAgUVBvaW50IHRyaXBsZUNsaWNrOwotICAgIFFCYXNpY1RpbWVyIHRyaXBs
ZUNsaWNrVGltZXI7CisgICAgUXQ6Ok1vdXNlQnV0dG9uIHByZXZpb3VzQ2xpY2tCdXR0b247Cisg
ICAgUVBvaW50IGxhc3RDbGljazsKKyAgICBRQmFzaWNUaW1lciBjbGlja1RpbWVyOworICAgIGlu
dCBjbGlja0NvdW50OwogCiAgICAgYm9vbCBjbGlja0NhdXNlZEZvY3VzOwogCmRpZmYgLS1naXQg
YS9XZWJLaXQvcXQvQ2hhbmdlTG9nIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCBiZGI4MTQ1
Li42MDcwMzAwIDEwMDY0NAotLS0gYS9XZWJLaXQvcXQvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9x
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0wOS0xMyAgUmFnbmVyIE1hZ2FsaGFl
cyAgPHJhZ25lci5tYWdhbGhhZXNAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbUXRdICBDbGljaydzIGNvdW50IGlzIGxpbWl0
ZWQgdG8gdGhyZWUgY29udGludW91cyBjbGljaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2NjYKKworICAgICAgICAqIEFwaS9xd2VicGFnZS5jcHA6
CisgICAgICAgIChRV2ViUGFnZVByaXZhdGU6OlFXZWJQYWdlUHJpdmF0ZSk6CisgICAgICAgIChR
V2ViUGFnZVByaXZhdGU6OnRpbWVyRXZlbnQpOgorICAgICAgICAoUVdlYlBhZ2VQcml2YXRlOjpt
b3VzZVByZXNzRXZlbnQpOgorICAgICAgICAoUVdlYlBhZ2U6OmV2ZW50KToKKyAgICAgICAgKiBB
cGkvcXdlYnBhZ2VfcC5oOgorCiAyMDEwLTA4LTI3ICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
biAgPGtlbm5ldGguY2hyaXN0aWFuc2VuQG9wZW5ib3NzYS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgQW50dGkgS29pdmlzdG8uCmRpZmYgLS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQuY3BwIGIvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0R1bXBSZW5kZXJUcmVlU3VwcG9ydFF0LmNwcAppbmRleCAxMjZhMGRhLi5hOTNiZjUyIDEwMDY0
NAotLS0gYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
Y3BwCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRR
dC5jcHAKQEAgLTc1Myw2ICs3NTMsMTEgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZVN1cHBvcnRRdDo6
c2ltdWxhdGVEZXNrdG9wTm90aWZpY2F0aW9uQ2xpY2soY29uc3QgUVN0cmluZyYgdGkKICNlbmRp
ZgogfQogCit2b2lkIER1bXBSZW5kZXJUcmVlU3VwcG9ydFF0OjpyZXNldENsaWNrQ291bnQoUVdl
YlBhZ2UqIHBhZ2UpCit7CisgICAgcGFnZS0+ZC0+Y2xpY2tDb3VudCA9IDA7Cit9CisKIC8vIFBy
b3ZpZGUgYSBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggcHJldmlvdXNseSBleHBvcnRlZCBw
cml2YXRlIHN5bWJvbHMgYXMgb2YgUXRXZWJLaXQgNC42IHJlbGVhc2UKIAogdm9pZCBRV0VCS0lU
X0VYUE9SVCBxdF9yZXN1bWVBY3RpdmVET01PYmplY3RzKFFXZWJGcmFtZSogZnJhbWUpCmRpZmYg
LS1naXQgYS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvRHVtcFJlbmRlclRyZWVTdXBwb3J0UXQu
aCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCmlu
ZGV4IGM0ZWZjNTYuLmFlOGIwYjIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCisrKyBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9y
dC9EdW1wUmVuZGVyVHJlZVN1cHBvcnRRdC5oCkBAIC0xMjksNiArMTI5LDcgQEAgcHVibGljOgog
ICAgIHN0YXRpYyB2b2lkIGFkZFVzZXJTdHlsZVNoZWV0KFFXZWJQYWdlKiBwYWdlLCBjb25zdCBR
U3RyaW5nJiBzb3VyY2VDb2RlKTsKICAgICBzdGF0aWMgdm9pZCBzaW11bGF0ZURlc2t0b3BOb3Rp
ZmljYXRpb25DbGljayhjb25zdCBRU3RyaW5nJiB0aXRsZSk7CiAgICAgc3RhdGljIFFTdHJpbmcg
dmlld3BvcnRBc1RleHQoUVdlYlBhZ2UqLCBjb25zdCBRU2l6ZSYpOworICAgIHN0YXRpYyB2b2lk
IHJlc2V0Q2xpY2tDb3VudChRV2ViUGFnZSopOwogfTsKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggNjRmNjQw
ZC4uNTRlNzNkOCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTA5LTEzICBSYWduZXIgTWFn
YWxoYWVzICA8cmFnbmVyLm1hZ2FsaGFlc0BvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gIENsaWNrJ3MgY291bnQgaXMg
bGltaXRlZCB0byB0aHJlZSBjb250aW51b3VzIGNsaWNrCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY2NgorCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvcXQvRHVtcFJlbmRlclRyZWVRdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1wUmVuZGVy
VHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwOgorICAgICAgICAoRXZlbnRTZW5kZXI6
OkV2ZW50U2VuZGVyKToKKyAgICAgICAgKEV2ZW50U2VuZGVyOjptb3VzZURvd24pOgorICAgICAg
ICAqIER1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaDoKKwogMjAxMC0wOS0xMyAgQ3Nh
YmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9x
dC9EdW1wUmVuZGVyVHJlZVF0LmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1
bXBSZW5kZXJUcmVlUXQuY3BwCmluZGV4IGRjODFmNTYuLmU5OTliOGMgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCisrKyBiL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0R1bXBSZW5kZXJUcmVlUXQuY3BwCkBAIC01NDEs
OSArNTQxLDYgQEAgdm9pZCBEdW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJl
Zm9yZVRlc3RpbmcoKQogICAgIC8vIG9mIHRoZSBEUlQuCiAgICAgbV9jb250cm9sbGVyLT5yZXNl
dCgpOwogCi0gICAgLy8gcmVzZXQgbW91c2UgY2xpY2tzIGNvdW50ZXIKLSAgICBtX2V2ZW50U2Vu
ZGVyLT5yZXNldENsaWNrQ291bnQoKTsKLQogICAgIGNsb3NlUmVtYWluaW5nV2luZG93cygpOwog
CiAgICAgbV9wYWdlLT5yZXNldFNldHRpbmdzKCk7CkBAIC01NTksNiArNTU2LDcgQEAgdm9pZCBE
dW1wUmVuZGVyVHJlZTo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3RpbmcoKQogICAg
IFdvcmtRdWV1ZTo6c2hhcmVkKCktPnNldEZyb3plbihmYWxzZSk7CiAKICAgICBEdW1wUmVuZGVy
VHJlZVN1cHBvcnRRdDo6cmVzZXRPcmlnaW5BY2Nlc3NXaGl0ZUxpc3RzKCk7CisgICAgRHVtcFJl
bmRlclRyZWVTdXBwb3J0UXQ6OnJlc2V0Q2xpY2tDb3VudChtX3BhZ2UpOwogCiAgICAgLy8gUXQg
ZGVmYXVsdHMgdG8gV2luZG93cyBlZGl0aW5nIGJlaGF2aW9yLgogICAgIER1bXBSZW5kZXJUcmVl
U3VwcG9ydFF0OjpzZXRFZGl0aW5nQmVoYXZpb3IobV9wYWdlLCAid2luIik7CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmNwcCBiL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuY3BwCmluZGV4IDYzZGJkMmEu
LmFlNmViNjQgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50
U2VuZGVyUXQuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2Vu
ZGVyUXQuY3BwCkBAIC02Niw4ICs2Niw2IEBAIEV2ZW50U2VuZGVyOjpFdmVudFNlbmRlcihRV2Vi
UGFnZSogcGFyZW50KQogICAgIGVuZE9mUXVldWUgPSAwOwogICAgIHN0YXJ0T2ZRdWV1ZSA9IDA7
CiAgICAgbV9ldmVudExvb3AgPSAwOwotICAgIG1fY3VycmVudEJ1dHRvbiA9IDA7Ci0gICAgcmVz
ZXRDbGlja0NvdW50KCk7CiAgICAgbV9wYWdlLT52aWV3KCktPmluc3RhbGxFdmVudEZpbHRlcih0
aGlzKTsKICAgICAvLyBTbyB0aGF0IHdlIGNhbiBtYXRjaCBTY3JvbGxiYXI6OnBpeGVsc1Blckxp
bmVTdGVwKCkgaW4gV2hlZWxFdmVudFF0LmNwcCBhbmQKICAgICAvLyBwYXNzIGZhc3QvZXZlbnRz
L3BsYXRmb3JtLXdoZWVsZXZlbnQtaW4tc2Nyb2xsaW5nLWRpdi5odG1sCkBAIC05NiwzNCArOTQs
MTkgQEAgdm9pZCBFdmVudFNlbmRlcjo6bW91c2VEb3duKGludCBidXR0b24pCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIAotICAgIC8vIG9ubHkgY29uc2lkZXIgYSBjbGljayB0byBjb3VudCwgYW4g
ZXZlbnQgb3JpZ2luYXRlZCBieSB0aGUKLSAgICAvLyBzYW1lIHByZXZpb3VzIGJ1dHRvbiBhbmQg
YXQgdGhlIHNhbWUgcG9zaXRpb24uCi0gICAgaWYgKG1fY3VycmVudEJ1dHRvbiA9PSBidXR0b24K
LSAgICAgICAgJiYgbV9tb3VzZVBvcyA9PSBtX2NsaWNrUG9zCi0gICAgICAgICYmIG1fY2xpY2tU
aW1lci5pc0FjdGl2ZSgpKQotICAgICAgICBtX2NsaWNrQ291bnQrKzsKLSAgICBlbHNlCi0gICAg
ICAgIG1fY2xpY2tDb3VudCA9IDE7Ci0KLSAgICBtX2N1cnJlbnRCdXR0b24gPSBidXR0b247Ci0g
ICAgbV9jbGlja1BvcyA9IG1fbW91c2VQb3M7CiAgICAgbV9tb3VzZUJ1dHRvbnMgfD0gbW91c2VC
dXR0b247CiAKIC8vICAgICBxRGVidWcoKSA8PCAiRXZlbnRTZW5kZXI6Om1vdXNlRG93biIgPDwg
ZnJhbWU7CiAgICAgUUV2ZW50KiBldmVudDsKICAgICBpZiAoaXNHcmFwaGljc0Jhc2VkKCkpIHsK
LSAgICAgICAgZXZlbnQgPSBjcmVhdGVHcmFwaGljc1NjZW5lTW91c2VFdmVudCgobV9jbGlja0Nv
dW50ID09IDIpID8KLSAgICAgICAgICAgICAgICAgICAgUUV2ZW50OjpHcmFwaGljc1NjZW5lTW91
c2VEb3VibGVDbGljayA6IFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUHJlc3MsCi0gICAgICAg
ICAgICAgICAgICAgIG1fbW91c2VQb3MsIG1fbW91c2VQb3MsIG1vdXNlQnV0dG9uLCBtX21vdXNl
QnV0dG9ucywgUXQ6Ok5vTW9kaWZpZXIpOworICAgICAgICBldmVudCA9IGNyZWF0ZUdyYXBoaWNz
U2NlbmVNb3VzZUV2ZW50KFFFdmVudDo6R3JhcGhpY3NTY2VuZU1vdXNlUHJlc3MsCisgICAgICAg
ICAgICAgICAgbV9tb3VzZVBvcywgbV9tb3VzZVBvcywgbW91c2VCdXR0b24sIG1fbW91c2VCdXR0
b25zLCBRdDo6Tm9Nb2RpZmllcik7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgZXZlbnQgPSBuZXcg
UU1vdXNlRXZlbnQoKG1fY2xpY2tDb3VudCA9PSAyKSA/IFFFdmVudDo6TW91c2VCdXR0b25EYmxD
bGljayA6Ci0gICAgICAgICAgICAgICAgICAgIFFFdmVudDo6TW91c2VCdXR0b25QcmVzcywgbV9t
b3VzZVBvcywgbV9tb3VzZVBvcywKLSAgICAgICAgICAgICAgICAgICAgbW91c2VCdXR0b24sIG1f
bW91c2VCdXR0b25zLCBRdDo6Tm9Nb2RpZmllcik7CisgICAgICAgIGV2ZW50ID0gbmV3IFFNb3Vz
ZUV2ZW50KFFFdmVudDo6TW91c2VCdXR0b25QcmVzcywgbV9tb3VzZVBvcywgbV9tb3VzZVBvcywK
KyAgICAgICAgICAgICAgICBtb3VzZUJ1dHRvbiwgbV9tb3VzZUJ1dHRvbnMsIFF0OjpOb01vZGlm
aWVyKTsKICAgICB9CiAKICAgICBzZW5kT3JRdWV1ZUV2ZW50KGV2ZW50KTsKLQotICAgIG1fY2xp
Y2tUaW1lci5zdGFydChRQXBwbGljYXRpb246OmRvdWJsZUNsaWNrSW50ZXJ2YWwoKSwgdGhpcyk7
CiB9CiAKIHZvaWQgRXZlbnRTZW5kZXI6Om1vdXNlVXAoaW50IGJ1dHRvbikKQEAgLTYxMSwxMSAr
NTk0LDYgQEAgYm9vbCBFdmVudFNlbmRlcjo6ZXZlbnRGaWx0ZXIoUU9iamVjdCogd2F0Y2hlZCwg
UUV2ZW50KiBldmVudCkKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXZvaWQgRXZlbnRTZW5kZXI6
OnRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqIGV2KQotewotICAgIG1fY2xpY2tUaW1lci5zdG9wKCk7
Ci19Ci0KIFFHcmFwaGljc1NjZW5lTW91c2VFdmVudCogRXZlbnRTZW5kZXI6OmNyZWF0ZUdyYXBo
aWNzU2NlbmVNb3VzZUV2ZW50KFFFdmVudDo6VHlwZSB0eXBlLCBjb25zdCBRUG9pbnQmIHBvcywg
Y29uc3QgUVBvaW50JiBzY3JlZW5Qb3MsIFF0OjpNb3VzZUJ1dHRvbiBidXR0b24sIFF0OjpNb3Vz
ZUJ1dHRvbnMgYnV0dG9ucywgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1vZGlmaWVycykKIHsKICAg
ICBRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGV2ZW50OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvcXQvRXZlbnRTZW5kZXJRdC5oCmluZGV4IGExN2U5MzguLmYyZjhmNjQgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3F0L0V2ZW50U2VuZGVyUXQuaAorKysg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9xdC9FdmVudFNlbmRlclF0LmgKQEAgLTMzLDcg
KzMzLDYgQEAKICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZVF0LmgiCiAKICNpbmNsdWRlIDxRQXBw
bGljYXRpb24+Ci0jaW5jbHVkZSA8UUJhc2ljVGltZXI+CiAjaW5jbHVkZSA8UUV2ZW50PgogI2lu
Y2x1ZGUgPFFFdmVudExvb3A+CiAjaW5jbHVkZSA8UU1vdXNlRXZlbnQ+CkBAIC01NCw3ICs1Myw2
IEBAIGNsYXNzIEV2ZW50U2VuZGVyIDogcHVibGljIFFPYmplY3QgewogcHVibGljOgogICAgIEV2
ZW50U2VuZGVyKFFXZWJQYWdlKiBwYXJlbnQpOwogICAgIHZpcnR1YWwgYm9vbCBldmVudEZpbHRl
cihRT2JqZWN0KiB3YXRjaGVkLCBRRXZlbnQqIGV2ZW50KTsKLSAgICB2b2lkIHJlc2V0Q2xpY2tD
b3VudCgpIHsgbV9jbGlja0NvdW50ID0gMDsgfQogCiBwdWJsaWMgc2xvdHM6CiAgICAgdm9pZCBt
b3VzZURvd24oaW50IGJ1dHRvbiA9IDApOwpAQCAtODIsOSArODAsNiBAQCBwdWJsaWMgc2xvdHM6
CiAgICAgdm9pZCBjbGVhclRvdWNoUG9pbnRzKCk7CiAgICAgdm9pZCByZWxlYXNlVG91Y2hQb2lu
dChpbnQgaW5kZXgpOwogCi1wcm90ZWN0ZWQ6Ci0gICAgdm9pZCB0aW1lckV2ZW50KFFUaW1lckV2
ZW50Kik7Ci0KIHByaXZhdGU6CiAgICAgYm9vbCBpc0dyYXBoaWNzQmFzZWQoKSBjb25zdCB7IHJl
dHVybiBxb2JqZWN0X2Nhc3Q8V2ViQ29yZTo6V2ViVmlld0dyYXBoaWNzQmFzZWQqPihtX3BhZ2Ut
PnZpZXcoKSk7IH0KICAgICBRR3JhcGhpY3NTY2VuZU1vdXNlRXZlbnQqIGNyZWF0ZUdyYXBoaWNz
U2NlbmVNb3VzZUV2ZW50KFFFdmVudDo6VHlwZSwgY29uc3QgUVBvaW50JiBwb3MsIGNvbnN0IFFQ
b2ludCYgc2NyZWVuUG9zLCBRdDo6TW91c2VCdXR0b24sIFF0OjpNb3VzZUJ1dHRvbnMsIFF0OjpL
ZXlib2FyZE1vZGlmaWVycyk7CkBAIC05NywxNiArOTIsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHNlbmRPclF1ZXVlRXZlbnQoUUV2ZW50Kik7CiAgICAgdm9pZCByZXBsYXlTYXZlZEV2ZW50cyhi
b29sIGZsdXNoKTsKICAgICBRUG9pbnQgbV9tb3VzZVBvczsKLSAgICBRUG9pbnQgbV9jbGlja1Bv
czsKICAgICBRdDo6TW91c2VCdXR0b25zIG1fbW91c2VCdXR0b25zOwogICAgIFFXZWJQYWdlKiBt
X3BhZ2U7Ci0gICAgaW50IG1fY2xpY2tDb3VudDsKLSAgICBpbnQgbV9jdXJyZW50QnV0dG9uOwog
ICAgIGJvb2wgbV9tb3VzZUJ1dHRvblByZXNzZWQ7CiAgICAgYm9vbCBtX2RyYWc7CiAgICAgUUV2
ZW50TG9vcCogbV9ldmVudExvb3A7CiAgICAgUVdlYkZyYW1lKiBmcmFtZVVuZGVyTW91c2UoKSBj
b25zdDsKLSAgICBRQmFzaWNUaW1lciBtX2NsaWNrVGltZXI7CiAjaWYgUVRfVkVSU0lPTiA+PSBR
VF9WRVJTSU9OX0NIRUNLKDQsIDYsIDApCiAgICAgUUxpc3Q8UVRvdWNoRXZlbnQ6OlRvdWNoUG9p
bnQ+IG1fdG91Y2hQb2ludHM7CiAgICAgUXQ6OktleWJvYXJkTW9kaWZpZXJzIG1fdG91Y2hNb2Rp
ZmllcnM7Ci0tIAoxLjYuMy4zCgo=
</data>
<flag name="review"
          id="56755"
          type_id="1"
          status="-"
          setter="tonikitoo"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118049</attachid>
            <date>2011-12-06 07:32:25 -0800</date>
            <delta_ts>2011-12-06 07:55:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45666-20111206123142.patch</filename>
            <type>text/plain</type>
            <size>11628</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODRkMjdhODhiZmRkYjA4
ZjczMzU4MDZjYWJkNGRiY2E2NjNkZjMzOC4uYzVlODM2ZTU3ZjYyZDU0ZjQ4YzkyYzdmNmEzMjMw
Y2YwMjk2MDUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTA2ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtRdF0g
Q2xpY2sncyBjb3VudCBpcyBsaW1pdGVkIHRvIHRocmVlIGNvbnRpbnVvdXMgY2xpY2tzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2NjYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFF0IHJlY29n
bml6ZSAiaW5maW5pdGUiIGNvbnRpbnVvdXMgbW91c2UgY2xpY2tzLgorICAgICAgICBoYW5kbGVN
b3VzZURvdWJsZUNsaWNrRXZlbnQgbWVyZ2VkIGludG8gaGFuZGxlTW91c2VQcmVzc0V2ZW50Lgor
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OlF0V2ViUGFnZUV2ZW50SGFuZGxlcik6CisgICAg
ICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKFF0V2Vi
UGFnZUV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFF0V2Vi
UGFnZUV2ZW50SGFuZGxlcjo6dGltZXJFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUV2ZW50SGFuZGxlci5oOgorCiAyMDExLTEyLTA2ICBBbGV4YW5kZXIgRsOmcsO4eSAg
PGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGFzc2VydGlv
biBpbiBRdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCmluZGV4IDZiMWZiNWQwYTM4
OTkyYWQwMjhlMjU0NzY3MjE0YzQ5Y2UyNzMzNjYuLjIzODc3NjFlYWFmNTk1MGUwNzdiMDc2ZmI0
OGU0M2JkZDBiYjcxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCkBAIC04Myw2ICs4Myw4IEBAIFF0V2ViUGFnZUV2
ZW50SGFuZGxlcjo6UXRXZWJQYWdlRXZlbnRIYW5kbGVyKFdLUGFnZVJlZiBwYWdlUmVmLCBXZWJL
aXQ6OlF0Vmlld3BvCiAgICAgLCBtX3Bhbkdlc3R1cmVSZWNvZ25pemVyKHRoaXMpCiAgICAgLCBt
X3BpbmNoR2VzdHVyZVJlY29nbml6ZXIodGhpcykKICAgICAsIG1fdGFwR2VzdHVyZVJlY29nbml6
ZXIodGhpcykKKyAgICAsIG1fcHJldmlvdXNDbGlja0J1dHRvbihRdDo6Tm9CdXR0b24pCisgICAg
LCBtX2NsaWNrQ291bnQoMCkKIHsKIH0KIApAQCAtOTQsMzYgKzk2LDM3IEBAIGJvb2wgUXRXZWJQ
YWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVFdmVudChRRXZlbnQqIGV2KQogewogICAgIHN3aXRjaCAo
ZXYtPnR5cGUoKSkgewogICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6Ci0gICAgICAgIHJldHVy
biBoYW5kbGVNb3VzZU1vdmVFdmVudChyZWludGVycHJldF9jYXN0PFFNb3VzZUV2ZW50Kj4oZXYp
KTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlTW92ZUV2ZW50KHN0YXRpY19jYXN0PFFNb3Vz
ZUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25QcmVzczoKLSAgICAg
ICAgcmV0dXJuIGhhbmRsZU1vdXNlUHJlc3NFdmVudChyZWludGVycHJldF9jYXN0PFFNb3VzZUV2
ZW50Kj4oZXYpKTsKLSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25SZWxlYXNlOgotICAgICAg
ICByZXR1cm4gaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocmVpbnRlcnByZXRfY2FzdDxRTW91c2VF
dmVudCo+KGV2KSk7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6Ci0gICAg
ICAgIHJldHVybiBoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZlbnQocmVpbnRlcnByZXRfY2FzdDxR
TW91c2VFdmVudCo+KGV2KSk7CisgICAgICAgIC8vIElmIGEgTW91c2VCdXR0b25EYmxDbGljayB3
YXMgcmVjZWl2ZWQgdGhlbiB3ZSBnb3QgYSBNb3VzZUJ1dHRvblByZXNzIGJlZm9yZQorICAgICAg
ICAvLyBoYW5kbGVNb3VzZVByZXNzRXZlbnQgd2lsbCB0YWtlIGNhcmUgb2YgZG91YmxlIGNsaWNr
cy4KKyAgICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlUHJlc3NFdmVudChzdGF0aWNfY2FzdDxRTW91
c2VFdmVudCo+KGV2KSk7CisgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKKyAg
ICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KHN0YXRpY19jYXN0PFFNb3VzZUV2
ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6V2hlZWw6Ci0gICAgICAgIHJldHVybiBoYW5k
bGVXaGVlbEV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8UVdoZWVsRXZlbnQqPihldikpOworICAgICAg
ICByZXR1cm4gaGFuZGxlV2hlZWxFdmVudChzdGF0aWNfY2FzdDxRV2hlZWxFdmVudCo+KGV2KSk7
CiAgICAgY2FzZSBRRXZlbnQ6OkhvdmVyTGVhdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVIb3Zl
ckxlYXZlRXZlbnQocmVpbnRlcnByZXRfY2FzdDxRSG92ZXJFdmVudCo+KGV2KSk7CisgICAgICAg
IHJldHVybiBoYW5kbGVIb3ZlckxlYXZlRXZlbnQoc3RhdGljX2Nhc3Q8UUhvdmVyRXZlbnQqPihl
dikpOwogICAgIGNhc2UgUUV2ZW50OjpIb3ZlckVudGVyOiAvLyBGYWxsLXRocm91Z2gsIGZvciBX
ZWJLaXQgdGhlIGRpc3RpbmN0aW9uIGRvZXNuJ3QgbWF0dGVyLgogICAgIGNhc2UgUUV2ZW50OjpI
b3Zlck1vdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVIb3Zlck1vdmVFdmVudChyZWludGVycHJl
dF9jYXN0PFFIb3ZlckV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUhvdmVyTW92
ZUV2ZW50KHN0YXRpY19jYXN0PFFIb3ZlckV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
RHJhZ0VudGVyOgotICAgICAgICByZXR1cm4gaGFuZGxlRHJhZ0VudGVyRXZlbnQocmVpbnRlcnBy
ZXRfY2FzdDxRRHJhZ0VudGVyRXZlbnQqPihldikpOworICAgICAgICByZXR1cm4gaGFuZGxlRHJh
Z0VudGVyRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdFbnRlckV2ZW50Kj4oZXYpKTsKICAgICBjYXNl
IFFFdmVudDo6RHJhZ0xlYXZlOgotICAgICAgICByZXR1cm4gaGFuZGxlRHJhZ0xlYXZlRXZlbnQo
cmVpbnRlcnByZXRfY2FzdDxRRHJhZ0xlYXZlRXZlbnQqPihldikpOworICAgICAgICByZXR1cm4g
aGFuZGxlRHJhZ0xlYXZlRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdMZWF2ZUV2ZW50Kj4oZXYpKTsK
ICAgICBjYXNlIFFFdmVudDo6RHJhZ01vdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVEcmFnTW92
ZUV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8UURyYWdNb3ZlRXZlbnQqPihldikpOworICAgICAgICBy
ZXR1cm4gaGFuZGxlRHJhZ01vdmVFdmVudChzdGF0aWNfY2FzdDxRRHJhZ01vdmVFdmVudCo+KGV2
KSk7CiAgICAgY2FzZSBRRXZlbnQ6OkRyb3A6Ci0gICAgICAgIHJldHVybiBoYW5kbGVEcm9wRXZl
bnQocmVpbnRlcnByZXRfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhh
bmRsZURyb3BFdmVudChzdGF0aWNfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFF
dmVudDo6S2V5UHJlc3M6Ci0gICAgICAgIHJldHVybiBoYW5kbGVLZXlQcmVzc0V2ZW50KHJlaW50
ZXJwcmV0X2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUtleVBy
ZXNzRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
S2V5UmVsZWFzZToKLSAgICAgICAgcmV0dXJuIGhhbmRsZUtleVJlbGVhc2VFdmVudChyZWludGVy
cHJldF9jYXN0PFFLZXlFdmVudCo+KGV2KSk7CisgICAgICAgIHJldHVybiBoYW5kbGVLZXlSZWxl
YXNlRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
Rm9jdXNJbjoKLSAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzSW5FdmVudChyZWludGVycHJldF9j
YXN0PFFGb2N1c0V2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzSW5FdmVu
dChzdGF0aWNfY2FzdDxRRm9jdXNFdmVudCo+KGV2KSk7CiAgICAgY2FzZSBRRXZlbnQ6OkZvY3Vz
T3V0OgotICAgICAgICByZXR1cm4gaGFuZGxlRm9jdXNPdXRFdmVudChyZWludGVycHJldF9jYXN0
PFFGb2N1c0V2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzT3V0RXZlbnQo
c3RhdGljX2Nhc3Q8UUZvY3VzRXZlbnQqPihldikpOwogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEJl
Z2luOgogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKICAgICBjYXNlIFFFdmVudDo6VG91Y2hV
cGRhdGU6CkBAIC0xNTQsMTIgKzE1NywxOSBAQCBib29sIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VNb3ZlRXZlbnQoUU1vdXNlRXZlbnQqIGV2KQogCiBib29sIFF0V2ViUGFnZUV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KFFNb3VzZUV2ZW50KiBldikKIHsKLSAg
ICBpZiAobV90cmlwbGVDbGlja1RpbWVyLmlzQWN0aXZlKCkgJiYgKGV2LT5wb3MoKSAtIG1fdHJp
cGxlQ2xpY2spLm1hbmhhdHRhbkxlbmd0aCgpIDwgcUFwcC0+c3R5bGVIaW50cygpLT5zdGFydERy
YWdEaXN0YW5jZSgpKSB7Ci0gICAgICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50
KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIC8qZXZlbnRDbGlja0NvdW50Ki8gMykpOwotICAgICAg
ICByZXR1cm4gZXYtPmlzQWNjZXB0ZWQoKTsKKyAgICBpZiAobV9jbGlja1RpbWVyLmlzQWN0aXZl
KCkKKyAgICAgICAgICAgICYmIG1fcHJldmlvdXNDbGlja0J1dHRvbiA9PSBldi0+YnV0dG9uKCkK
KyAgICAgICAgICAgICYmIChldi0+cG9zKCkgLSBtX2xhc3RDbGljaykubWFuaGF0dGFuTGVuZ3Ro
KCkgPCBxQXBwLT5zdHlsZUhpbnRzKCktPnN0YXJ0RHJhZ0Rpc3RhbmNlKCkpIHsKKyAgICAgICAg
bV9jbGlja0NvdW50Kys7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9jbGlja0NvdW50ID0gMTsK
KyAgICAgICAgbV9wcmV2aW91c0NsaWNrQnV0dG9uID0gZXYtPmJ1dHRvbigpOwogICAgIH0KIAot
ICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQo
ZXYsIC8qZXZlbnRDbGlja0NvdW50Ki8gMSkpOworICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVN
b3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIG1fY2xpY2tDb3VudCkpOworCisgICAg
bV9sYXN0Q2xpY2sgPSBldi0+cG9zKCk7CisgICAgbV9jbGlja1RpbWVyLnN0YXJ0KHFBcHAtPnN0
eWxlSGludHMoKS0+bW91c2VEb3VibGVDbGlja0ludGVydmFsKCksIHRoaXMpOwogICAgIHJldHVy
biBldi0+aXNBY2NlcHRlZCgpOwogfQogCkBAIC0xNjksMTUgKzE3OSw2IEBAIGJvb2wgUXRXZWJQ
YWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVJlbGVhc2VFdmVudChRTW91c2VFdmVudCogZXYp
CiAgICAgcmV0dXJuIGV2LT5pc0FjY2VwdGVkKCk7CiB9CiAKLWJvb2wgUXRXZWJQYWdlRXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZlbnQoUU1vdXNlRXZlbnQqIGV2KQotewot
ICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50KE5hdGl2ZVdlYk1vdXNlRXZlbnQo
ZXYsIC8qZXZlbnRDbGlja0NvdW50Ki8gMikpOwotCi0gICAgbV90cmlwbGVDbGlja1RpbWVyLnN0
YXJ0KHFBcHAtPnN0eWxlSGludHMoKS0+bW91c2VEb3VibGVDbGlja0ludGVydmFsKCksIHRoaXMp
OwotICAgIG1fdHJpcGxlQ2xpY2sgPSBldi0+bG9jYWxQb3MoKS50b1BvaW50KCk7Ci0gICAgcmV0
dXJuIGV2LT5pc0FjY2VwdGVkKCk7Ci19Ci0KIGJvb2wgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpo
YW5kbGVXaGVlbEV2ZW50KFFXaGVlbEV2ZW50KiBldikKIHsKICAgICBtX3dlYlBhZ2VQcm94eS0+
aGFuZGxlV2hlZWxFdmVudChOYXRpdmVXZWJXaGVlbEV2ZW50KGV2KSk7CkBAIC0yNzIsOCArMjcz
LDggQEAgdm9pZCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZURvdWJsZVRhcEV2ZW50KGNv
bnN0IFFUb3VjaEV2ZW50OjpUb3VjaFBvaW50Jgogdm9pZCBRdFdlYlBhZ2VFdmVudEhhbmRsZXI6
OnRpbWVyRXZlbnQoUVRpbWVyRXZlbnQqIGV2KQogewogICAgIGludCB0aW1lcklkID0gZXYtPnRp
bWVySWQoKTsKLSAgICBpZiAodGltZXJJZCA9PSBtX3RyaXBsZUNsaWNrVGltZXIudGltZXJJZCgp
KQotICAgICAgICBtX3RyaXBsZUNsaWNrVGltZXIuc3RvcCgpOworICAgIGlmICh0aW1lcklkID09
IG1fY2xpY2tUaW1lci50aW1lcklkKCkpCisgICAgICAgIG1fY2xpY2tUaW1lci5zdG9wKCk7CiAg
ICAgZWxzZQogICAgICAgICBRT2JqZWN0Ojp0aW1lckV2ZW50KGV2KTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuaAppbmRleCA4
ZTgwYmM3ZTZlMzBlZDAyN2QzNGI5NThlMTcwY2MwMmQyM2VmYjc0Li40ZjBlNjJjMTQ3ZTEwNDBi
MDYxMTg5N2VjMTEwM2Q3OTE3ZmMwNGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5oCkBAIC03Miw3ICs3Miw2IEBAIHByaXZh
dGU6CiAgICAgYm9vbCBoYW5kbGVNb3VzZU1vdmVFdmVudChRTW91c2VFdmVudCopOwogICAgIGJv
b2wgaGFuZGxlTW91c2VQcmVzc0V2ZW50KFFNb3VzZUV2ZW50Kik7CiAgICAgYm9vbCBoYW5kbGVN
b3VzZVJlbGVhc2VFdmVudChRTW91c2VFdmVudCopOwotICAgIGJvb2wgaGFuZGxlTW91c2VEb3Vi
bGVDbGlja0V2ZW50KFFNb3VzZUV2ZW50Kik7CiAgICAgYm9vbCBoYW5kbGVXaGVlbEV2ZW50KFFX
aGVlbEV2ZW50Kik7CiAgICAgYm9vbCBoYW5kbGVIb3ZlckxlYXZlRXZlbnQoUUhvdmVyRXZlbnQq
KTsKICAgICBib29sIGhhbmRsZUhvdmVyTW92ZUV2ZW50KFFIb3ZlckV2ZW50Kik7CkBAIC04NSw4
ICs4NCwxMCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB0b3VjaEV2ZW50KFFUb3VjaEV2ZW50Kik7
CiAKLSAgICBRUG9pbnQgbV90cmlwbGVDbGljazsKLSAgICBRQmFzaWNUaW1lciBtX3RyaXBsZUNs
aWNrVGltZXI7CisgICAgUVBvaW50IG1fbGFzdENsaWNrOworICAgIFFCYXNpY1RpbWVyIG1fY2xp
Y2tUaW1lcjsKKyAgICBRdDo6TW91c2VCdXR0b24gbV9wcmV2aW91c0NsaWNrQnV0dG9uOworICAg
IGludCBtX2NsaWNrQ291bnQ7CiB9OwogCiAjZW5kaWYgLyogUXRXZWJQYWdlRXZlbnRIYW5kbGVy
X2ggKi8KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCAwN2I2NmMyNzE5NzMwMWFkNGE1YjgxNDQ2ZmMxN2U5NjI3NGRlNzEyLi42NDk1NmRjODNmNjhl
ODUzNmU4ZDljZjdkNmJmNmQ3NjY3ZmFhMWQwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMTItMDYgIEh1Z28g
UGFyZW50ZSBMaW1hICA8aHVnby5saW1hQG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBD
bGljaydzIGNvdW50IGlzIGxpbWl0ZWQgdG8gdGhyZWUgY29udGludW91cyBjbGlja3MuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NTY2NgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBtX3RpbWUg
YXQgZXZlcnkgY2FsbCB0byBsZWFwRm9yd2FyZCwgc28gZGJsIGNsaWNrcworICAgICAgICBldmVu
dCBhcmUgY29ycmVjdGx5IHNlbnQgYnkgRXZlbnRTZW5kZXIuCisKKyAgICAgICAgKiBXZWJLaXRU
ZXN0UnVubmVyL3F0L0V2ZW50U2VuZGVyUHJveHlRdC5jcHA6CisgICAgICAgIChXVFI6OkV2ZW50
U2VuZGVyUHJveHk6OnVwZGF0ZUNsaWNrQ291bnRGb3JCdXR0b24pOgorICAgICAgICAoV1RSOjpF
dmVudFNlbmRlclByb3h5OjpsZWFwRm9yd2FyZCk6CisKIDIwMTEtMTItMDYgIEtlbnRhcm8gSGFy
YSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtSZWZhY3RvcmluZ10gSW4gd2Vi
a2l0cHkvYmluZGluZ3MvbWFpbi5weSwgcmVwbGFjZSBzdWJwcm9jZXNzLlBvcGVuKCkgd2l0aCBF
eGVjdXRpdmUKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvRXZlbnRTZW5k
ZXJQcm94eVF0LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvRXZlbnRTZW5kZXJQcm94
eVF0LmNwcAppbmRleCA5OGViNmM1ZmNhZWU0OTNjZGYwNTIxOTc2NWZmMTg1MGIxOWY2NDIzLi4z
ZDM4OTgwZWFiMTQ2ZjBmMTFmNDJiOWVkOTBkMmExNjk3MjY0ZmY5IDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL3F0L0V2ZW50U2VuZGVyUHJveHlRdC5jcHAKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9xdC9FdmVudFNlbmRlclByb3h5UXQuY3BwCkBAIC0yNDYsNyArMjQ2
LDcgQEAgdm9pZCBFdmVudFNlbmRlclByb3h5OjprZXlEb3duKFdLU3RyaW5nUmVmIGtleVJlZiwg
V0tFdmVudE1vZGlmaWVycyBtb2RpZmllcnNSZWYKIAogdm9pZCBFdmVudFNlbmRlclByb3h5Ojp1
cGRhdGVDbGlja0NvdW50Rm9yQnV0dG9uKGludCBidXR0b24pCiB7Ci0gICAgaWYgKG1fdGltZSAt
IG1fY2xpY2tUaW1lIDwgUUFwcGxpY2F0aW9uOjpkb3VibGVDbGlja0ludGVydmFsKCkgLyAxMDAw
LjAgJiYgbV9wb3NpdGlvbiA9PSBtX2NsaWNrUG9zaXRpb24gJiYgYnV0dG9uID09IG1fY2xpY2tC
dXR0b24pIHsKKyAgICBpZiAobV90aW1lIC0gbV9jbGlja1RpbWUgPCBRQXBwbGljYXRpb246OmRv
dWJsZUNsaWNrSW50ZXJ2YWwoKSAmJiBtX3Bvc2l0aW9uID09IG1fY2xpY2tQb3NpdGlvbiAmJiBi
dXR0b24gPT0gbV9jbGlja0J1dHRvbikgewogICAgICAgICArK21fY2xpY2tDb3VudDsKICAgICAg
ICAgbV9jbGlja1RpbWUgPSBtX3RpbWU7CiAgICAgICAgIHJldHVybjsKQEAgLTMwNiw2ICszMDYs
NyBAQCB2b2lkIEV2ZW50U2VuZGVyUHJveHk6Om1vdXNlU2Nyb2xsQnkoaW50LCBpbnQpCiB2b2lk
IEV2ZW50U2VuZGVyUHJveHk6OmxlYXBGb3J3YXJkKGludCBtcykKIHsKICAgICBldmVudFF1ZXVl
W2VuZE9mUXVldWVdLm1fZGVsYXkgPSBtczsKKyAgICBtX3RpbWUgKz0gbXM7CiB9CiAKICNpZiBF
TkFCTEUoVE9VQ0hfRVZFTlRTKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGUyMGMzNjMyNzQyN2IyYzA5YjBiYzllYmVkNGQx
OTM4MDA3NzUxNDMuLmYyYWE4ZTc3Y2QxYjAzODUzYzEzZGY1NmY5OWRhZDAwOTAzN2VkMzIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0xMi0wNiAgSHVnbyBQYXJlbnRlIExpbWEgIDxodWdv
LmxpbWFAb3BlbmJvc3NhLm9yZz4KKworICAgICAgICBbUXRdIENsaWNrJ3MgY291bnQgaXMgbGlt
aXRlZCB0byB0aHJlZSBjb250aW51b3VzIGNsaWNrcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NjY2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRW5hYmxlIGZhc3QvZXZlbnRzL2NsaWNrLWNvdW50Lmh0
bWwgZm9yIHF0IGFuZCBkaXNhYmxlIGZvciBxdC13azEuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9x
dC13azEvU2tpcHBlZDoKKyAgICAgICAgKiBwbGF0Zm9ybS9xdC9Ta2lwcGVkOgorCiAyMDExLTEy
LTA2ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0
XVtNYWNdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBQYWludCB0aGUgYm90IGdyZWVuIHNraXBwaW5n
IHdpdGggYWxsIGZhaWxpbmcgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC13azEvU2tpcHBlZCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMS9Ta2lwcGVkCmlu
ZGV4IDc1MjViMWY4NmVkNDM2NGM5ZTYzYjVmZWUwZThiYzQwMGI0MzgyMDAuLjljOTRiMzc2YTUz
MGU3MjFiMjRjNTEwZWIzYzI3ZWM4MjY4Y2M0YjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3F0LXdrMS9Ta2lwcGVkCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0LXdrMS9T
a2lwcGVkCkBAIC00LDYgKzQsMTAgQEAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTczMzY2CiBmYXN0L2V2ZW50cy9kb250LWxvb3NlLWxhc3QtZXZlbnQuaHRtbAog
CisjIFRoaXMgaGFzIGJlZW4gZml4ZWQgb25seSBvbiBxdC13azIKKyMgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ1NjY2CitmYXN0L2V2ZW50cy9jbGljay1jb3VudC5o
dG1sCisKICMgW1F0XSBodHRwL3Rlc3RzL21pc2MvZHJhZy1vdmVyLWlmcmFtZS1pbnZhbGlkLXNv
dXJjZS1jcmFzaC5odG1sIGFuZCBmYXN0L2V2ZW50cy9kcmFnLXNlbGVjdHMtaW1hZ2UuaHRtbCBm
YWlscyB3aXRoIHRpbWVvdXQKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTczOTAxCiBodHRwL3Rlc3RzL21pc2MvZHJhZy1vdmVyLWlmcmFtZS1pbnZhbGlkLXNvdXJj
ZS1jcmFzaC5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVk
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAppbmRleCA3OWJhOWRhNWQ1Y2M3YmQ4
NmI0MmQ2ZTZhMjg5NjJiZDU5Y2I1NjNiLi42ZTkyYTE0MDBiMmQ1YThmM2M1YWVhN2IwZWIyZjY2
ZjI5ZDlkYjExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKQEAgLTExMjgsNyArMTEyOCw2IEBA
IGZhc3QvZW5jb2RpbmcvR0JLL2lzby1pci01OC5odG1sCiBmYXN0L2VuY29kaW5nL0dCSy94LWV1
Yy1jbi5odG1sCiBmYXN0L2VuY29kaW5nL0dCSy94LWdiay5odG1sCiBmYXN0L2V2ZW50cy9hdXRv
c2Nyb2xsLmh0bWwKLWZhc3QvZXZlbnRzL2NsaWNrLWNvdW50Lmh0bWwKIGZhc3QvZXZlbnRzL2Nv
bnRlbnQtY2hhbmdlZC1kdXJpbmctZHJvcC5odG1sCiBmYXN0L2V2ZW50cy9qcy1rZXlib2FyZC1l
dmVudC1jcmVhdGlvbi5odG1sCiBmYXN0L2V2ZW50cy9rZXlwcmVzcy1pbnNlcnQtdGFiLmh0bWwK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118052</attachid>
            <date>2011-12-06 07:55:54 -0800</date>
            <delta_ts>2011-12-09 15:53:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-45666-20111206125511.patch</filename>
            <type>text/plain</type>
            <size>11623</size>
            <attacher name="Hugo Parente Lima">hugo.lima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODRkMjdhODhiZmRkYjA4
ZjczMzU4MDZjYWJkNGRiY2E2NjNkZjMzOC4uYzVlODM2ZTU3ZjYyZDU0ZjQ4YzkyYzdmNmEzMjMw
Y2YwMjk2MDUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTA2ICBIdWdv
IFBhcmVudGUgTGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtRdF0g
Q2xpY2sncyBjb3VudCBpcyBsaW1pdGVkIHRvIHRocmVlIGNvbnRpbnVvdXMgY2xpY2tzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2NjYKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIFF0IHJlY29n
bml6ZSAiaW5maW5pdGUiIGNvbnRpbnVvdXMgbW91c2UgY2xpY2tzLgorICAgICAgICBoYW5kbGVN
b3VzZURvdWJsZUNsaWNrRXZlbnQgbWVyZ2VkIGludG8gaGFuZGxlTW91c2VQcmVzc0V2ZW50Lgor
CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OlF0V2ViUGFnZUV2ZW50SGFuZGxlcik6CisgICAg
ICAgIChRdFdlYlBhZ2VFdmVudEhhbmRsZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKFF0V2Vi
UGFnZUV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KToKKyAgICAgICAgKFF0V2Vi
UGFnZUV2ZW50SGFuZGxlcjo6dGltZXJFdmVudCk6CisgICAgICAgICogVUlQcm9jZXNzL3F0L1F0
V2ViUGFnZUV2ZW50SGFuZGxlci5oOgorCiAyMDExLTEyLTA2ICBBbGV4YW5kZXIgRsOmcsO4eSAg
PGFsZXhhbmRlci5mYWVyb3lAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IGFzc2VydGlv
biBpbiBRdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9xdC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCmluZGV4IDZiMWZiNWQwYTM4
OTkyYWQwMjhlMjU0NzY3MjE0YzQ5Y2UyNzMzNjYuLjY5MmNlN2U5N2M3YWQ1MDJlZDVhZDc3NmE5
NDE2N2ZlYmEwZDRhMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9xdC9R
dFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuY3BwCkBAIC04Myw2ICs4Myw4IEBAIFF0V2ViUGFnZUV2
ZW50SGFuZGxlcjo6UXRXZWJQYWdlRXZlbnRIYW5kbGVyKFdLUGFnZVJlZiBwYWdlUmVmLCBXZWJL
aXQ6OlF0Vmlld3BvCiAgICAgLCBtX3Bhbkdlc3R1cmVSZWNvZ25pemVyKHRoaXMpCiAgICAgLCBt
X3BpbmNoR2VzdHVyZVJlY29nbml6ZXIodGhpcykKICAgICAsIG1fdGFwR2VzdHVyZVJlY29nbml6
ZXIodGhpcykKKyAgICAsIG1fcHJldmlvdXNDbGlja0J1dHRvbihRdDo6Tm9CdXR0b24pCisgICAg
LCBtX2NsaWNrQ291bnQoMCkKIHsKIH0KIApAQCAtOTQsMzYgKzk2LDM3IEBAIGJvb2wgUXRXZWJQ
YWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVFdmVudChRRXZlbnQqIGV2KQogewogICAgIHN3aXRjaCAo
ZXYtPnR5cGUoKSkgewogICAgIGNhc2UgUUV2ZW50OjpNb3VzZU1vdmU6Ci0gICAgICAgIHJldHVy
biBoYW5kbGVNb3VzZU1vdmVFdmVudChyZWludGVycHJldF9jYXN0PFFNb3VzZUV2ZW50Kj4oZXYp
KTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlTW92ZUV2ZW50KHN0YXRpY19jYXN0PFFNb3Vz
ZUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25QcmVzczoKLSAgICAg
ICAgcmV0dXJuIGhhbmRsZU1vdXNlUHJlc3NFdmVudChyZWludGVycHJldF9jYXN0PFFNb3VzZUV2
ZW50Kj4oZXYpKTsKLSAgICBjYXNlIFFFdmVudDo6TW91c2VCdXR0b25SZWxlYXNlOgotICAgICAg
ICByZXR1cm4gaGFuZGxlTW91c2VSZWxlYXNlRXZlbnQocmVpbnRlcnByZXRfY2FzdDxRTW91c2VF
dmVudCo+KGV2KSk7CiAgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uRGJsQ2xpY2s6Ci0gICAg
ICAgIHJldHVybiBoYW5kbGVNb3VzZURvdWJsZUNsaWNrRXZlbnQocmVpbnRlcnByZXRfY2FzdDxR
TW91c2VFdmVudCo+KGV2KSk7CisgICAgICAgIC8vIElmIGEgTW91c2VCdXR0b25EYmxDbGljayB3
YXMgcmVjZWl2ZWQgdGhlbiB3ZSBnb3QgYSBNb3VzZUJ1dHRvblByZXNzIGJlZm9yZQorICAgICAg
ICAvLyBoYW5kbGVNb3VzZVByZXNzRXZlbnQgd2lsbCB0YWtlIGNhcmUgb2YgZG91YmxlIGNsaWNr
cy4KKyAgICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlUHJlc3NFdmVudChzdGF0aWNfY2FzdDxRTW91
c2VFdmVudCo+KGV2KSk7CisgICAgY2FzZSBRRXZlbnQ6Ok1vdXNlQnV0dG9uUmVsZWFzZToKKyAg
ICAgICAgcmV0dXJuIGhhbmRsZU1vdXNlUmVsZWFzZUV2ZW50KHN0YXRpY19jYXN0PFFNb3VzZUV2
ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6V2hlZWw6Ci0gICAgICAgIHJldHVybiBoYW5k
bGVXaGVlbEV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8UVdoZWVsRXZlbnQqPihldikpOworICAgICAg
ICByZXR1cm4gaGFuZGxlV2hlZWxFdmVudChzdGF0aWNfY2FzdDxRV2hlZWxFdmVudCo+KGV2KSk7
CiAgICAgY2FzZSBRRXZlbnQ6OkhvdmVyTGVhdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVIb3Zl
ckxlYXZlRXZlbnQocmVpbnRlcnByZXRfY2FzdDxRSG92ZXJFdmVudCo+KGV2KSk7CisgICAgICAg
IHJldHVybiBoYW5kbGVIb3ZlckxlYXZlRXZlbnQoc3RhdGljX2Nhc3Q8UUhvdmVyRXZlbnQqPihl
dikpOwogICAgIGNhc2UgUUV2ZW50OjpIb3ZlckVudGVyOiAvLyBGYWxsLXRocm91Z2gsIGZvciBX
ZWJLaXQgdGhlIGRpc3RpbmN0aW9uIGRvZXNuJ3QgbWF0dGVyLgogICAgIGNhc2UgUUV2ZW50OjpI
b3Zlck1vdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVIb3Zlck1vdmVFdmVudChyZWludGVycHJl
dF9jYXN0PFFIb3ZlckV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUhvdmVyTW92
ZUV2ZW50KHN0YXRpY19jYXN0PFFIb3ZlckV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
RHJhZ0VudGVyOgotICAgICAgICByZXR1cm4gaGFuZGxlRHJhZ0VudGVyRXZlbnQocmVpbnRlcnBy
ZXRfY2FzdDxRRHJhZ0VudGVyRXZlbnQqPihldikpOworICAgICAgICByZXR1cm4gaGFuZGxlRHJh
Z0VudGVyRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdFbnRlckV2ZW50Kj4oZXYpKTsKICAgICBjYXNl
IFFFdmVudDo6RHJhZ0xlYXZlOgotICAgICAgICByZXR1cm4gaGFuZGxlRHJhZ0xlYXZlRXZlbnQo
cmVpbnRlcnByZXRfY2FzdDxRRHJhZ0xlYXZlRXZlbnQqPihldikpOworICAgICAgICByZXR1cm4g
aGFuZGxlRHJhZ0xlYXZlRXZlbnQoc3RhdGljX2Nhc3Q8UURyYWdMZWF2ZUV2ZW50Kj4oZXYpKTsK
ICAgICBjYXNlIFFFdmVudDo6RHJhZ01vdmU6Ci0gICAgICAgIHJldHVybiBoYW5kbGVEcmFnTW92
ZUV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8UURyYWdNb3ZlRXZlbnQqPihldikpOworICAgICAgICBy
ZXR1cm4gaGFuZGxlRHJhZ01vdmVFdmVudChzdGF0aWNfY2FzdDxRRHJhZ01vdmVFdmVudCo+KGV2
KSk7CiAgICAgY2FzZSBRRXZlbnQ6OkRyb3A6Ci0gICAgICAgIHJldHVybiBoYW5kbGVEcm9wRXZl
bnQocmVpbnRlcnByZXRfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhh
bmRsZURyb3BFdmVudChzdGF0aWNfY2FzdDxRRHJvcEV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFF
dmVudDo6S2V5UHJlc3M6Ci0gICAgICAgIHJldHVybiBoYW5kbGVLZXlQcmVzc0V2ZW50KHJlaW50
ZXJwcmV0X2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUtleVBy
ZXNzRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
S2V5UmVsZWFzZToKLSAgICAgICAgcmV0dXJuIGhhbmRsZUtleVJlbGVhc2VFdmVudChyZWludGVy
cHJldF9jYXN0PFFLZXlFdmVudCo+KGV2KSk7CisgICAgICAgIHJldHVybiBoYW5kbGVLZXlSZWxl
YXNlRXZlbnQoc3RhdGljX2Nhc3Q8UUtleUV2ZW50Kj4oZXYpKTsKICAgICBjYXNlIFFFdmVudDo6
Rm9jdXNJbjoKLSAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzSW5FdmVudChyZWludGVycHJldF9j
YXN0PFFGb2N1c0V2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzSW5FdmVu
dChzdGF0aWNfY2FzdDxRRm9jdXNFdmVudCo+KGV2KSk7CiAgICAgY2FzZSBRRXZlbnQ6OkZvY3Vz
T3V0OgotICAgICAgICByZXR1cm4gaGFuZGxlRm9jdXNPdXRFdmVudChyZWludGVycHJldF9jYXN0
PFFGb2N1c0V2ZW50Kj4oZXYpKTsKKyAgICAgICAgcmV0dXJuIGhhbmRsZUZvY3VzT3V0RXZlbnQo
c3RhdGljX2Nhc3Q8UUZvY3VzRXZlbnQqPihldikpOwogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEJl
Z2luOgogICAgIGNhc2UgUUV2ZW50OjpUb3VjaEVuZDoKICAgICBjYXNlIFFFdmVudDo6VG91Y2hV
cGRhdGU6CkBAIC0xNTQsMTIgKzE1NywxOSBAQCBib29sIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VNb3ZlRXZlbnQoUU1vdXNlRXZlbnQqIGV2KQogCiBib29sIFF0V2ViUGFnZUV2
ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KFFNb3VzZUV2ZW50KiBldikKIHsKLSAg
ICBpZiAobV90cmlwbGVDbGlja1RpbWVyLmlzQWN0aXZlKCkgJiYgKGV2LT5wb3MoKSAtIG1fdHJp
cGxlQ2xpY2spLm1hbmhhdHRhbkxlbmd0aCgpIDwgcUFwcC0+c3R5bGVIaW50cygpLT5zdGFydERy
YWdEaXN0YW5jZSgpKSB7Ci0gICAgICAgIG1fd2ViUGFnZVByb3h5LT5oYW5kbGVNb3VzZUV2ZW50
KE5hdGl2ZVdlYk1vdXNlRXZlbnQoZXYsIC8qZXZlbnRDbGlja0NvdW50Ki8gMykpOwotICAgICAg
ICByZXR1cm4gZXYtPmlzQWNjZXB0ZWQoKTsKKyAgICBpZiAobV9jbGlja1RpbWVyLmlzQWN0aXZl
KCkKKyAgICAgICAgJiYgbV9wcmV2aW91c0NsaWNrQnV0dG9uID09IGV2LT5idXR0b24oKQorICAg
ICAgICAmJiAoZXYtPnBvcygpIC0gbV9sYXN0Q2xpY2spLm1hbmhhdHRhbkxlbmd0aCgpIDwgcUFw
cC0+c3R5bGVIaW50cygpLT5zdGFydERyYWdEaXN0YW5jZSgpKSB7CisgICAgICAgIG1fY2xpY2tD
b3VudCsrOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fY2xpY2tDb3VudCA9IDE7CisgICAgICAg
IG1fcHJldmlvdXNDbGlja0J1dHRvbiA9IGV2LT5idXR0b24oKTsKICAgICB9CiAKLSAgICBtX3dl
YlBhZ2VQcm94eS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAvKmV2
ZW50Q2xpY2tDb3VudCovIDEpKTsKKyAgICBtX3dlYlBhZ2VQcm94eS0+aGFuZGxlTW91c2VFdmVu
dChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCBtX2NsaWNrQ291bnQpKTsKKworICAgIG1fbGFzdENs
aWNrID0gZXYtPnBvcygpOworICAgIG1fY2xpY2tUaW1lci5zdGFydChxQXBwLT5zdHlsZUhpbnRz
KCktPm1vdXNlRG91YmxlQ2xpY2tJbnRlcnZhbCgpLCB0aGlzKTsKICAgICByZXR1cm4gZXYtPmlz
QWNjZXB0ZWQoKTsKIH0KIApAQCAtMTY5LDE1ICsxNzksNiBAQCBib29sIFF0V2ViUGFnZUV2ZW50
SGFuZGxlcjo6aGFuZGxlTW91c2VSZWxlYXNlRXZlbnQoUU1vdXNlRXZlbnQqIGV2KQogICAgIHJl
dHVybiBldi0+aXNBY2NlcHRlZCgpOwogfQogCi1ib29sIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6
aGFuZGxlTW91c2VEb3VibGVDbGlja0V2ZW50KFFNb3VzZUV2ZW50KiBldikKLXsKLSAgICBtX3dl
YlBhZ2VQcm94eS0+aGFuZGxlTW91c2VFdmVudChOYXRpdmVXZWJNb3VzZUV2ZW50KGV2LCAvKmV2
ZW50Q2xpY2tDb3VudCovIDIpKTsKLQotICAgIG1fdHJpcGxlQ2xpY2tUaW1lci5zdGFydChxQXBw
LT5zdHlsZUhpbnRzKCktPm1vdXNlRG91YmxlQ2xpY2tJbnRlcnZhbCgpLCB0aGlzKTsKLSAgICBt
X3RyaXBsZUNsaWNrID0gZXYtPmxvY2FsUG9zKCkudG9Qb2ludCgpOwotICAgIHJldHVybiBldi0+
aXNBY2NlcHRlZCgpOwotfQotCiBib29sIFF0V2ViUGFnZUV2ZW50SGFuZGxlcjo6aGFuZGxlV2hl
ZWxFdmVudChRV2hlZWxFdmVudCogZXYpCiB7CiAgICAgbV93ZWJQYWdlUHJveHktPmhhbmRsZVdo
ZWVsRXZlbnQoTmF0aXZlV2ViV2hlZWxFdmVudChldikpOwpAQCAtMjcyLDggKzI3Myw4IEBAIHZv
aWQgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjpoYW5kbGVEb3VibGVUYXBFdmVudChjb25zdCBRVG91
Y2hFdmVudDo6VG91Y2hQb2ludCYKIHZvaWQgUXRXZWJQYWdlRXZlbnRIYW5kbGVyOjp0aW1lckV2
ZW50KFFUaW1lckV2ZW50KiBldikKIHsKICAgICBpbnQgdGltZXJJZCA9IGV2LT50aW1lcklkKCk7
Ci0gICAgaWYgKHRpbWVySWQgPT0gbV90cmlwbGVDbGlja1RpbWVyLnRpbWVySWQoKSkKLSAgICAg
ICAgbV90cmlwbGVDbGlja1RpbWVyLnN0b3AoKTsKKyAgICBpZiAodGltZXJJZCA9PSBtX2NsaWNr
VGltZXIudGltZXJJZCgpKQorICAgICAgICBtX2NsaWNrVGltZXIuc3RvcCgpOwogICAgIGVsc2UK
ICAgICAgICAgUU9iamVjdDo6dGltZXJFdmVudChldik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvcXQvUXRXZWJQYWdlRXZlbnRIYW5kbGVyLmgKaW5kZXggOGU4MGJjN2U2
ZTMwZWQwMjdkMzRiOTU4ZTE3MGNjMDJkMjNlZmI3NC4uNGYwZTYyYzE0N2UxMDQwYjA2MTE4OTdl
YzExMDNkNzkxN2ZjMDRjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL3F0
L1F0V2ViUGFnZUV2ZW50SGFuZGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9x
dC9RdFdlYlBhZ2VFdmVudEhhbmRsZXIuaApAQCAtNzIsNyArNzIsNiBAQCBwcml2YXRlOgogICAg
IGJvb2wgaGFuZGxlTW91c2VNb3ZlRXZlbnQoUU1vdXNlRXZlbnQqKTsKICAgICBib29sIGhhbmRs
ZU1vdXNlUHJlc3NFdmVudChRTW91c2VFdmVudCopOwogICAgIGJvb2wgaGFuZGxlTW91c2VSZWxl
YXNlRXZlbnQoUU1vdXNlRXZlbnQqKTsKLSAgICBib29sIGhhbmRsZU1vdXNlRG91YmxlQ2xpY2tF
dmVudChRTW91c2VFdmVudCopOwogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChRV2hlZWxFdmVu
dCopOwogICAgIGJvb2wgaGFuZGxlSG92ZXJMZWF2ZUV2ZW50KFFIb3ZlckV2ZW50Kik7CiAgICAg
Ym9vbCBoYW5kbGVIb3Zlck1vdmVFdmVudChRSG92ZXJFdmVudCopOwpAQCAtODUsOCArODQsMTAg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdG91Y2hFdmVudChRVG91Y2hFdmVudCopOwogCi0gICAg
UVBvaW50IG1fdHJpcGxlQ2xpY2s7Ci0gICAgUUJhc2ljVGltZXIgbV90cmlwbGVDbGlja1RpbWVy
OworICAgIFFQb2ludCBtX2xhc3RDbGljazsKKyAgICBRQmFzaWNUaW1lciBtX2NsaWNrVGltZXI7
CisgICAgUXQ6Ok1vdXNlQnV0dG9uIG1fcHJldmlvdXNDbGlja0J1dHRvbjsKKyAgICBpbnQgbV9j
bGlja0NvdW50OwogfTsKIAogI2VuZGlmIC8qIFF0V2ViUGFnZUV2ZW50SGFuZGxlcl9oICovCmRp
ZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggMDdiNjZj
MjcxOTczMDFhZDRhNWI4MTQ0NmZjMTdlOTYyNzRkZTcxMi4uMjc5YzkxYmU0MjEyOTIyNDdlYWY3
M2Q4MGQ5ZjcwMWFhMTZmYmU5ZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rv
b2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTEyLTA2ICBIdWdvIFBhcmVudGUg
TGltYSAgPGh1Z28ubGltYUBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFtRdF0gQ2xpY2sncyBj
b3VudCBpcyBsaW1pdGVkIHRvIHRocmVlIGNvbnRpbnVvdXMgY2xpY2tzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDU2NjYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgbV90aW1lIGF0IGV2ZXJ5
IGNhbGwgdG8gbGVhcEZvcndhcmQsIHNvIGRvdWJsZSBjbGlja3MKKyAgICAgICAgZXZlbnQgYXJl
IGNvcnJlY3RseSBzZW50IGJ5IEV2ZW50U2VuZGVyLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9xdC9FdmVudFNlbmRlclByb3h5UXQuY3BwOgorICAgICAgICAoV1RSOjpFdmVudFNlbmRl
clByb3h5Ojp1cGRhdGVDbGlja0NvdW50Rm9yQnV0dG9uKToKKyAgICAgICAgKFdUUjo6RXZlbnRT
ZW5kZXJQcm94eTo6bGVhcEZvcndhcmQpOgorCiAyMDExLTEyLTA2ICBLZW50YXJvIEhhcmEgIDxo
YXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUmVmYWN0b3JpbmddIEluIHdlYmtpdHB5
L2JpbmRpbmdzL21haW4ucHksIHJlcGxhY2Ugc3VicHJvY2Vzcy5Qb3BlbigpIHdpdGggRXhlY3V0
aXZlCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L0V2ZW50U2VuZGVyUHJv
eHlRdC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL3F0L0V2ZW50U2VuZGVyUHJveHlRdC5j
cHAKaW5kZXggOThlYjZjNWZjYWVlNDkzY2RmMDUyMTk3NjVmZjE4NTBiMTlmNjQyMy4uM2QzODk4
MGVhYjE0NmYwZjExZjQyYjllZDkwZDJhMTY5NzI2NGZmOSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9xdC9FdmVudFNlbmRlclByb3h5UXQuY3BwCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvcXQvRXZlbnRTZW5kZXJQcm94eVF0LmNwcApAQCAtMjQ2LDcgKzI0Niw3IEBA
IHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6a2V5RG93bihXS1N0cmluZ1JlZiBrZXlSZWYsIFdLRXZl
bnRNb2RpZmllcnMgbW9kaWZpZXJzUmVmCiAKIHZvaWQgRXZlbnRTZW5kZXJQcm94eTo6dXBkYXRl
Q2xpY2tDb3VudEZvckJ1dHRvbihpbnQgYnV0dG9uKQogewotICAgIGlmIChtX3RpbWUgLSBtX2Ns
aWNrVGltZSA8IFFBcHBsaWNhdGlvbjo6ZG91YmxlQ2xpY2tJbnRlcnZhbCgpIC8gMTAwMC4wICYm
IG1fcG9zaXRpb24gPT0gbV9jbGlja1Bvc2l0aW9uICYmIGJ1dHRvbiA9PSBtX2NsaWNrQnV0dG9u
KSB7CisgICAgaWYgKG1fdGltZSAtIG1fY2xpY2tUaW1lIDwgUUFwcGxpY2F0aW9uOjpkb3VibGVD
bGlja0ludGVydmFsKCkgJiYgbV9wb3NpdGlvbiA9PSBtX2NsaWNrUG9zaXRpb24gJiYgYnV0dG9u
ID09IG1fY2xpY2tCdXR0b24pIHsKICAgICAgICAgKyttX2NsaWNrQ291bnQ7CiAgICAgICAgIG1f
Y2xpY2tUaW1lID0gbV90aW1lOwogICAgICAgICByZXR1cm47CkBAIC0zMDYsNiArMzA2LDcgQEAg
dm9pZCBFdmVudFNlbmRlclByb3h5Ojptb3VzZVNjcm9sbEJ5KGludCwgaW50KQogdm9pZCBFdmVu
dFNlbmRlclByb3h5OjpsZWFwRm9yd2FyZChpbnQgbXMpCiB7CiAgICAgZXZlbnRRdWV1ZVtlbmRP
ZlF1ZXVlXS5tX2RlbGF5ID0gbXM7CisgICAgbV90aW1lICs9IG1zOwogfQogCiAjaWYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMjBjMzYzMjc0MjdiMmMwOWIwYmM5ZWJlZDRkMTkzODAw
Nzc1MTQzLi5mMmFhOGU3N2NkMWIwMzg1M2MxM2RmNTZmOTlkYWQwMDkwMzdlZDMyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTEtMTItMDYgIEh1Z28gUGFyZW50ZSBMaW1hICA8aHVnby5saW1h
QG9wZW5ib3NzYS5vcmc+CisKKyAgICAgICAgW1F0XSBDbGljaydzIGNvdW50IGlzIGxpbWl0ZWQg
dG8gdGhyZWUgY29udGludW91cyBjbGlja3MuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTY2NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEVuYWJsZSBmYXN0L2V2ZW50cy9jbGljay1jb3VudC5odG1sIGZv
ciBxdCBhbmQgZGlzYWJsZSBmb3IgcXQtd2sxLgorCisgICAgICAgICogcGxhdGZvcm0vcXQtd2sx
L1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vcXQvU2tpcHBlZDoKKwogMjAxMS0xMi0wNiAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF1bTWFj
XSBVbnJldmlld2VkIGdhcmRlbmluZy4gUGFpbnQgdGhlIGJvdCBncmVlbiBza2lwcGluZyB3aXRo
IGFsbCBmYWlsaW5nIHRlc3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQt
d2sxL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azEvU2tpcHBlZAppbmRleCA3
NTI1YjFmODZlZDQzNjRjOWU2M2I1ZmVlMGU4YmM0MDBiNDM4MjAwLi45Yzk0YjM3NmE1MzBlNzIx
YjI0YzUxMGViM2MyN2VjODI2OGNjNGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9xdC13azEvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC13azEvU2tpcHBl
ZApAQCAtNCw2ICs0LDEwIEBACiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03MzM2NgogZmFzdC9ldmVudHMvZG9udC1sb29zZS1sYXN0LWV2ZW50Lmh0bWwKIAorIyBU
aGlzIGhhcyBiZWVuIGZpeGVkIG9ubHkgb24gcXQtd2syCisjIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00NTY2NgorZmFzdC9ldmVudHMvY2xpY2stY291bnQuaHRtbAor
CiAjIFtRdF0gaHR0cC90ZXN0cy9taXNjL2RyYWctb3Zlci1pZnJhbWUtaW52YWxpZC1zb3VyY2Ut
Y3Jhc2guaHRtbCBhbmQgZmFzdC9ldmVudHMvZHJhZy1zZWxlY3RzLWltYWdlLmh0bWwgZmFpbHMg
d2l0aCB0aW1lb3V0CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03
MzkwMQogaHR0cC90ZXN0cy9taXNjL2RyYWctb3Zlci1pZnJhbWUtaW52YWxpZC1zb3VyY2UtY3Jh
c2guaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL3F0L1NraXBwZWQKaW5kZXggNzliYTlkYTVkNWNjN2JkODZiNDJk
NmU2YTI4OTYyYmQ1OWNiNTYzYi4uNmU5MmExNDAwYjJkNWE4ZjNjNWFlYTdiMGViMmY2NmYyOWQ5
ZGIxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvU2tpcHBlZAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9Ta2lwcGVkCkBAIC0xMTI4LDcgKzExMjgsNiBAQCBmYXN0
L2VuY29kaW5nL0dCSy9pc28taXItNTguaHRtbAogZmFzdC9lbmNvZGluZy9HQksveC1ldWMtY24u
aHRtbAogZmFzdC9lbmNvZGluZy9HQksveC1nYmsuaHRtbAogZmFzdC9ldmVudHMvYXV0b3Njcm9s
bC5odG1sCi1mYXN0L2V2ZW50cy9jbGljay1jb3VudC5odG1sCiBmYXN0L2V2ZW50cy9jb250ZW50
LWNoYW5nZWQtZHVyaW5nLWRyb3AuaHRtbAogZmFzdC9ldmVudHMvanMta2V5Ym9hcmQtZXZlbnQt
Y3JlYXRpb24uaHRtbAogZmFzdC9ldmVudHMva2V5cHJlc3MtaW5zZXJ0LXRhYi5odG1sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>