<?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>68828</bug_id>
          
          <creation_ts>2011-09-26 12:50:46 -0700</creation_ts>
          <short_desc>DelayNode must set the context on delayTime AudioParam to support automation</short_desc>
          <delta_ts>2011-09-28 17:05:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Rogers">crogers</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>473311</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-26 12:50:46 -0700</bug_when>
    <thetext>DelayNode must set the context on delayTime AudioParam to support automation</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473586</commentid>
    <comment_count>1</comment_count>
      <attachid>108768</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-26 17:55:00 -0700</bug_when>
    <thetext>Created attachment 108768
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>473610</commentid>
    <comment_count>2</comment_count>
      <attachid>108768</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-26 18:26:16 -0700</bug_when>
    <thetext>Comment on attachment 108768
Patch

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

The change and tests look good but there&apos;s a cleanup I think you should make to the tests.

&gt; LayoutTests/webaudio/resources/delay-testing.js:4
&gt; +var toneBuffer;

These globals make the code difficult to understand. I think you should remove them. Suggestions below on how to do so.

&gt; LayoutTests/webaudio/resources/delay-testing.js:10
&gt; +function createToneBuffer(frequency, numberOfCycles, sampleRate) {

Change this to accept context as an argument.

&gt; LayoutTests/webaudio/resources/delay-testing.js:25
&gt; +function checkDelayedResult(event) {

Take the toneBuffer as an argument to this function and return a function taking the event:

function checkDelayedResult(toneBuffer) {
    return function(event) {
        // ...
    }
}

Then in the tests, set context.oncomplete = checkDelayedResult(toneBuffer).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475057</commentid>
    <comment_count>3</comment_count>
      <attachid>109082</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-28 16:02:31 -0700</bug_when>
    <thetext>Created attachment 109082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475061</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-28 16:05:36 -0700</bug_when>
    <thetext>Ken, thanks for having a look.

I&apos;ve refactored as you suggested...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475064</commentid>
    <comment_count>5</comment_count>
      <attachid>109082</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-09-28 16:08:59 -0700</bug_when>
    <thetext>Comment on attachment 109082
Patch

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

Looks good. Minor cleanup in the tests is still desired but feel free to do this upon landing the patch. r=me

&gt; LayoutTests/webaudio/delaynode-scheduling.html:18
&gt; +var context;

This doesn&apos;t need to be here.

&gt; LayoutTests/webaudio/delaynode-scheduling.html:29
&gt; +    context = new webkitAudioContext(1, sampleRate * renderLengthSeconds, sampleRate);

You can just use &quot;var context&quot; here.

&gt; LayoutTests/webaudio/delaynode.html:18
&gt;  var context;

Same change here -- no global variable needed.

&gt; LayoutTests/webaudio/delaynode.html:29
&gt;      context = new webkitAudioContext(1, sampleRate * renderLengthSeconds, sampleRate);

Can use local variable declaration here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>475092</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-09-28 17:05:08 -0700</bug_when>
    <thetext>Committed r96270: &lt;http://trac.webkit.org/changeset/96270&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108768</attachid>
            <date>2011-09-26 17:55:00 -0700</date>
            <delta_ts>2011-09-28 16:02:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68828-20110926175459.patch</filename>
            <type>text/plain</type>
            <size>9512</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOTUyOGNhZmI0NTc2ZjE2MTZlNmI1
OWRmY2QwY2RkMjg0NDdlNGI3Li5lZGYwMjMxNGRjOTc5YmE4MDU0Y2I3ODhiZjc0ZWI0N2NjNjc4
YTRmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMjYgIENocmlzIFJvZ2VycyAgPGNy
b2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBEZWxheU5vZGUgbXVzdCBzZXQgdGhlIGNvbnRl
eHQgb24gZGVsYXlUaW1lIEF1ZGlvUGFyYW0gdG8gc3VwcG9ydCBhdXRvbWF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViYXVkaW8vZGVsYXlu
b2RlLXNjaGVkdWxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9k
ZWxheW5vZGUtc2NoZWR1bGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWxh
eW5vZGUuaHRtbDoKKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvZGVsYXktdGVzdGluZy5q
czogQWRkZWQuCisgICAgICAgIChjcmVhdGVUb25lQnVmZmVyKToKKyAgICAgICAgKGNoZWNrRGVs
YXllZFJlc3VsdCk6CisKIDIwMTEtMDktMjMgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuIE5vcm1hbGl6ZSB0ZXN0IG5hbWVzLgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVsYXlub2RlLXNjaGVkdWxpbmctZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVsYXlub2RlLXNjaGVkdWxpbmctZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmExOTY1OGRjMTRlZDliMzk5MzMxNzdjYTk1NDQxYjcxOGY5
OWNkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUt
c2NoZWR1bGluZy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyB0aGF0IERlbGF5
Tm9kZSBkZWxheVRpbWUgcGFyYW1ldGVyIGNhbiBiZSBzY2hlZHVsZWQgYXQgYSBnaXZlbiB0aW1l
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKK1BBU1MgVGVzdCBzaWduYWwgd2FzIGNv
cnJlY3RseSBkZWxheWVkLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlbGF5bm9kZS1z
Y2hlZHVsaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGlu
Zy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU1MDZmODcxY2RiYjZiZDIxZDQwYmRhYTlhZTlhNzk3ODM5MzYx
YTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUtc2No
ZWR1bGluZy5odG1sCkBAIC0wLDAgKzEsNTMgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNl
cy9qcy10ZXN0LXN0eWxlLmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGVsYXkt
dGVzdGluZy5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8ZGl2IGlkPSJkZXNj
cmlwdGlvbiI+PC9kaXY+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rl
c2NyaXB0aW9uKCJUZXN0cyB0aGF0IERlbGF5Tm9kZSBkZWxheVRpbWUgcGFyYW1ldGVyIGNhbiBi
ZSBzY2hlZHVsZWQgYXQgYSBnaXZlbiB0aW1lLiIpOworCitmdW5jdGlvbiBydW5UZXN0KCkgewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorICAgIAorICAgIHdpbmRvdy5qc1Rlc3RJc0FzeW5jID0g
dHJ1ZTsKKyAgICAgICAgCisgICAgLy8gQ3JlYXRlIG9mZmxpbmUgYXVkaW8gY29udGV4dC4KKyAg
ICBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29udGV4dCgxLCBzYW1wbGVSYXRlICogcmVuZGVy
TGVuZ3RoU2Vjb25kcywgc2FtcGxlUmF0ZSk7CisgICAgdG9uZUJ1ZmZlciA9IGNyZWF0ZVRvbmVC
dWZmZXIoMjAsIDIwICogdG9uZUxlbmd0aFNlY29uZHMsIHNhbXBsZVJhdGUpOyAvLyAyMEh6IHRv
bmUKKyAgICAKKyAgICB2YXIgYnVmZmVyU291cmNlID0gY29udGV4dC5jcmVhdGVCdWZmZXJTb3Vy
Y2UoKTsKKyAgICBidWZmZXJTb3VyY2UuYnVmZmVyID0gdG9uZUJ1ZmZlcjsKKworICAgIHZhciBk
ZWxheSA9IGNvbnRleHQuY3JlYXRlRGVsYXlOb2RlKCk7CisgICAgCisgICAgLy8gU2NoZWR1bGUg
ZGVsYXkgdGltZSBhdCB0aW1lIHplcm8uCisgICAgZGVsYXkuZGVsYXlUaW1lLnNldFZhbHVlQXRU
aW1lKGRlbGF5VGltZVNlY29uZHMsIDApOworCisgICAgYnVmZmVyU291cmNlLmNvbm5lY3QoZGVs
YXkpOworICAgIGRlbGF5LmNvbm5lY3QoY29udGV4dC5kZXN0aW5hdGlvbik7CisgICAgYnVmZmVy
U291cmNlLm5vdGVPbigwKTsKKyAgICAKKyAgICBjb250ZXh0Lm9uY29tcGxldGUgPSBjaGVja0Rl
bGF5ZWRSZXN1bHQ7CisgICAgY29udGV4dC5zdGFydFJlbmRlcmluZygpOworfQorCitydW5UZXN0
KCk7CitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworCis8L3NjcmlwdD4KKworPHNjcmlwdCBz
cmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUu
aHRtbCBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlbGF5bm9kZS5odG1sCmluZGV4IGFiNjU5OTc1
YzA3YWVmM2M0MWRhODNhYjIxMzc5NDFmM2ZmYjc1NjIuLjQ5ODJiZjFjNGJkNTU3OGEyMzMzMjQz
MWI4NDFjODJkNGNhYzVkMTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlbGF5
bm9kZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlbGF5bm9kZS5odG1sCkBAIC00
LDYgKzQsNyBAQAogPGhlYWQ+CiA8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL2Zhc3Qv
anMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIi8+CiA8c2NyaXB0IHNyYz0iLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9kZWxheS10ZXN0aW5nLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIAogPGJvZHk+CkBAIC0x
NCw3NSArMTUsNiBAQAogPHNjcmlwdD4KIGRlc2NyaXB0aW9uKCJUZXN0cyBiYXNpYyBmdW5jdGlv
bmFsaXR5IG9mIERlbGF5Tm9kZS4iKTsKIAotdmFyIHNhbXBsZVJhdGUgPSA0NDEwMC4wOwotCi12
YXIgY29udGV4dDsKLXZhciB0b25lQnVmZmVyOwotCi12YXIgcmVuZGVyTGVuZ3RoU2Vjb25kcyA9
IDQ7Ci12YXIgZGVsYXlUaW1lU2Vjb25kcyA9IDAuNTsKLXZhciB0b25lTGVuZ3RoU2Vjb25kcyA9
IDI7Ci0KLWZ1bmN0aW9uIGNyZWF0ZVRvbmVCdWZmZXIoZnJlcXVlbmN5LCBudW1iZXJPZkN5Y2xl
cywgc2FtcGxlUmF0ZSkgewotICAgIHZhciBkdXJhdGlvbiA9IG51bWJlck9mQ3ljbGVzIC8gZnJl
cXVlbmN5OwotICAgIHZhciBzYW1wbGVGcmFtZUxlbmd0aCA9IGR1cmF0aW9uICogc2FtcGxlUmF0
ZTsKLSAgICAKLSAgICB2YXIgYXVkaW9CdWZmZXIgPSBjb250ZXh0LmNyZWF0ZUJ1ZmZlcigxLCBz
YW1wbGVGcmFtZUxlbmd0aCwgc2FtcGxlUmF0ZSk7Ci0KLSAgICB2YXIgbiA9IGF1ZGlvQnVmZmVy
Lmxlbmd0aDsKLSAgICB2YXIgZGF0YSA9IGF1ZGlvQnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwot
Ci0gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyArK2kpCi0gICAgICAgIGRhdGFbaV0gPSBNYXRo
LnNpbihmcmVxdWVuY3kgKiAyLjAqTWF0aC5QSSAqIGkgLyBzYW1wbGVSYXRlKTsKLQotICAgIHJl
dHVybiBhdWRpb0J1ZmZlcjsKLX0KLQotZnVuY3Rpb24gY2hlY2tEZWxheWVkUmVzdWx0KGV2ZW50
KSB7Ci0gICAgdmFyIHJlbmRlcmVkQnVmZmVyID0gZXZlbnQucmVuZGVyZWRCdWZmZXI7Ci0KLSAg
ICB2YXIgc291cmNlRGF0YSA9IHRvbmVCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7Ci0gICAgdmFy
IHJlbmRlcmVkRGF0YSA9IHJlbmRlcmVkQnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwotICAgIAot
ICAgIHZhciBkZWxheVRpbWVGcmFtZXMgPSBkZWxheVRpbWVTZWNvbmRzICogc2FtcGxlUmF0ZTsK
LSAgICB2YXIgdG9uZUxlbmd0aEZyYW1lcyA9IHRvbmVMZW5ndGhTZWNvbmRzICogc2FtcGxlUmF0
ZTsKLQotICAgIHZhciBzdWNjZXNzID0gdHJ1ZTsKLSAgICAKLSAgICB2YXIgbiA9IHJlbmRlcmVk
QnVmZmVyLmxlbmd0aDsKLSAgICAKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkgewot
ICAgICAgICBpZiAoaSA8IGRlbGF5VGltZUZyYW1lcykgewotICAgICAgICAgICAgLy8gQ2hlY2sg
dGhhdCBpbml0aWFsIHBvcnRpb24gaXMgMCAoc2luY2Ugc2lnbmFsIGlzIGRlbGF5ZWQpLgotICAg
ICAgICAgICAgaWYgKHJlbmRlcmVkRGF0YVtpXSAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgc3Vj
Y2VzcyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAg
ICAgICB9IGVsc2UgaWYgKGkgPj0gZGVsYXlUaW1lRnJhbWVzICYmIGkgPCBkZWxheVRpbWVGcmFt
ZXMgKyB0b25lTGVuZ3RoRnJhbWVzKSB7Ci0gICAgICAgICAgICAvLyBNYWtlIHN1cmUgdGhhdCB0
aGUgdG9uZSBkYXRhIGlzIGRlbGF5ZWQgYnkgZXhhY3RseSB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9m
IGZyYW1lcy4KLSAgICAgICAgICAgIHZhciBqID0gaSAtIGRlbGF5VGltZUZyYW1lczsKLSAgICAg
ICAgICAgIGlmIChyZW5kZXJlZERhdGFbaV0gIT0gc291cmNlRGF0YVtqXSkgewotICAgICAgICAg
ICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZl
IHNpbGVuY2UgYWZ0ZXIgdGhlIGRlbGF5ZWQgdG9uZS4KLSAgICAgICAgICAgIGlmIChyZW5kZXJl
ZERhdGFbaV0gIT0gMCkgewotICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKLSAgICAg
ICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSAgICAKLSAgICB9Ci0K
LSAgICBpZiAoc3VjY2VzcykgewotICAgICAgICB0ZXN0UGFzc2VkKCJUZXN0IHNpZ25hbCB3YXMg
Y29ycmVjdGx5IGRlbGF5ZWQuIik7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgdGVzdEZhaWxlZCgi
VGVzdCBzaWduYWwgd2FzIG5vdCBjb3JyZWN0bHkgZGVsYXllZC4iKTsKLSAgICB9Ci0KLSAgICBm
aW5pc2hKU1Rlc3QoKTsKLX0KLQogZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9k
ZWxheS10ZXN0aW5nLmpzIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vcmVzb3VyY2VzL2RlbGF5LXRl
c3RpbmcuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGQ0NmE2ZDIwMGU4ZTAxMjk0NjI0NmRhMmMzODYyN2Y1NTA0
MDE3YwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3dlYmF1ZGlvL3Jlc291cmNlcy9k
ZWxheS10ZXN0aW5nLmpzCkBAIC0wLDAgKzEsNjggQEAKK3ZhciBzYW1wbGVSYXRlID0gNDQxMDAu
MDsKKwordmFyIGNvbnRleHQ7Cit2YXIgdG9uZUJ1ZmZlcjsKKwordmFyIHJlbmRlckxlbmd0aFNl
Y29uZHMgPSA0OwordmFyIGRlbGF5VGltZVNlY29uZHMgPSAwLjU7Cit2YXIgdG9uZUxlbmd0aFNl
Y29uZHMgPSAyOworCitmdW5jdGlvbiBjcmVhdGVUb25lQnVmZmVyKGZyZXF1ZW5jeSwgbnVtYmVy
T2ZDeWNsZXMsIHNhbXBsZVJhdGUpIHsKKyAgICB2YXIgZHVyYXRpb24gPSBudW1iZXJPZkN5Y2xl
cyAvIGZyZXF1ZW5jeTsKKyAgICB2YXIgc2FtcGxlRnJhbWVMZW5ndGggPSBkdXJhdGlvbiAqIHNh
bXBsZVJhdGU7CisgICAgCisgICAgdmFyIGF1ZGlvQnVmZmVyID0gY29udGV4dC5jcmVhdGVCdWZm
ZXIoMSwgc2FtcGxlRnJhbWVMZW5ndGgsIHNhbXBsZVJhdGUpOworCisgICAgdmFyIG4gPSBhdWRp
b0J1ZmZlci5sZW5ndGg7CisgICAgdmFyIGRhdGEgPSBhdWRpb0J1ZmZlci5nZXRDaGFubmVsRGF0
YSgwKTsKKworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbjsgKytpKQorICAgICAgICBkYXRhW2ld
ID0gTWF0aC5zaW4oZnJlcXVlbmN5ICogMi4wKk1hdGguUEkgKiBpIC8gc2FtcGxlUmF0ZSk7CisK
KyAgICByZXR1cm4gYXVkaW9CdWZmZXI7Cit9CisKK2Z1bmN0aW9uIGNoZWNrRGVsYXllZFJlc3Vs
dChldmVudCkgeworICAgIHZhciByZW5kZXJlZEJ1ZmZlciA9IGV2ZW50LnJlbmRlcmVkQnVmZmVy
OworCisgICAgdmFyIHNvdXJjZURhdGEgPSB0b25lQnVmZmVyLmdldENoYW5uZWxEYXRhKDApOwor
ICAgIHZhciByZW5kZXJlZERhdGEgPSByZW5kZXJlZEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsK
KyAgICAKKyAgICB2YXIgZGVsYXlUaW1lRnJhbWVzID0gZGVsYXlUaW1lU2Vjb25kcyAqIHNhbXBs
ZVJhdGU7CisgICAgdmFyIHRvbmVMZW5ndGhGcmFtZXMgPSB0b25lTGVuZ3RoU2Vjb25kcyAqIHNh
bXBsZVJhdGU7CisKKyAgICB2YXIgc3VjY2VzcyA9IHRydWU7CisgICAgCisgICAgdmFyIG4gPSBy
ZW5kZXJlZEJ1ZmZlci5sZW5ndGg7CisgICAgCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyAr
K2kpIHsKKyAgICAgICAgaWYgKGkgPCBkZWxheVRpbWVGcmFtZXMpIHsKKyAgICAgICAgICAgIC8v
IENoZWNrIHRoYXQgaW5pdGlhbCBwb3J0aW9uIGlzIDAgKHNpbmNlIHNpZ25hbCBpcyBkZWxheWVk
KS4KKyAgICAgICAgICAgIGlmIChyZW5kZXJlZERhdGFbaV0gIT0gMCkgeworICAgICAgICAgICAg
ICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfSBlbHNlIGlmIChpID49IGRlbGF5VGltZUZyYW1lcyAmJiBpIDwgZGVsYXlU
aW1lRnJhbWVzICsgdG9uZUxlbmd0aEZyYW1lcykgeworICAgICAgICAgICAgLy8gTWFrZSBzdXJl
IHRoYXQgdGhlIHRvbmUgZGF0YSBpcyBkZWxheWVkIGJ5IGV4YWN0bHkgdGhlIGV4cGVjdGVkIG51
bWJlciBvZiBmcmFtZXMuCisgICAgICAgICAgICB2YXIgaiA9IGkgLSBkZWxheVRpbWVGcmFtZXM7
CisgICAgICAgICAgICBpZiAocmVuZGVyZWREYXRhW2ldICE9IHNvdXJjZURhdGFbal0pIHsKKyAg
ICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7CisgICAgICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAvLyBNYWtlIHN1cmUg
d2UgaGF2ZSBzaWxlbmNlIGFmdGVyIHRoZSBkZWxheWVkIHRvbmUuCisgICAgICAgICAgICBpZiAo
cmVuZGVyZWREYXRhW2ldICE9IDApIHsKKyAgICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisgICAgICAgIH0gICAgCisg
ICAgfQorCisgICAgaWYgKHN1Y2Nlc3MpIHsKKyAgICAgICAgdGVzdFBhc3NlZCgiVGVzdCBzaWdu
YWwgd2FzIGNvcnJlY3RseSBkZWxheWVkLiIpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RG
YWlsZWQoIlRlc3Qgc2lnbmFsIHdhcyBub3QgY29ycmVjdGx5IGRlbGF5ZWQuIik7CisgICAgfQor
CisgICAgZmluaXNoSlNUZXN0KCk7Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjNTllMGM0ODA0MGZlMjRk
MDM5NmQzYTc0ZDZiMGIyN2FhZGUxYy4uMjQwYzg5M2EzYTNhNTc0ZmU1NThmZGQ2N2ZmOWM0ZGE5
OWZiZjQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA5LTI2ICBDaHJpcyBS
b2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGVsYXlOb2RlIG11c3Qgc2V0
IHRoZSBjb250ZXh0IG9uIGRlbGF5VGltZSBBdWRpb1BhcmFtIHRvIHN1cHBvcnQgYXV0b21hdGlv
bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4MjgK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiB3
ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGluZy5odG1sCisKKyAgICAgICAgKiB3ZWJhdWRpby9E
ZWxheU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVsYXlOb2RlOjpEZWxheU5vZGUpOgor
CiAyMDExLTA5LTIzICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlhLmNvbT4K
IAogICAgICAgICBbR1RLXSBGaXggY29kaW5nIHN0eWxlIGlzc3VlcyBpbiBSZXNvdXJjZVJlcXVl
c3RTb3VwLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRGVsYXlOb2Rl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKaW5kZXggMjlmY2Vh
ZWRiMjI0MzE4MzRlY2VmYmVjYzQwYWFhN2M5ODRmOGRkNS4uYmYyZGVmNTllMTI3NzRiOTgxOGMx
MDUwNGMzZTNkNjBmN2E4MDgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8v
RGVsYXlOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9EZWxheU5vZGUuY3Bw
CkBAIC0zNCw2ICszNCw3IEBAIERlbGF5Tm9kZTo6RGVsYXlOb2RlKEF1ZGlvQ29udGV4dCogY29u
dGV4dCwgZG91YmxlIHNhbXBsZVJhdGUpCiAgICAgOiBBdWRpb0Jhc2ljUHJvY2Vzc29yTm9kZShj
b250ZXh0LCBzYW1wbGVSYXRlKQogewogICAgIG1fcHJvY2Vzc29yID0gYWRvcHRQdHIobmV3IERl
bGF5UHJvY2Vzc29yKHNhbXBsZVJhdGUsIDEpKTsgICAgCisgICAgZGVsYXlUaW1lKCktPnNldENv
bnRleHQoY29udGV4dCk7CiAgICAgc2V0VHlwZShOb2RlVHlwZURlbGF5KTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109082</attachid>
            <date>2011-09-28 16:02:31 -0700</date>
            <delta_ts>2011-09-28 16:08:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68828-20110928160231.patch</filename>
            <type>text/plain</type>
            <size>10430</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU4MzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhOTUyOGNhZmI0NTc2ZjE2MTZlNmI1
OWRmY2QwY2RkMjg0NDdlNGI3Li45YzBlZTM0MzJhMGNkZjQ5MGQwMTcxNjMxNWJiZGJhZDM3MDdk
YzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDktMjggIENocmlzIFJvZ2VycyAgPGNy
b2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBEZWxheU5vZGUgbXVzdCBzZXQgdGhlIGNvbnRl
eHQgb24gZGVsYXlUaW1lIEF1ZGlvUGFyYW0gdG8gc3VwcG9ydCBhdXRvbWF0aW9uCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODgyOAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViYXVkaW8vZGVsYXlu
b2RlLXNjaGVkdWxpbmctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9k
ZWxheW5vZGUtc2NoZWR1bGluZy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhdWRpby9kZWxh
eW5vZGUuaHRtbDoKKyAgICAgICAgKiB3ZWJhdWRpby9yZXNvdXJjZXMvZGVsYXktdGVzdGluZy5q
czogQWRkZWQuCisgICAgICAgIChjcmVhdGVUb25lQnVmZmVyKToKKyAgICAgICAgKGNoZWNrRGVs
YXllZFJlc3VsdC5yZXR1cm4udmFyKToKKyAgICAgICAgKGNoZWNrRGVsYXllZFJlc3VsdCk6CisK
IDIwMTEtMDktMjMgIElseWEgVGlraG9ub3Zza3kgIDxsb2lzbG9AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQuIE5vcm1hbGl6ZSB0ZXN0IG5hbWVzLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVsYXlub2RlLXNjaGVkdWxpbmctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvd2ViYXVkaW8vZGVsYXlub2RlLXNjaGVkdWxpbmctZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmExOTY1OGRjMTRlZDliMzk5MzMxNzdjYTk1NDQxYjcxOGY5OWNkNmYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGluZy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUZXN0cyB0aGF0IERlbGF5Tm9kZSBkZWxheVRpbWUg
cGFyYW1ldGVyIGNhbiBiZSBzY2hlZHVsZWQgYXQgYSBnaXZlbiB0aW1lLgorCitPbiBzdWNjZXNz
LCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAi
VEVTVCBDT01QTEVURSIuCisKK1BBU1MgVGVzdCBzaWduYWwgd2FzIGNvcnJlY3RseSBkZWxheWVk
LgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmF1ZGlvL2RlbGF5bm9kZS1zY2hlZHVsaW5nLmh0bWwg
Yi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGluZy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmFhZTAzZTQ0OWNjZjQ3NDE5Y2Q3YzRkNDUyNmI1NjkzNDFiY2IwMGUKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy93ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGluZy5odG1sCkBA
IC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorPGxpbmsg
cmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxl
LmNzcyIvPgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvZGVsYXktdGVzdGluZy5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorCis8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+
Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKworPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUZXN0
cyB0aGF0IERlbGF5Tm9kZSBkZWxheVRpbWUgcGFyYW1ldGVyIGNhbiBiZSBzY2hlZHVsZWQgYXQg
YSBnaXZlbiB0aW1lLiIpOworCit2YXIgY29udGV4dDsKKworZnVuY3Rpb24gcnVuVGVzdCgpIHsK
KyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgIH0KKyAgICAKKyAgICB3aW5kb3cuanNUZXN0SXNBc3luYyA9
IHRydWU7CisgICAgICAgIAorICAgIC8vIENyZWF0ZSBvZmZsaW5lIGF1ZGlvIGNvbnRleHQuCisg
ICAgY29udGV4dCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoMSwgc2FtcGxlUmF0ZSAqIHJlbmRl
ckxlbmd0aFNlY29uZHMsIHNhbXBsZVJhdGUpOworICAgIHZhciB0b25lQnVmZmVyID0gY3JlYXRl
VG9uZUJ1ZmZlcihjb250ZXh0LCAyMCwgMjAgKiB0b25lTGVuZ3RoU2Vjb25kcywgc2FtcGxlUmF0
ZSk7IC8vIDIwSHogdG9uZQorICAgIAorICAgIHZhciBidWZmZXJTb3VyY2UgPSBjb250ZXh0LmNy
ZWF0ZUJ1ZmZlclNvdXJjZSgpOworICAgIGJ1ZmZlclNvdXJjZS5idWZmZXIgPSB0b25lQnVmZmVy
OworCisgICAgdmFyIGRlbGF5ID0gY29udGV4dC5jcmVhdGVEZWxheU5vZGUoKTsKKyAgICAKKyAg
ICAvLyBTY2hlZHVsZSBkZWxheSB0aW1lIGF0IHRpbWUgemVyby4KKyAgICBkZWxheS5kZWxheVRp
bWUuc2V0VmFsdWVBdFRpbWUoZGVsYXlUaW1lU2Vjb25kcywgMCk7CisKKyAgICBidWZmZXJTb3Vy
Y2UuY29ubmVjdChkZWxheSk7CisgICAgZGVsYXkuY29ubmVjdChjb250ZXh0LmRlc3RpbmF0aW9u
KTsKKyAgICBidWZmZXJTb3VyY2Uubm90ZU9uKDApOworICAgIAorICAgIGNvbnRleHQub25jb21w
bGV0ZSA9IGNoZWNrRGVsYXllZFJlc3VsdCh0b25lQnVmZmVyKTsKKyAgICBjb250ZXh0LnN0YXJ0
UmVuZGVyaW5nKCk7Cit9CisKK3J1blRlc3QoKTsKK3N1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7
CisKKzwvc2NyaXB0PgorCis8c2NyaXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmF1ZGlvL2RlbGF5bm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVs
YXlub2RlLmh0bWwKaW5kZXggYWI2NTk5NzVjMDdhZWYzYzQxZGE4M2FiMjEzNzk0MWYzZmZiNzU2
Mi4uMTNlMjUzMGI5MTU0YzQxZmZmNzhiZTQ2ZjNkZDUwMjBhNDg3MjI5OSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvd2ViYXVkaW8vZGVsYXlub2RlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2Vi
YXVkaW8vZGVsYXlub2RlLmh0bWwKQEAgLTQsNiArNCw3IEBACiA8aGVhZD4KIDxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3Mi
Lz4KIDxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2RlbGF5LXRlc3RpbmcuanMiPjwvc2NyaXB0
PgogPC9oZWFkPgogCiA8Ym9keT4KQEAgLTE0LDc0ICsxNSw3IEBACiA8c2NyaXB0PgogZGVzY3Jp
cHRpb24oIlRlc3RzIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgRGVsYXlOb2RlLiIpOwogCi12YXIg
c2FtcGxlUmF0ZSA9IDQ0MTAwLjA7Ci0KIHZhciBjb250ZXh0OwotdmFyIHRvbmVCdWZmZXI7Ci0K
LXZhciByZW5kZXJMZW5ndGhTZWNvbmRzID0gNDsKLXZhciBkZWxheVRpbWVTZWNvbmRzID0gMC41
OwotdmFyIHRvbmVMZW5ndGhTZWNvbmRzID0gMjsKLQotZnVuY3Rpb24gY3JlYXRlVG9uZUJ1ZmZl
cihmcmVxdWVuY3ksIG51bWJlck9mQ3ljbGVzLCBzYW1wbGVSYXRlKSB7Ci0gICAgdmFyIGR1cmF0
aW9uID0gbnVtYmVyT2ZDeWNsZXMgLyBmcmVxdWVuY3k7Ci0gICAgdmFyIHNhbXBsZUZyYW1lTGVu
Z3RoID0gZHVyYXRpb24gKiBzYW1wbGVSYXRlOwotICAgIAotICAgIHZhciBhdWRpb0J1ZmZlciA9
IGNvbnRleHQuY3JlYXRlQnVmZmVyKDEsIHNhbXBsZUZyYW1lTGVuZ3RoLCBzYW1wbGVSYXRlKTsK
LQotICAgIHZhciBuID0gYXVkaW9CdWZmZXIubGVuZ3RoOwotICAgIHZhciBkYXRhID0gYXVkaW9C
dWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7Ci0KLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsr
aSkKLSAgICAgICAgZGF0YVtpXSA9IE1hdGguc2luKGZyZXF1ZW5jeSAqIDIuMCpNYXRoLlBJICog
aSAvIHNhbXBsZVJhdGUpOwotCi0gICAgcmV0dXJuIGF1ZGlvQnVmZmVyOwotfQotCi1mdW5jdGlv
biBjaGVja0RlbGF5ZWRSZXN1bHQoZXZlbnQpIHsKLSAgICB2YXIgcmVuZGVyZWRCdWZmZXIgPSBl
dmVudC5yZW5kZXJlZEJ1ZmZlcjsKLQotICAgIHZhciBzb3VyY2VEYXRhID0gdG9uZUJ1ZmZlci5n
ZXRDaGFubmVsRGF0YSgwKTsKLSAgICB2YXIgcmVuZGVyZWREYXRhID0gcmVuZGVyZWRCdWZmZXIu
Z2V0Q2hhbm5lbERhdGEoMCk7Ci0gICAgCi0gICAgdmFyIGRlbGF5VGltZUZyYW1lcyA9IGRlbGF5
VGltZVNlY29uZHMgKiBzYW1wbGVSYXRlOwotICAgIHZhciB0b25lTGVuZ3RoRnJhbWVzID0gdG9u
ZUxlbmd0aFNlY29uZHMgKiBzYW1wbGVSYXRlOwotCi0gICAgdmFyIHN1Y2Nlc3MgPSB0cnVlOwot
ICAgIAotICAgIHZhciBuID0gcmVuZGVyZWRCdWZmZXIubGVuZ3RoOwotICAgIAotICAgIGZvciAo
dmFyIGkgPSAwOyBpIDwgbjsgKytpKSB7Ci0gICAgICAgIGlmIChpIDwgZGVsYXlUaW1lRnJhbWVz
KSB7Ci0gICAgICAgICAgICAvLyBDaGVjayB0aGF0IGluaXRpYWwgcG9ydGlvbiBpcyAwIChzaW5j
ZSBzaWduYWwgaXMgZGVsYXllZCkuCi0gICAgICAgICAgICBpZiAocmVuZGVyZWREYXRhW2ldICE9
IDApIHsKLSAgICAgICAgICAgICAgICBzdWNjZXNzID0gZmFsc2U7Ci0gICAgICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAoaSA+PSBkZWxheVRpbWVG
cmFtZXMgJiYgaSA8IGRlbGF5VGltZUZyYW1lcyArIHRvbmVMZW5ndGhGcmFtZXMpIHsKLSAgICAg
ICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSB0b25lIGRhdGEgaXMgZGVsYXllZCBieSBleGFj
dGx5IHRoZSBleHBlY3RlZCBudW1iZXIgb2YgZnJhbWVzLgotICAgICAgICAgICAgdmFyIGogPSBp
IC0gZGVsYXlUaW1lRnJhbWVzOwotICAgICAgICAgICAgaWYgKHJlbmRlcmVkRGF0YVtpXSAhPSBz
b3VyY2VEYXRhW2pdKSB7Ci0gICAgICAgICAgICAgICAgc3VjY2VzcyA9IGZhbHNlOwotICAgICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAg
ICAgICAgLy8gTWFrZSBzdXJlIHdlIGhhdmUgc2lsZW5jZSBhZnRlciB0aGUgZGVsYXllZCB0b25l
LgotICAgICAgICAgICAgaWYgKHJlbmRlcmVkRGF0YVtpXSAhPSAwKSB7Ci0gICAgICAgICAgICAg
ICAgc3VjY2VzcyA9IGZhbHNlOwotICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAg
fQotICAgICAgICB9ICAgIAotICAgIH0KLQotICAgIGlmIChzdWNjZXNzKSB7Ci0gICAgICAgIHRl
c3RQYXNzZWQoIlRlc3Qgc2lnbmFsIHdhcyBjb3JyZWN0bHkgZGVsYXllZC4iKTsKLSAgICB9IGVs
c2UgewotICAgICAgICB0ZXN0RmFpbGVkKCJUZXN0IHNpZ25hbCB3YXMgbm90IGNvcnJlY3RseSBk
ZWxheWVkLiIpOwotICAgIH0KLQotICAgIGZpbmlzaEpTVGVzdCgpOwotfQogCiBmdW5jdGlvbiBy
dW5UZXN0KCkgewogICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKQEAgLTkz
LDcgKzI3LDcgQEAgZnVuY3Rpb24gcnVuVGVzdCgpIHsKICAgICAgICAgCiAgICAgLy8gQ3JlYXRl
IG9mZmxpbmUgYXVkaW8gY29udGV4dC4KICAgICBjb250ZXh0ID0gbmV3IHdlYmtpdEF1ZGlvQ29u
dGV4dCgxLCBzYW1wbGVSYXRlICogcmVuZGVyTGVuZ3RoU2Vjb25kcywgc2FtcGxlUmF0ZSk7Ci0g
ICAgdG9uZUJ1ZmZlciA9IGNyZWF0ZVRvbmVCdWZmZXIoMjAsIDIwICogdG9uZUxlbmd0aFNlY29u
ZHMsIHNhbXBsZVJhdGUpOyAvLyAyMEh6IHRvbmUKKyAgICB2YXIgdG9uZUJ1ZmZlciA9IGNyZWF0
ZVRvbmVCdWZmZXIoY29udGV4dCwgMjAsIDIwICogdG9uZUxlbmd0aFNlY29uZHMsIHNhbXBsZVJh
dGUpOyAvLyAyMEh6IHRvbmUKICAgICAKICAgICB2YXIgYnVmZmVyU291cmNlID0gY29udGV4dC5j
cmVhdGVCdWZmZXJTb3VyY2UoKTsKICAgICBidWZmZXJTb3VyY2UuYnVmZmVyID0gdG9uZUJ1ZmZl
cjsKQEAgLTEwNSw3ICszOSw3IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKSB7CiAgICAgZGVsYXkuY29u
bmVjdChjb250ZXh0LmRlc3RpbmF0aW9uKTsKICAgICBidWZmZXJTb3VyY2Uubm90ZU9uKDApOwog
ICAgIAotICAgIGNvbnRleHQub25jb21wbGV0ZSA9IGNoZWNrRGVsYXllZFJlc3VsdDsKKyAgICBj
b250ZXh0Lm9uY29tcGxldGUgPSBjaGVja0RlbGF5ZWRSZXN1bHQodG9uZUJ1ZmZlcik7CiAgICAg
Y29udGV4dC5zdGFydFJlbmRlcmluZygpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93
ZWJhdWRpby9yZXNvdXJjZXMvZGVsYXktdGVzdGluZy5qcyBiL0xheW91dFRlc3RzL3dlYmF1ZGlv
L3Jlc291cmNlcy9kZWxheS10ZXN0aW5nLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjZTQxNTBjMWFhMmI1MGI1
ODg3MmUyOTM0NmFhOGViY2E4YzY4NzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy93
ZWJhdWRpby9yZXNvdXJjZXMvZGVsYXktdGVzdGluZy5qcwpAQCAtMCwwICsxLDY3IEBACit2YXIg
c2FtcGxlUmF0ZSA9IDQ0MTAwLjA7CisKK3ZhciByZW5kZXJMZW5ndGhTZWNvbmRzID0gNDsKK3Zh
ciBkZWxheVRpbWVTZWNvbmRzID0gMC41OwordmFyIHRvbmVMZW5ndGhTZWNvbmRzID0gMjsKKwor
ZnVuY3Rpb24gY3JlYXRlVG9uZUJ1ZmZlcihjb250ZXh0LCBmcmVxdWVuY3ksIG51bWJlck9mQ3lj
bGVzLCBzYW1wbGVSYXRlKSB7CisgICAgdmFyIGR1cmF0aW9uID0gbnVtYmVyT2ZDeWNsZXMgLyBm
cmVxdWVuY3k7CisgICAgdmFyIHNhbXBsZUZyYW1lTGVuZ3RoID0gZHVyYXRpb24gKiBzYW1wbGVS
YXRlOworICAgIAorICAgIHZhciBhdWRpb0J1ZmZlciA9IGNvbnRleHQuY3JlYXRlQnVmZmVyKDEs
IHNhbXBsZUZyYW1lTGVuZ3RoLCBzYW1wbGVSYXRlKTsKKworICAgIHZhciBuID0gYXVkaW9CdWZm
ZXIubGVuZ3RoOworICAgIHZhciBkYXRhID0gYXVkaW9CdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7
CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47ICsraSkKKyAgICAgICAgZGF0YVtpXSA9IE1h
dGguc2luKGZyZXF1ZW5jeSAqIDIuMCpNYXRoLlBJICogaSAvIHNhbXBsZVJhdGUpOworCisgICAg
cmV0dXJuIGF1ZGlvQnVmZmVyOworfQorCitmdW5jdGlvbiBjaGVja0RlbGF5ZWRSZXN1bHQodG9u
ZUJ1ZmZlcikgeworICAgIHJldHVybiBmdW5jdGlvbihldmVudCkgeworICAgICAgICB2YXIgcmVu
ZGVyZWRCdWZmZXIgPSBldmVudC5yZW5kZXJlZEJ1ZmZlcjsKKworICAgICAgICB2YXIgc291cmNl
RGF0YSA9IHRvbmVCdWZmZXIuZ2V0Q2hhbm5lbERhdGEoMCk7CisgICAgICAgIHZhciByZW5kZXJl
ZERhdGEgPSByZW5kZXJlZEJ1ZmZlci5nZXRDaGFubmVsRGF0YSgwKTsKKyAgICAKKyAgICAgICAg
dmFyIGRlbGF5VGltZUZyYW1lcyA9IGRlbGF5VGltZVNlY29uZHMgKiBzYW1wbGVSYXRlOworICAg
ICAgICB2YXIgdG9uZUxlbmd0aEZyYW1lcyA9IHRvbmVMZW5ndGhTZWNvbmRzICogc2FtcGxlUmF0
ZTsKKworICAgICAgICB2YXIgc3VjY2VzcyA9IHRydWU7CisgICAgCisgICAgICAgIHZhciBuID0g
cmVuZGVyZWRCdWZmZXIubGVuZ3RoOworICAgIAorICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IG47ICsraSkgeworICAgICAgICAgICAgaWYgKGkgPCBkZWxheVRpbWVGcmFtZXMpIHsKKyAgICAg
ICAgICAgICAgICAvLyBDaGVjayB0aGF0IGluaXRpYWwgcG9ydGlvbiBpcyAwIChzaW5jZSBzaWdu
YWwgaXMgZGVsYXllZCkuCisgICAgICAgICAgICAgICAgaWYgKHJlbmRlcmVkRGF0YVtpXSAhPSAw
KSB7CisgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIGlmIChp
ID49IGRlbGF5VGltZUZyYW1lcyAmJiBpIDwgZGVsYXlUaW1lRnJhbWVzICsgdG9uZUxlbmd0aEZy
YW1lcykgeworICAgICAgICAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSB0b25lIGRhdGEg
aXMgZGVsYXllZCBieSBleGFjdGx5IHRoZSBleHBlY3RlZCBudW1iZXIgb2YgZnJhbWVzLgorICAg
ICAgICAgICAgICAgIHZhciBqID0gaSAtIGRlbGF5VGltZUZyYW1lczsKKyAgICAgICAgICAgICAg
ICBpZiAocmVuZGVyZWREYXRhW2ldICE9IHNvdXJjZURhdGFbal0pIHsKKyAgICAgICAgICAgICAg
ICAgICAgc3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIC8vIE1h
a2Ugc3VyZSB3ZSBoYXZlIHNpbGVuY2UgYWZ0ZXIgdGhlIGRlbGF5ZWQgdG9uZS4KKyAgICAgICAg
ICAgICAgICBpZiAocmVuZGVyZWREYXRhW2ldICE9IDApIHsKKyAgICAgICAgICAgICAgICAgICAg
c3VjY2VzcyA9IGZhbHNlOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9ICAgIAorICAgICAgICB9CisKKyAgICAgICAgaWYgKHN1Y2Nl
c3MpIHsKKyAgICAgICAgICAgIHRlc3RQYXNzZWQoIlRlc3Qgc2lnbmFsIHdhcyBjb3JyZWN0bHkg
ZGVsYXllZC4iKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoIlRl
c3Qgc2lnbmFsIHdhcyBub3QgY29ycmVjdGx5IGRlbGF5ZWQuIik7CisgICAgICAgIH0KKworICAg
ICAgICBmaW5pc2hKU1Rlc3QoKTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmVjNTllMGM0ODA0
MGZlMjRkMDM5NmQzYTc0ZDZiMGIyN2FhZGUxYy4uYjUwYzRmMWZhMWFjZjg0MjIxNDQzZGI2OGQy
MDMxYmRlZGI0Y2UxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA5LTI4ICBD
aHJpcyBSb2dlcnMgIDxjcm9nZXJzQGdvb2dsZS5jb20+CisKKyAgICAgICAgRGVsYXlOb2RlIG11
c3Qgc2V0IHRoZSBjb250ZXh0IG9uIGRlbGF5VGltZSBBdWRpb1BhcmFtIHRvIHN1cHBvcnQgYXV0
b21hdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njg4MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBU
ZXN0OiB3ZWJhdWRpby9kZWxheW5vZGUtc2NoZWR1bGluZy5odG1sCisKKyAgICAgICAgKiB3ZWJh
dWRpby9EZWxheU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVsYXlOb2RlOjpEZWxheU5v
ZGUpOgorCiAyMDExLTA5LTIzICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNhbmNoZXpAaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBGaXggY29kaW5nIHN0eWxlIGlzc3VlcyBpbiBSZXNvdXJj
ZVJlcXVlc3RTb3VwLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRGVs
YXlOb2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RlbGF5Tm9kZS5jcHAKaW5kZXgg
MjlmY2VhZWRiMjI0MzE4MzRlY2VmYmVjYzQwYWFhN2M5ODRmOGRkNS4uYmYyZGVmNTllMTI3NzRi
OTgxOGMxMDUwNGMzZTNkNjBmN2E4MDgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vRGVsYXlOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9EZWxheU5v
ZGUuY3BwCkBAIC0zNCw2ICszNCw3IEBAIERlbGF5Tm9kZTo6RGVsYXlOb2RlKEF1ZGlvQ29udGV4
dCogY29udGV4dCwgZG91YmxlIHNhbXBsZVJhdGUpCiAgICAgOiBBdWRpb0Jhc2ljUHJvY2Vzc29y
Tm9kZShjb250ZXh0LCBzYW1wbGVSYXRlKQogewogICAgIG1fcHJvY2Vzc29yID0gYWRvcHRQdHIo
bmV3IERlbGF5UHJvY2Vzc29yKHNhbXBsZVJhdGUsIDEpKTsgICAgCisgICAgZGVsYXlUaW1lKCkt
PnNldENvbnRleHQoY29udGV4dCk7CiAgICAgc2V0VHlwZShOb2RlVHlwZURlbGF5KTsKIH0KIAo=
</data>
<flag name="review"
          id="106216"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>