<?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>43047</bug_id>
          
          <creation_ts>2010-07-27 07:39:44 -0700</creation_ts>
          <short_desc>WebKitTestRunner waits forever if the web process crashes</short_desc>
          <delta_ts>2010-11-03 13:54:01 -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>Tools / Tests</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>43048</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>256579</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-27 07:39:44 -0700</bug_when>
    <thetext>If the web process crashes while running a test, WebKitTestRunner waits forever. We should detect when the process crashes, print some failure message, and move on to the next test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256582</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-07-27 07:42:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/8239456&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>265510</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-17 06:48:31 -0700</bug_when>
    <thetext>The hang seems not to happen anymore, perhaps due to r65267.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270714</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-27 13:48:43 -0700</bug_when>
    <thetext>Turns out this can still happen. One way I can make it reproduce:

1. Set a breakpoint in TestInvocation::invoke just before WKContextPostMessageToInjectedBundle is called
2. When the breakpoint is hit, kill the web process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>270715</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-08-27 13:49:13 -0700</bug_when>
    <thetext>Reopening due to the above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304217</commentid>
    <comment_count>5</comment_count>
      <attachid>72852</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-03 12:55:18 -0700</bug_when>
    <thetext>Created attachment 72852
Stop waiting for messages from the web process after a timeout elapses</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304262</commentid>
    <comment_count>6</comment_count>
      <attachid>72865</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-03 13:47:48 -0700</bug_when>
    <thetext>Created attachment 72865
Updated to make timeouts configurable</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304266</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-11-03 13:54:01 -0700</bug_when>
    <thetext>Committed r71263: &lt;http://trac.webkit.org/changeset/71263&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72852</attachid>
            <date>2010-11-03 12:55:18 -0700</date>
            <delta_ts>2010-11-03 13:47:42 -0700</delta_ts>
            <desc>Stop waiting for messages from the web process after a timeout elapses</desc>
            <filename>bug-43047-20101103155537.patch</filename>
            <type>text/plain</type>
            <size>9953</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhY2VkZWUyZTM4ZTk5NWEyMjRkYjhhNDI3OTllYTEzMDZlY2M5MzEyLi5kZmIyM2Q5
MmYwODgwNTdiNzEzNjM4NzM1M2IxMTlhMWU1ODE4MGUwIDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNDkgQEAK
IDIwMTAtMTEtMDMgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIFN0
b3Agd2FpdGluZyBmb3IgbWVzc2FnZXMgZnJvbSB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYSB0aW1l
b3V0IGVsYXBzZXMKKworICAgICAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwgbm93IHRha2Vz
IGEgdGltZW91dCBwYXJhbWV0ZXIgdGhhdCBzcGVjaWZpZXMKKyAgICAgICAgaG93IGxvbmcgdG8g
d2FpdCBmb3IgdGhlIGNvbmRpdGlvbiB0byBiZWNvbWUgdHJ1ZS4KKworICAgICAgICBGaXhlcyA8
aHR0cDovL3dlYmtpdC5vcmcvYi80MzA0Nz4gPHJkYXI6Ly9wcm9ibGVtLzgzNjU4MzM+CisgICAg
ICAgIFdlYktpdFRlc3RSdW5uZXIgd2FpdHMgZm9yZXZlciBpZiB0aGUgd2ViIHByb2Nlc3MgY3Jh
c2hlcworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKTogQ2hhbmdlZCB0byByZXR1
cm4KKyAgICAgICAgYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB3ZSB3ZXJlIGFibGUgdG8g
cmVzZXQgdGhlIHdlYiBwcm9jZXNzLgorICAgICAgICBVc2VzIGEgNS1zZWNvbmQgdGltZW91dCB3
aGlsZSB3YWl0aW5nIGZvciB0aGUgcHJvY2VzcyB0byBiZSByZXNldC4KKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OnJ1blRlc3QpOiBDaGFuZ2VkIHRvIHJldHVybiBhIGJvb2xlYW4gaW5k
aWNhdGluZworICAgICAgICB3aGV0aGVyIHdlIHdlcmUgYWJsZSB0byByZXNldCB0aGUgd2ViIHBy
b2Nlc3MgKGFuZCB0aHVzIHJ1biB0aGUgdGVzdCkuCisKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xs
ZXI6OnJ1bik6CisgICAgICAgIENoYW5nZWQgdG8gYmFpbCBpZiBhbnkgdGVzdCBjYW4ndCBiZSBy
dW4uIFRoaXMgd2lsbCBjYXVzZSB0aGUgcHJvY2VzcworICAgICAgICB0byBleGl0LiAoVW5mb3J0
dW5hdGVseSB0aGlzIHdpbGwgbWFrZSBydW4td2Via2l0LXRlc3RzIHRoaW5rIHdlCisgICAgICAg
IGNyYXNoZWQ7IHNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi80ODk0Mz4uKQorCisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOiBBZGRlZCBhIHRpbWVvdXQgcGFyYW1l
dGVyIHRvIHJ1blVudGlsLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2Nh
dGlvbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RJbnZvY2F0aW9uOjppbnZva2UpOiBDaGVjayB3
aGV0aGVyIHJ1blVudGlsIHRpbWVkIG91dCBhbmQKKyAgICAgICAgcHJpbnQgYW4gZXJyb3IgbWVz
c2FnZSBpZiBzby4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9s
bGVyTWFjLm1tOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwpOiBQYXNz
IFtOU0RhdGUgZGlzdGFudFBhc3RdIHRvCisgICAgICAgIC1bTlNSdW5Mb29wIHJ1bk1vZGU6YmVm
b3JlRGF0ZTpdIHNvIHRoYXQgd2Ugd29uJ3QgYmxvY2sgd2FpdGluZyBmb3IgdGhlCisgICAgICAg
IHJ1biBsb29wLiBPbmx5IGxvb3AgdW50aWwgdGhlIHRpbWVvdXQgZWxhcHNlcy4KKworICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RDb250cm9sbGVyOjpydW5VbnRpbCk6IEFkZGVkIGEgRklYTUUgYWJvdXQgaG9ub3Jp
bmcgdGhlIHRpbWVvdXQuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0Q29u
dHJvbGxlcldpbi5jcHA6CisgICAgICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpydW5VbnRpbCk6
IFVzZSA6Ok1zZ1dhaXRGb3JNdWx0aXBsZU9iamVjdHNFeCB0bworICAgICAgICBpbXBsZW1lbnQg
dGhlIHRpbWVvdXQuIENoYW5nZWQgdG8gdXNlIDo6UGVla01lc3NhZ2VXIHNvIHRoYXQgd2UgZG9u
J3QKKyAgICAgICAgYmxvY2sgd2FpdGluZyBmb3IgbWVzc2FnZXMgdG8gYmVjb21lIGF2YWlsYWJs
ZS4KKworMjAxMC0xMS0wMyAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CisKICAgICAg
ICAgQWRkIGEgcGx1Z2luIHRlc3QgdGhhdCBldmFsdWF0ZXMgSlMgYWZ0ZXIgcmVtb3ZpbmcgdGhl
IHBsdWdpbiBlbGVtZW50CiAgICAgICAgIGZyb20gdGhlIGRvY3VtZW50CiAKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwIGIvV2ViS2l0
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggYzg4MDYyYWI1
YTdmNmE5ZWI2ODUzN2UzY2Y0Nzk2YjEyNjhjMzRmMS4uNTA1MmY1ZTIwMTljMDQ5MjhhMzAyZmYz
MGJkMDRjZDljNzBhZmM2YSAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKQEAgLTI1Myw3ICsyNTMsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVy
Ojppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgV0tQYWdlU2V0
UGFnZUxvYWRlckNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlTG9hZGVyQ2xpZW50
KTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVl
cygpCitib29sIFRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkK
IHsKICAgICBtX3N0YXRlID0gUmVzZXR0aW5nOwogCkBAIC0yODUsMTcgKzI4NSwyMSBAQCB2b2lk
IFRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBtX2Rv
bmVSZXNldHRpbmcgPSBmYWxzZTsKIAogICAgIFdLUGFnZUxvYWRVUkwobV9tYWluV2ViVmlldy0+
cGFnZSgpLCBibGFua1VSTCgpKTsKLSAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwobV9kb25l
UmVzZXR0aW5nKTsKKyAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwobV9kb25lUmVzZXR0aW5n
LCA1KTsKKyAgICByZXR1cm4gbV9kb25lUmVzZXR0aW5nOwogfQogCi12b2lkIFRlc3RDb250cm9s
bGVyOjpydW5UZXN0KGNvbnN0IGNoYXIqIHRlc3QpCitib29sIFRlc3RDb250cm9sbGVyOjpydW5U
ZXN0KGNvbnN0IGNoYXIqIHRlc3QpCiB7Ci0gICAgcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVl
cygpOworICAgIGlmICghcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBtX3N0YXRlID0gUnVubmluZ1Rlc3Q7CiAgICAgbV9jdXJyZW50
SW52b2NhdGlvbi5zZXQobmV3IFRlc3RJbnZvY2F0aW9uKHRlc3QpKTsKICAgICBtX2N1cnJlbnRJ
bnZvY2F0aW9uLT5pbnZva2UoKTsKICAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLmNsZWFyKCk7CisK
KyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6cnVuVGVzdGluZ1Nl
cnZlckxvb3AoKQpAQCAtMzA5LDcgKzMxMyw4IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJ1blRl
c3RpbmdTZXJ2ZXJMb29wKCkKICAgICAgICAgaWYgKHN0cmxlbihmaWxlbmFtZUJ1ZmZlcikgPT0g
MCkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIHJ1blRlc3QoZmlsZW5hbWVCdWZm
ZXIpOworICAgICAgICBpZiAoIXJ1blRlc3QoZmlsZW5hbWVCdWZmZXIpKQorICAgICAgICAgICAg
YnJlYWs7CiAgICAgfQogfQogCkBAIC0zMTgsOCArMzIzLDEwIEBAIHZvaWQgVGVzdENvbnRyb2xs
ZXI6OnJ1bigpCiAgICAgaWYgKG1fdXNpbmdTZXJ2ZXJNb2RlKQogICAgICAgICBydW5UZXN0aW5n
U2VydmVyTG9vcCgpOwogICAgIGVsc2UgewotICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IG1fcGF0aHMuc2l6ZSgpOyArK2kpCi0gICAgICAgICAgICBydW5UZXN0KG1fcGF0aHNbaV0uY19z
dHIoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wYXRocy5zaXplKCk7ICsr
aSkgeworICAgICAgICAgICAgaWYgKCFydW5UZXN0KG1fcGF0aHNbaV0uY19zdHIoKSkpCisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xz
L1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBiMTJmMWIyNWM0MDg2ODlj
Yzc2MGY0ZWEzYmViZDY2NjM5NWM2ZTZmLi4zMjI0NjllZDJmMWRkZmU3MzA2OWQzOWI2ODVlOTcw
ZWY3NGIzMDMyIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5oCkBAIC01MywyMiArNTMsMjIgQEAgcHVibGljOgogICAgIFdLUGFnZU5hbWVzcGFjZVJl
ZiBwYWdlTmFtZXNwYWNlKCkgeyByZXR1cm4gbV9wYWdlTmFtZXNwYWNlLmdldCgpOyB9CiAgICAg
V0tDb250ZXh0UmVmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQuZ2V0KCk7IH0KIAotICAg
IC8vIEhlbHBlcgotICAgIHN0YXRpYyB2b2lkIHJ1blVudGlsKGJvb2wmIGRvbmUpOworICAgIC8v
IFJ1bnMgdGhlIHJ1biBsb29wIHVudGlsIGBkb25lYCBpcyB0cnVlIG9yIGB0aW1lb3V0YCBzZWNv
bmRzIGVsYXBzZS4KKyAgICBzdGF0aWMgdm9pZCBydW5VbnRpbChib29sJiBkb25lLCBkb3VibGUg
dGltZW91dCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBpbml0aWFsaXplKGludCBhcmdjLCBjb25z
dCBjaGFyKiBhcmd2W10pOwogICAgIHZvaWQgcnVuKCk7CiAKICAgICB2b2lkIHJ1blRlc3RpbmdT
ZXJ2ZXJMb29wKCk7Ci0gICAgdm9pZCBydW5UZXN0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCk7Cisg
ICAgYm9vbCBydW5UZXN0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCk7CiAKICAgICB2b2lkIHBsYXRm
b3JtSW5pdGlhbGl6ZSgpOwogICAgIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplQ29udGV4dCgpOwog
ICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCgpOwogICAgIHZvaWQgaW5pdGlh
bGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKTsKIAotICAgIHZvaWQgcmVzZXRTdGF0ZVRvQ29uc2lz
dGVudFZhbHVlcygpOworICAgIGJvb2wgcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpOwog
CiAgICAgLy8gV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQKICAgICBzdGF0aWMgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYsIFdLU3RyaW5n
UmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqKTsKZGlm
ZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3Bw
IGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXgg
MDRhNTZmMTI2ZmI1ZTEzOGJhMWM0NWQ2MjYxMDUxNjQyZGExOTI1NS4uMzBkZjE5MjM4ZmU2ZDJm
NWE0MmY2M2ExMmJjMTk4N2ViZGMxNmU2ZCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKQEAgLTEyMCw3ICsxMjAsMTEgQEAgdm9pZCBUZXN0
SW52b2NhdGlvbjo6aW52b2tlKCkKICAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4gbWVzc2Fn
ZU5hbWUoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIkJlZ2luVGVzdCIp
KTsKICAgICBXS0NvbnRleHRQb3N0TWVzc2FnZVRvSW5qZWN0ZWRCdW5kbGUoVGVzdENvbnRyb2xs
ZXI6OnNoYXJlZCgpLmNvbnRleHQoKSwgbWVzc2FnZU5hbWUuZ2V0KCksIDApOwogCi0gICAgVGVz
dENvbnRyb2xsZXI6OnJ1blVudGlsKG1fZ290SW5pdGlhbFJlc3BvbnNlKTsKKyAgICBUZXN0Q29u
dHJvbGxlcjo6cnVuVW50aWwobV9nb3RJbml0aWFsUmVzcG9uc2UsIDUpOworICAgIGlmICghbV9n
b3RJbml0aWFsUmVzcG9uc2UpIHsKKyAgICAgICAgZHVtcCgiVGltZWQgb3V0IHdhaXRpbmcgZm9y
IGluaXRpYWwgcmVzcG9uc2UgZnJvbSB3ZWIgcHJvY2Vzc1xuIik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CiAgICAgaWYgKG1fZXJyb3IpIHsKICAgICAgICAgZHVtcCgiRkFJTFxuIik7CiAgICAg
ICAgIHJldHVybjsKQEAgLTEyOCw3ICsxMzIsMTEgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6aW52
b2tlKCkKIAogICAgIFdLUGFnZUxvYWRVUkwoVGVzdENvbnRyb2xsZXI6OnNoYXJlZCgpLm1haW5X
ZWJWaWV3KCktPnBhZ2UoKSwgbV91cmwuZ2V0KCkpOwogCi0gICAgVGVzdENvbnRyb2xsZXI6OnJ1
blVudGlsKG1fZ290RmluYWxNZXNzYWdlKTsKKyAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwo
bV9nb3RGaW5hbE1lc3NhZ2UsIDMwKTsKKyAgICBpZiAoIW1fZ290RmluYWxNZXNzYWdlKSB7Cisg
ICAgICAgIGR1bXAoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBmaW5hbCBtZXNzYWdlIGZyb20gd2Vi
IHByb2Nlc3NcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlmIChtX2Vycm9yKSB7
CiAgICAgICAgIGR1bXAoIkZBSUxcbiIpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxlck1hYy5tbSBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCmluZGV4
IGJlOWFhMzM0OTNjYjVjOWZmODZjNTUzYzJlZDVkYjk2NjQxZWFmZDAuLmMzNTQ5YzkxNWZlZGU3
OWEyYjE0NzczYzZlZDNhYmUyOTRjNDFmYTEgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1dlYktpdFRvb2xzL1dl
YktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCkBAIC00NSwxMCArNDUsMTEg
QEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKQog
ICAgIG1fdGVzdFBsdWdpbkRpcmVjdG9yeS5hZG9wdChXS1N0cmluZ0NyZWF0ZVdpdGhDRlN0cmlu
ZygoQ0ZTdHJpbmdSZWYpW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVQYXRoXSkpOwogfQog
Ci12b2lkIFRlc3RDb250cm9sbGVyOjpydW5VbnRpbChib29sJiBkb25lKQordm9pZCBUZXN0Q29u
dHJvbGxlcjo6cnVuVW50aWwoYm9vbCYgZG9uZSwgZG91YmxlIHRpbWVvdXQpCiB7Ci0gICAgd2hp
bGUgKCFkb25lKQotICAgICAgICBbW05TUnVuTG9vcCBjdXJyZW50UnVuTG9vcF0gcnVuTW9kZTpO
U0RlZmF1bHRSdW5Mb29wTW9kZSBiZWZvcmVEYXRlOltOU0RhdGUgZGlzdGFudEZ1dHVyZV1dOwor
ICAgIENGQWJzb2x1dGVUaW1lIGVuZCA9IENGQWJzb2x1dGVUaW1lR2V0Q3VycmVudCgpICsgdGlt
ZW91dDsKKyAgICB3aGlsZSAoIWRvbmUgJiYgQ0ZBYnNvbHV0ZVRpbWVHZXRDdXJyZW50KCkgPCBl
bmQpCisgICAgICAgIFtbTlNSdW5Mb29wIGN1cnJlbnRSdW5Mb29wXSBydW5Nb2RlOk5TRGVmYXVs
dFJ1bkxvb3BNb2RlIGJlZm9yZURhdGU6W05TRGF0ZSBkaXN0YW50UGFzdF1dOwogfQogCiB2b2lk
IFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemVDb250ZXh0KCkKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHAgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3BwCmluZGV4
IGQzYWVlNGE5ZTcwODk0ZmNjNTJjODRlMzZhMDNlOWIxMTZhNWU4ZjQuLjI5OTdmZDQ0ZjYwMmEy
ZjZiZjYzNzE1NjhjYTgxN2M2NmIxMmMxODggMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktp
dFRlc3RSdW5uZXIvcXQvVGVzdENvbnRyb2xsZXJRdC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcApAQCAtODMsOCArODMsOSBAQCB2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogewogfQogCi12b2lkIFRl
c3RDb250cm9sbGVyOjpydW5VbnRpbChib29sJiBkb25lKQordm9pZCBUZXN0Q29udHJvbGxlcjo6
cnVuVW50aWwoYm9vbCYgZG9uZSwgZG91YmxlKQogeworICAgIC8vIEZJWE1FOiBIb25vciB0aGUg
dGltZW91dCBwYXJhbWV0ZXIgPGh0dHA6Ly93ZWJraXQub3JnL2IvNDg5NDE+LgogICAgIFJ1blVu
dGlsQ29uZGl0aW9uTG9vcDo6c3RhcnQoZG9uZSk7CiAgICAgQVNTRVJUKGRvbmUpOwogfQpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdENvbnRyb2xsZXJX
aW4uY3BwIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93aW4vVGVzdENvbnRyb2xsZXJX
aW4uY3BwCmluZGV4IDk2NDNjNDA2NTg5NzEyMGEwM2MxMzg4NmNmMDQxZGI2MWM2YjkwY2UuLjQx
ZDcwYTIxN2FhOTg1MDcwYTdjYWRjNzBkODkwMWU2MGY0YjViOTQgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvd2luL1Rlc3RDb250cm9sbGVyV2luLmNwcAorKysgYi9X
ZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0Q29udHJvbGxlcldpbi5jcHAKQEAg
LTEyMCwxNSArMTIwLDIwIEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemVUZXN0UGx1
Z2luRGlyZWN0b3J5KCkKICAgICBtX3Rlc3RQbHVnaW5EaXJlY3RvcnkuYWRvcHQoV0tTdHJpbmdD
cmVhdGVXaXRoQ0ZTdHJpbmcodGVzdFBsdWdpbkRpcmVjdG9yeVBhdGguZ2V0KCkpKTsKIH0KIAot
dm9pZCBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwoYm9vbCYgZG9uZSkKK3ZvaWQgVGVzdENvbnRy
b2xsZXI6OnJ1blVudGlsKGJvb2wmIGRvbmUsIGRvdWJsZSB0aW1lb3V0KQogeworICAgIERXT1JE
IGVuZCA9IDo6R2V0VGlja0NvdW50KCkgKyB0aW1lb3V0ICogMTAwMDsKICAgICB3aGlsZSAoIWRv
bmUpIHsKLSAgICAgICAgTVNHIG1zZzsKLSAgICAgICAgQk9PTCByZXN1bHQgPSBHZXRNZXNzYWdl
KCZtc2csIDAsIDAsIDApOwotICAgICAgICBpZiAocmVzdWx0ID09IC0xKQorICAgICAgICBEV09S
RCByZXN1bHQgPSA6Ok1zZ1dhaXRGb3JNdWx0aXBsZU9iamVjdHNFeCgwLCAwLCBlbmQgLSA6Okdl
dFRpY2tDb3VudCgpLCBRU19BTExJTlBVVCwgMCk7CisgICAgICAgIGlmIChyZXN1bHQgPT0gV0FJ
VF9USU1FT1VUKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBUcmFuc2xhdGVNZXNzYWdl
KCZtc2cpOwotICAgICAgICBEaXNwYXRjaE1lc3NhZ2UoJm1zZyk7CisgICAgICAgIEFTU0VSVChy
ZXN1bHQgPT0gV0FJVF9PQkpFQ1RfMCk7CisgICAgICAgIC8vIFRoZXJlIGFyZSBtZXNzYWdlcyBp
biB0aGUgcXVldWUuIFByb2Nlc3MgdGhlbS4KKyAgICAgICAgTVNHIG1zZzsKKyAgICAgICAgd2hp
bGUgKDo6UGVla01lc3NhZ2VXKCZtc2csIDAsIDAsIDAsIFBNX1JFTU9WRSkpIHsKKyAgICAgICAg
ICAgIDo6VHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKKyAgICAgICAgICAgIDo6RGlzcGF0Y2hNZXNz
YWdlVygmbXNnKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72865</attachid>
            <date>2010-11-03 13:47:48 -0700</date>
            <delta_ts>2010-11-03 13:49:53 -0700</delta_ts>
            <desc>Updated to make timeouts configurable</desc>
            <filename>bug-43047-20101103164810.patch</filename>
            <type>text/plain</type>
            <size>14396</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBhY2VkZWUyZTM4ZTk5NWEyMjRkYjhhNDI3OTllYTEzMDZlY2M5MzEyLi5mOGRjZWU4
NzY3NTE1MzgwYmRhOGJkOWE4NDJkYjI3ZDYxZDM4YjY4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29s
cy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsNjkgQEAK
IDIwMTAtMTEtMDMgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgogCisgICAgICAgIFN0
b3Agd2FpdGluZyBmb3IgbWVzc2FnZXMgZnJvbSB0aGUgd2ViIHByb2Nlc3MgYWZ0ZXIgYSB0aW1l
b3V0IGVsYXBzZXMKKworICAgICAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwgbm93IHRha2Vz
IGEgdGltZW91dCBwYXJhbWV0ZXIgdGhhdCBzcGVjaWZpZXMKKyAgICAgICAgaG93IGxvbmcgdG8g
d2FpdCBmb3IgdGhlIGNvbmRpdGlvbiB0byBiZWNvbWUgdHJ1ZS4gV2ViS2l0VGVzdFJ1bm5lcgor
ICAgICAgICB0YWtlcyBhIC0tdGltZW91dCBmbGFnIHRoYXQgc3BlY2lmaWVzIGhvdyBsb25nIHRo
ZSB0aW1lb3V0IHNob3VsZCBiZS4KKyAgICAgICAgcnVuLXdlYmtpdC10ZXN0cyBwYXNzZXMgdGhp
cyBmbGFnIHRvIFdlYktpdFRlc3RSdW5uZXIgc28gaXRzIHRpbWVvdXQKKyAgICAgICAgd2lsbCBi
ZSBzaW1pbGFyIHRvIHJ1bi13ZWJraXQtdGVzdHMuCisKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93
ZWJraXQub3JnL2IvNDMwNDc+IDxyZGFyOi8vcHJvYmxlbS84MzY1ODMzPgorICAgICAgICBXZWJL
aXRUZXN0UnVubmVyIHdhaXRzIGZvcmV2ZXIgaWYgdGhlIHdlYiBwcm9jZXNzIGNyYXNoZXMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMv
b2xkLXJ1bi13ZWJraXQtdGVzdHM6CisgICAgICAgICh0b3AgbGV2ZWwpOiBNb3ZlZCB0aGUgR3Vh
cmRNYWxsb2MgdGltZW91dCBhZGp1c3RtZW50IGhlcmUgZnJvbQorICAgICAgICByZWFkRnJvbUR1
bXBUb29sV2l0aFRpbWVyLgorICAgICAgICAob3BlbkR1bXBUb29sKTogTWFrZSBXVFIgdXNlIGEg
dGltZW91dCBzaW1pbGFyIHRvIGJ1dCBzbGlnaHRseSBzaG9ydGVyCisgICAgICAgIHRoYW4gdGhl
IG9uZSB0aGF0IHdhcyBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4KKworICAgICAgICAq
IFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6VGVzdENvbnRyb2xsZXIpOiBJbml0aWFsaXplIG91ciB0aW1lb3V0IHZhbHVl
cy4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmluaXRpYWxpemUpOiBQYXJzZSB0aGUg
LS10aW1lb3V0IGZsYWcgYW5kIHVzZSBpdAorICAgICAgICB0byBtb2RpZnkgb3VyIHRpbWVvdXQg
dmFsdWVzLgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lz
dGVudFZhbHVlcyk6IENoYW5nZWQgdG8gdXNlIGEKKyAgICAgICAgc2hvcnQgdGltZW91dCB3aGls
ZSB3YWl0aW5nIGZvciB0aGUgd2ViIHByb2Nlc3MgdG8gcmVzZXQgYW5kIHRvIHJldHVybgorICAg
ICAgICBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHdlIHdlcmUgYWJsZSB0byByZXNldCB0
aGUgd2ViIHByb2Nlc3MuCisgICAgICAgIFVzZXMgYSA1LXNlY29uZCB0aW1lb3V0IHdoaWxlIHdh
aXRpbmcgZm9yIHRoZSBwcm9jZXNzIHRvIGJlIHJlc2V0LgorICAgICAgICAoV1RSOjpUZXN0Q29u
dHJvbGxlcjo6cnVuVGVzdCk6IENoYW5nZWQgdG8gcmV0dXJuIGEgYm9vbGVhbiBpbmRpY2F0aW5n
CisgICAgICAgIHdoZXRoZXIgd2Ugd2VyZSBhYmxlIHRvIHJlc2V0IHRoZSB3ZWIgcHJvY2VzcyAo
YW5kIHRodXMgcnVuIHRoZSB0ZXN0KS4KKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnJ1
blVudGlsKTogQ2FsbCB0aHJvdWdoIHRvIHBsYXRmb3JtUnVuVW50aWwuCisKKyAgICAgICAgKFdU
Ujo6VGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKToKKyAgICAgICAgKFdUUjo6
VGVzdENvbnRyb2xsZXI6OnJ1bik6CisgICAgICAgIENoYW5nZWQgdG8gYmFpbCBpZiBhbnkgdGVz
dCBjYW4ndCBiZSBydW4uIFRoaXMgd2lsbCBjYXVzZSB0aGUgcHJvY2VzcworICAgICAgICB0byBl
eGl0LiAoVW5mb3J0dW5hdGVseSB0aGlzIHdpbGwgbWFrZSBydW4td2Via2l0LXRlc3RzIHRoaW5r
IHdlCisgICAgICAgIGNyYXNoZWQ7IHNlZSA8aHR0cDovL3dlYmtpdC5vcmcvYi80ODk0Mz4uKQor
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOiBBZGRlZCBwbGF0
Zm9ybVJ1blVudGlsLAorICAgICAgICBtX2xvbmdUaW1lb3V0LCBhbmQgbV9zaG9ydFRpbWVvdXQu
CisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcDoKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246Omludm9rZSk6IFVzZSBhIHNob3J0IHRpbWVvdXQgd2hl
biB3YWl0aW5nIGZvciB0aGUKKyAgICAgICAgaW5pdGlhbCByZXNwb25zZSBhbmQgYSBsb25nIHRp
bWVvdXQgd2hlbiB3YWl0aW5nIGZvciB0aGUgdGVzdCB0bworICAgICAgICBjb21wbGV0ZS4gQ2hl
Y2sgd2hldGhlciBydW5VbnRpbCB0aW1lZCBvdXQgYW5kIHByaW50IGFuIGVycm9yIG1lc3NhZ2UK
KyAgICAgICAgaWYgc28uCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29u
dHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtUnVu
VW50aWwpOiBSZW5hbWVkIGZyb20gcnVuVW50aWwuIFBhc3MKKyAgICAgICAgW05TRGF0ZSBkaXN0
YW50UGFzdF0gdG8gLVtOU1J1bkxvb3AgcnVuTW9kZTpiZWZvcmVEYXRlOl0gc28gdGhhdCB3ZQor
ICAgICAgICB3b24ndCBibG9jayB3YWl0aW5nIGZvciB0aGUgcnVuIGxvb3AuIE9ubHkgbG9vcCB1
bnRpbCB0aGUgdGltZW91dAorICAgICAgICBlbGFwc2VzLgorCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdENvbnRy
b2xsZXI6OnBsYXRmb3JtUnVuVW50aWwpOiBSZW5hbWVkIGZyb20gcnVuVW50aWwuIEFkZGVkIGEK
KyAgICAgICAgRklYTUUgYWJvdXQgaG9ub3JpbmcgdGhlIHRpbWVvdXQuCisKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL3dpbi9UZXN0Q29udHJvbGxlcldpbi5jcHA6CisgICAgICAgIChXVFI6
OlRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsKTogUmVuYW1lZCBmcm9tIHJ1blVudGls
LiBVc2UKKyAgICAgICAgOjpNc2dXYWl0Rm9yTXVsdGlwbGVPYmplY3RzRXggdG8gaW1wbGVtZW50
IHRoZSB0aW1lb3V0LiBDaGFuZ2VkIHRvIHVzZQorICAgICAgICA6OlBlZWtNZXNzYWdlVyBzbyB0
aGF0IHdlIGRvbid0IGJsb2NrIHdhaXRpbmcgZm9yIG1lc3NhZ2VzIHRvIGJlY29tZQorICAgICAg
ICBhdmFpbGFibGUuCisKKzIwMTAtMTEtMDMgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29t
PgorCiAgICAgICAgIEFkZCBhIHBsdWdpbiB0ZXN0IHRoYXQgZXZhbHVhdGVzIEpTIGFmdGVyIHJl
bW92aW5nIHRoZSBwbHVnaW4gZWxlbWVudAogICAgICAgICBmcm9tIHRoZSBkb2N1bWVudAogCmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL29sZC1ydW4td2Via2l0LXRlc3RzIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9vbGQtcnVuLXdlYmtpdC10ZXN0cwppbmRleCBlNDBiM2FkYWFjMDY5
YzU2YzE2YjM1NDBhMjMzOWUzNmJkY2ZlZGNlLi4yY2VmMThiMzdiYTZlMWRmZjdkNTE2ZDFjNjgy
N2E3NzlmMzUyMDZkIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL29sZC1ydW4td2Vi
a2l0LXRlc3RzCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvb2xkLXJ1bi13ZWJraXQtdGVzdHMK
QEAgLTM3Myw2ICszNzMsOCBAQCBpZiAoJHVzZVdlYktpdFRlc3RSdW5uZXIpIHsKICAgICB9CiB9
CiAKKyR0aW1lb3V0U2Vjb25kcyAqPSAxMCBpZiAkZ3VhcmRNYWxsb2M7CisKICRzdHJpcEVkaXRp
bmdDYWxsYmFja3MgPSBpc0N5Z3dpbigpIHVubGVzcyBkZWZpbmVkICRzdHJpcEVkaXRpbmdDYWxs
YmFja3M7CiAKIG15ICRpZ25vcmVTa2lwcGVkID0gJHRyZWF0U2tpcHBlZCBlcSAiaWdub3JlIjsK
QEAgLTE0ODMsNiArMTQ4NSwxMiBAQCBzdWIgb3BlbkR1bXBUb29sKCkKICAgICAgICAgdW5zaGlm
dCBAYXJncywgInZhbGdyaW5kIiwgIi0tc3VwcHJlc3Npb25zPSRwbGF0Zm9ybUJhc2VEaXJlY3Rv
cnkvcXQvU3VwcHJlc3NlZFZhbGdyaW5kRXJyb3JzIjsKICAgICB9IAogCisgICAgaWYgKCR1c2VX
ZWJLaXRUZXN0UnVubmVyKSB7CisgICAgICAgICMgTWFrZSBXZWJLaXRUZXN0UnVubmVyIHVzZSBh
IHNpbWlsYXIgdGltZW91dC4gV2UgZG9uJ3QgdXNlIHRoZSBleGFjdCBzYW1lIHRpbWVvdXQgdG8g
YXZvaWQKKyAgICAgICAgIyByYWNlIGNvbmRpdGlvbnMuCisgICAgICAgIHB1c2ggQGFyZ3MsICIt
LXRpbWVvdXQiLCAkdGltZW91dFNlY29uZHMgLSA1OworICAgIH0KKwogICAgICRDTEVBTl9FTlZ7
TWFsbG9jU3RhY2tMb2dnaW5nfSA9IDEgaWYgJHNob3VsZENoZWNrTGVha3M7CiAKICAgICAkZHVt
cFRvb2xQSUQgPSBvcGVuMyhcKk9VVCwgXCpJTiwgXCpFUlJPUiwgbGF1bmNoV2l0aEVudihAYXJn
cywgJUNMRUFOX0VOVikpIG9yIGRpZSAiRmFpbGVkIHRvIHN0YXJ0IHRvb2w6ICRkdW1wVG9vbFxu
IjsKQEAgLTIwODksNyArMjA5Nyw2IEBAIHN1YiByZWFkRnJvbUR1bXBUb29sV2l0aFRpbWVyKCoq
KQogICAgIHNldEZpbGVIYW5kbGVOb25CbG9ja2luZygkZmhFcnJvciwgMSk7CiAKICAgICBteSAk
bWF4aW11bVNlY29uZHNXaXRob3V0T3V0cHV0ID0gJHRpbWVvdXRTZWNvbmRzOwotICAgICRtYXhp
bXVtU2Vjb25kc1dpdGhvdXRPdXRwdXQgKj0gMTAgaWYgJGd1YXJkTWFsbG9jOwogICAgIG15ICRt
aWNyb3NlY29uZHNUb1dhaXRCZWZvcmVSZWFkaW5nQWdhaW4gPSAxMDAwOwogCiAgICAgbXkgJHRp
bWVPZkxhc3RTdWNjZXNzZnVsUmVhZCA9IHRpbWU7CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGM4ODA2MmFiNWE3ZjZhOWViNjg1Mzdl
M2NmNDc5NmIxMjY4YzM0ZjEuLjhjYTA1MjljNzE2OGFkNjc0ZDEwN2Y3ODM1NGM2MWNkZDQxYTZj
ODcgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xs
ZXIuY3BwCisrKyBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwCkBAIC0zNSw2ICszNSw5IEBACiAKIG5hbWVzcGFjZSBXVFIgewogCitzdGF0aWMgY29uc3Qg
ZG91YmxlIGRlZmF1bHRMb25nVGltZW91dCA9IDMwOworc3RhdGljIGNvbnN0IGRvdWJsZSBkZWZh
dWx0U2hvcnRUaW1lb3V0ID0gNTsKKwogc3RhdGljIFdLVVJMUmVmIGJsYW5rVVJMKCkKIHsKICAg
ICBzdGF0aWMgV0tVUkxSZWYgc3RhdGljQmxhbmtVUkwgPSBXS1VSTENyZWF0ZVdpdGhVVEY4Q1N0
cmluZygiYWJvdXQ6YmxhbmsiKTsKQEAgLTU2LDYgKzU5LDggQEAgVGVzdENvbnRyb2xsZXI6OlRl
c3RDb250cm9sbGVyKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgLCBtX3VzaW5n
U2VydmVyTW9kZShmYWxzZSkKICAgICAsIG1fc3RhdGUoSW5pdGlhbCkKICAgICAsIG1fZG9uZVJl
c2V0dGluZyhmYWxzZSkKKyAgICAsIG1fbG9uZ1RpbWVvdXQoZGVmYXVsdExvbmdUaW1lb3V0KQor
ICAgICwgbV9zaG9ydFRpbWVvdXQoZGVmYXVsdFNob3J0VGltZW91dCkKIHsKICAgICBpbml0aWFs
aXplKGFyZ2MsIGFyZ3YpOwogICAgIGNvbnRyb2xsZXIgPSB0aGlzOwpAQCAtMTQ2LDYgKzE1MSwx
MiBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFy
KiBhcmd2W10pCiAgICAgZm9yIChpbnQgaSA9IDE7IGkgPCBhcmdjOyArK2kpIHsKICAgICAgICAg
c3RkOjpzdHJpbmcgYXJndW1lbnQoYXJndltpXSk7CiAKKyAgICAgICAgaWYgKGFyZ3VtZW50ID09
ICItLXRpbWVvdXQiICYmIGkgKyAxIDwgYXJnYykgeworICAgICAgICAgICAgbV9sb25nVGltZW91
dCA9IGF0b2koYXJndlsrK2ldKTsKKyAgICAgICAgICAgIC8vIFNjYWxlIHVwIHRoZSBzaG9ydCB0
aW1lb3V0IHRvIG1hdGNoLgorICAgICAgICAgICAgbV9zaG9ydFRpbWVvdXQgPSBkZWZhdWx0U2hv
cnRUaW1lb3V0ICogbV9sb25nVGltZW91dCAvIGRlZmF1bHRMb25nVGltZW91dDsKKyAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAgIGlmIChhcmd1bWVudCA9PSAiLS1waXhl
bC10ZXN0cyIpIHsKICAgICAgICAgICAgIG1fZHVtcFBpeGVscyA9IHRydWU7CiAgICAgICAgICAg
ICBjb250aW51ZTsKQEAgLTI1Myw3ICsyNjQsNyBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjppbml0
aWFsaXplKGludCBhcmdjLCBjb25zdCBjaGFyKiBhcmd2W10pCiAgICAgV0tQYWdlU2V0UGFnZUxv
YWRlckNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlTG9hZGVyQ2xpZW50KTsKIH0K
IAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygpCiti
b29sIFRlc3RDb250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkKIHsKICAg
ICBtX3N0YXRlID0gUmVzZXR0aW5nOwogCkBAIC0yODUsMTcgKzI5NiwyMSBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjpyZXNldFN0YXRlVG9Db25zaXN0ZW50VmFsdWVzKCkKICAgICBtX2RvbmVSZXNl
dHRpbmcgPSBmYWxzZTsKIAogICAgIFdLUGFnZUxvYWRVUkwobV9tYWluV2ViVmlldy0+cGFnZSgp
LCBibGFua1VSTCgpKTsKLSAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwobV9kb25lUmVzZXR0
aW5nKTsKKyAgICBydW5VbnRpbChtX2RvbmVSZXNldHRpbmcsIFNob3J0VGltZW91dCk7CisgICAg
cmV0dXJuIG1fZG9uZVJlc2V0dGluZzsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6cnVuVGVz
dChjb25zdCBjaGFyKiB0ZXN0KQorYm9vbCBUZXN0Q29udHJvbGxlcjo6cnVuVGVzdChjb25zdCBj
aGFyKiB0ZXN0KQogewotICAgIHJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKTsKKyAgICBp
ZiAoIXJlc2V0U3RhdGVUb0NvbnNpc3RlbnRWYWx1ZXMoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogCiAgICAgbV9zdGF0ZSA9IFJ1bm5pbmdUZXN0OwogICAgIG1fY3VycmVudEludm9jYXRpb24u
c2V0KG5ldyBUZXN0SW52b2NhdGlvbih0ZXN0KSk7CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi0+
aW52b2tlKCk7CiAgICAgbV9jdXJyZW50SW52b2NhdGlvbi5jbGVhcigpOworCisgICAgcmV0dXJu
IHRydWU7CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnJ1blRlc3RpbmdTZXJ2ZXJMb29wKCkK
QEAgLTMwOSw3ICszMjQsOCBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjpydW5UZXN0aW5nU2VydmVy
TG9vcCgpCiAgICAgICAgIGlmIChzdHJsZW4oZmlsZW5hbWVCdWZmZXIpID09IDApCiAgICAgICAg
ICAgICBjb250aW51ZTsKIAotICAgICAgICBydW5UZXN0KGZpbGVuYW1lQnVmZmVyKTsKKyAgICAg
ICAgaWYgKCFydW5UZXN0KGZpbGVuYW1lQnVmZmVyKSkKKyAgICAgICAgICAgIGJyZWFrOwogICAg
IH0KIH0KIApAQCAtMzE4LDExICszMzQsMTggQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6cnVuKCkK
ICAgICBpZiAobV91c2luZ1NlcnZlck1vZGUpCiAgICAgICAgIHJ1blRlc3RpbmdTZXJ2ZXJMb29w
KCk7CiAgICAgZWxzZSB7Ci0gICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9wYXRocy5z
aXplKCk7ICsraSkKLSAgICAgICAgICAgIHJ1blRlc3QobV9wYXRoc1tpXS5jX3N0cigpKTsKKyAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX3BhdGhzLnNpemUoKTsgKytpKSB7CisgICAg
ICAgICAgICBpZiAoIXJ1blRlc3QobV9wYXRoc1tpXS5jX3N0cigpKSkKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgfQogICAgIH0KIH0KIAordm9pZCBUZXN0Q29udHJvbGxlcjo6cnVu
VW50aWwoYm9vbCYgZG9uZSwgVGltZW91dER1cmF0aW9uIHRpbWVvdXREdXJhdGlvbikKK3sKKyAg
ICBwbGF0Zm9ybVJ1blVudGlsKGRvbmUsIHRpbWVvdXREdXJhdGlvbiA9PSBTaG9ydFRpbWVvdXQg
PyBtX3Nob3J0VGltZW91dCA6IG1fbG9uZ1RpbWVvdXQpOworfQorCiAvLyBXS0NvbnRleHRJbmpl
Y3RlZEJ1bmRsZUNsaWVudAogCiB2b2lkIFRlc3RDb250cm9sbGVyOjpkaWRSZWNlaXZlTWVzc2Fn
ZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgbWVz
c2FnZU5hbWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykK
ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBi
MTJmMWIyNWM0MDg2ODljYzc2MGY0ZWEzYmViZDY2NjM5NWM2ZTZmLi4xMzk2Yzk0NjU4MTJmYjQz
YjZlZjgxMjAzYTUyMDZkNTY3OWNhYWI3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC01MywyMiArNTMsMjQgQEAgcHVibGljOgogICAgIFdL
UGFnZU5hbWVzcGFjZVJlZiBwYWdlTmFtZXNwYWNlKCkgeyByZXR1cm4gbV9wYWdlTmFtZXNwYWNl
LmdldCgpOyB9CiAgICAgV0tDb250ZXh0UmVmIGNvbnRleHQoKSB7IHJldHVybiBtX2NvbnRleHQu
Z2V0KCk7IH0KIAotICAgIC8vIEhlbHBlcgotICAgIHN0YXRpYyB2b2lkIHJ1blVudGlsKGJvb2wm
IGRvbmUpOworICAgIC8vIFJ1bnMgdGhlIHJ1biBsb29wIHVudGlsIGBkb25lYCBpcyB0cnVlIG9y
IHRoZSB0aW1lb3V0IGVsYXBzZXMuCisgICAgZW51bSBUaW1lb3V0RHVyYXRpb24geyBTaG9ydFRp
bWVvdXQsIExvbmdUaW1lb3V0IH07CisgICAgdm9pZCBydW5VbnRpbChib29sJiBkb25lLCBUaW1l
b3V0RHVyYXRpb24pOwogCiBwcml2YXRlOgogICAgIHZvaWQgaW5pdGlhbGl6ZShpbnQgYXJnYywg
Y29uc3QgY2hhciogYXJndltdKTsKICAgICB2b2lkIHJ1bigpOwogCiAgICAgdm9pZCBydW5UZXN0
aW5nU2VydmVyTG9vcCgpOwotICAgIHZvaWQgcnVuVGVzdChjb25zdCBjaGFyKiBwYXRoT3JVUkwp
OworICAgIGJvb2wgcnVuVGVzdChjb25zdCBjaGFyKiBwYXRoT3JVUkwpOwogCiAgICAgdm9pZCBw
bGF0Zm9ybUluaXRpYWxpemUoKTsKICAgICB2b2lkIHBsYXRmb3JtSW5pdGlhbGl6ZUNvbnRleHQo
KTsKKyAgICB2b2lkIHBsYXRmb3JtUnVuVW50aWwoYm9vbCYgZG9uZSwgZG91YmxlIHRpbWVvdXQp
OwogICAgIHZvaWQgaW5pdGlhbGl6ZUluamVjdGVkQnVuZGxlUGF0aCgpOwogICAgIHZvaWQgaW5p
dGlhbGl6ZVRlc3RQbHVnaW5EaXJlY3RvcnkoKTsKIAotICAgIHZvaWQgcmVzZXRTdGF0ZVRvQ29u
c2lzdGVudFZhbHVlcygpOworICAgIGJvb2wgcmVzZXRTdGF0ZVRvQ29uc2lzdGVudFZhbHVlcygp
OwogCiAgICAgLy8gV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQKICAgICBzdGF0aWMgdm9p
ZCBkaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZShXS0NvbnRleHRSZWYsIFdLU3Ry
aW5nUmVmIG1lc3NhZ2VOYW1lLCBXS1R5cGVSZWYgbWVzc2FnZUJvZHksIGNvbnN0IHZvaWQqKTsK
QEAgLTEwMiw2ICsxMDQsOSBAQCBwcml2YXRlOgogICAgIH07CiAgICAgU3RhdGUgbV9zdGF0ZTsK
ICAgICBib29sIG1fZG9uZVJlc2V0dGluZzsKKworICAgIGRvdWJsZSBtX2xvbmdUaW1lb3V0Owor
ICAgIGRvdWJsZSBtX3Nob3J0VGltZW91dDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAg
Yi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCAw
NGE1NmYxMjZmYjVlMTM4YmExYzQ1ZDYyNjEwNTE2NDJkYTE5MjU1Li5lODhkZTUzYmYyMGFkYzMw
NTk1OThjMDUwNzUyMzkzMmQ3NTNiY2U0IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTIwLDcgKzEyMCwxMSBAQCB2b2lkIFRlc3RJ
bnZvY2F0aW9uOjppbnZva2UoKQogICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiBtZXNzYWdl
TmFtZShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiQmVnaW5UZXN0Iikp
OwogICAgIFdLQ29udGV4dFBvc3RNZXNzYWdlVG9JbmplY3RlZEJ1bmRsZShUZXN0Q29udHJvbGxl
cjo6c2hhcmVkKCkuY29udGV4dCgpLCBtZXNzYWdlTmFtZS5nZXQoKSwgMCk7CiAKLSAgICBUZXN0
Q29udHJvbGxlcjo6cnVuVW50aWwobV9nb3RJbml0aWFsUmVzcG9uc2UpOworICAgIFRlc3RDb250
cm9sbGVyOjpzaGFyZWQoKS5ydW5VbnRpbChtX2dvdEluaXRpYWxSZXNwb25zZSwgVGVzdENvbnRy
b2xsZXI6OlNob3J0VGltZW91dCk7CisgICAgaWYgKCFtX2dvdEluaXRpYWxSZXNwb25zZSkgewor
ICAgICAgICBkdW1wKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgaW5pdGlhbCByZXNwb25zZSBmcm9t
IHdlYiBwcm9jZXNzXG4iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBpZiAobV9lcnJv
cikgewogICAgICAgICBkdW1wKCJGQUlMXG4iKTsKICAgICAgICAgcmV0dXJuOwpAQCAtMTI4LDcg
KzEzMiwxMSBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2UoKQogCiAgICAgV0tQYWdlTG9h
ZFVSTChUZXN0Q29udHJvbGxlcjo6c2hhcmVkKCkubWFpbldlYlZpZXcoKS0+cGFnZSgpLCBtX3Vy
bC5nZXQoKSk7CiAKLSAgICBUZXN0Q29udHJvbGxlcjo6cnVuVW50aWwobV9nb3RGaW5hbE1lc3Nh
Z2UpOworICAgIFRlc3RDb250cm9sbGVyOjpzaGFyZWQoKS5ydW5VbnRpbChtX2dvdEZpbmFsTWVz
c2FnZSwgVGVzdENvbnRyb2xsZXI6OkxvbmdUaW1lb3V0KTsKKyAgICBpZiAoIW1fZ290RmluYWxN
ZXNzYWdlKSB7CisgICAgICAgIGR1bXAoIlRpbWVkIG91dCB3YWl0aW5nIGZvciBmaW5hbCBtZXNz
YWdlIGZyb20gd2ViIHByb2Nlc3NcbiIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGlm
IChtX2Vycm9yKSB7CiAgICAgICAgIGR1bXAoIkZBSUxcbiIpOwogICAgICAgICByZXR1cm47CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9UZXN0Q29udHJvbGxl
ck1hYy5tbSBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVy
TWFjLm1tCmluZGV4IGJlOWFhMzM0OTNjYjVjOWZmODZjNTUzYzJlZDVkYjk2NjQxZWFmZDAuLjI2
OGY3MTgxZThiYjljY2ZkMWY3OGViN2IwZGI4OGUzZGQ1MmJkNGUgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCisrKyBiL1dl
YktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Rlc3RDb250cm9sbGVyTWFjLm1tCkBAIC00
NSwxMCArNDUsMTEgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6aW5pdGlhbGl6ZVRlc3RQbHVnaW5E
aXJlY3RvcnkoKQogICAgIG1fdGVzdFBsdWdpbkRpcmVjdG9yeS5hZG9wdChXS1N0cmluZ0NyZWF0
ZVdpdGhDRlN0cmluZygoQ0ZTdHJpbmdSZWYpW1tOU0J1bmRsZSBtYWluQnVuZGxlXSBidW5kbGVQ
YXRoXSkpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpydW5VbnRpbChib29sJiBkb25lKQor
dm9pZCBUZXN0Q29udHJvbGxlcjo6cGxhdGZvcm1SdW5VbnRpbChib29sJiBkb25lLCBkb3VibGUg
dGltZW91dCkKIHsKLSAgICB3aGlsZSAoIWRvbmUpCi0gICAgICAgIFtbTlNSdW5Mb29wIGN1cnJl
bnRSdW5Mb29wXSBydW5Nb2RlOk5TRGVmYXVsdFJ1bkxvb3BNb2RlIGJlZm9yZURhdGU6W05TRGF0
ZSBkaXN0YW50RnV0dXJlXV07CisgICAgQ0ZBYnNvbHV0ZVRpbWUgZW5kID0gQ0ZBYnNvbHV0ZVRp
bWVHZXRDdXJyZW50KCkgKyB0aW1lb3V0OworICAgIHdoaWxlICghZG9uZSAmJiBDRkFic29sdXRl
VGltZUdldEN1cnJlbnQoKSA8IGVuZCkKKyAgICAgICAgW1tOU1J1bkxvb3AgY3VycmVudFJ1bkxv
b3BdIHJ1bk1vZGU6TlNEZWZhdWx0UnVuTG9vcE1vZGUgYmVmb3JlRGF0ZTpbTlNEYXRlIGRpc3Rh
bnRQYXN0XV07CiB9CiAKIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6ZUNv
bnRleHQoKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0
Q29udHJvbGxlclF0LmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvcXQvVGVzdENv
bnRyb2xsZXJRdC5jcHAKaW5kZXggZDNhZWU0YTllNzA4OTRmY2M1MmM4NGUzNmEwM2U5YjExNmE1
ZThmNC4uNDg0NWY3MTczMDhmMDkyMjA1YzllZjhkZGIyNjE4ZjdjMzJmM2IyMCAxMDA2NDQKLS0t
IGEvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9xdC9UZXN0Q29udHJvbGxlclF0LmNwcAor
KysgYi9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3F0L1Rlc3RDb250cm9sbGVyUXQuY3Bw
CkBAIC04Myw4ICs4Myw5IEBAIHZvaWQgVGVzdENvbnRyb2xsZXI6OnBsYXRmb3JtSW5pdGlhbGl6
ZSgpCiB7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnJ1blVudGlsKGJvb2wmIGRvbmUpCit2
b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsKGJvb2wmIGRvbmUsIGRvdWJsZSkK
IHsKKyAgICAvLyBGSVhNRTogSG9ub3IgdGhlIHRpbWVvdXQgcGFyYW1ldGVyIDxodHRwOi8vd2Vi
a2l0Lm9yZy9iLzQ4OTQxPi4KICAgICBSdW5VbnRpbENvbmRpdGlvbkxvb3A6OnN0YXJ0KGRvbmUp
OwogICAgIEFTU0VSVChkb25lKTsKIH0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvd2luL1Rlc3RDb250cm9sbGVyV2luLmNwcCBiL1dlYktpdFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvd2luL1Rlc3RDb250cm9sbGVyV2luLmNwcAppbmRleCA5NjQzYzQwNjU4OTcxMjBh
MDNjMTM4ODZjZjA0MWRiNjFjNmI5MGNlLi4zZmQ4NTNmNDgwYzNjZDRkZDc1NGRiMjM4NzBmNjk3
ZWQyN2FiZTE4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9XZWJLaXRUZXN0UnVubmVyL3dpbi9U
ZXN0Q29udHJvbGxlcldpbi5jcHAKKysrIGIvV2ViS2l0VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci93
aW4vVGVzdENvbnRyb2xsZXJXaW4uY3BwCkBAIC0xMjAsMTUgKzEyMCwyNSBAQCB2b2lkIFRlc3RD
b250cm9sbGVyOjppbml0aWFsaXplVGVzdFBsdWdpbkRpcmVjdG9yeSgpCiAgICAgbV90ZXN0UGx1
Z2luRGlyZWN0b3J5LmFkb3B0KFdLU3RyaW5nQ3JlYXRlV2l0aENGU3RyaW5nKHRlc3RQbHVnaW5E
aXJlY3RvcnlQYXRoLmdldCgpKSk7CiB9CiAKLXZvaWQgVGVzdENvbnRyb2xsZXI6OnJ1blVudGls
KGJvb2wmIGRvbmUpCit2b2lkIFRlc3RDb250cm9sbGVyOjpwbGF0Zm9ybVJ1blVudGlsKGJvb2wm
IGRvbmUsIGRvdWJsZSB0aW1lb3V0KQogeworICAgIERXT1JEIGVuZCA9IDo6R2V0VGlja0NvdW50
KCkgKyB0aW1lb3V0ICogMTAwMDsKICAgICB3aGlsZSAoIWRvbmUpIHsKLSAgICAgICAgTVNHIG1z
ZzsKLSAgICAgICAgQk9PTCByZXN1bHQgPSBHZXRNZXNzYWdlKCZtc2csIDAsIDAsIDApOwotICAg
ICAgICBpZiAocmVzdWx0ID09IC0xKQorICAgICAgICBEV09SRCBub3cgPSA6OkdldFRpY2tDb3Vu
dCgpOworICAgICAgICBpZiAobm93ID4gZW5kKQorICAgICAgICAgICAgcmV0dXJuOworCisgICAg
ICAgIERXT1JEIHJlc3VsdCA9IDo6TXNnV2FpdEZvck11bHRpcGxlT2JqZWN0c0V4KDAsIDAsIGVu
ZCAtIG5vdywgUVNfQUxMSU5QVVQsIDApOworICAgICAgICBpZiAocmVzdWx0ID09IFdBSVRfVElN
RU9VVCkKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgVHJhbnNsYXRlTWVzc2FnZSgmbXNn
KTsKLSAgICAgICAgRGlzcGF0Y2hNZXNzYWdlKCZtc2cpOworCisgICAgICAgIEFTU0VSVChyZXN1
bHQgPT0gV0FJVF9PQkpFQ1RfMCk7CisgICAgICAgIC8vIFRoZXJlIGFyZSBtZXNzYWdlcyBpbiB0
aGUgcXVldWUuIFByb2Nlc3MgdGhlbS4KKyAgICAgICAgTVNHIG1zZzsKKyAgICAgICAgd2hpbGUg
KDo6UGVla01lc3NhZ2VXKCZtc2csIDAsIDAsIDAsIFBNX1JFTU9WRSkpIHsKKyAgICAgICAgICAg
IDo6VHJhbnNsYXRlTWVzc2FnZSgmbXNnKTsKKyAgICAgICAgICAgIDo6RGlzcGF0Y2hNZXNzYWdl
VygmbXNnKTsKKyAgICAgICAgfQogICAgIH0KIH0KIAo=
</data>
<flag name="review"
          id="63196"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>