<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>900</bug_id>
          
          <creation_ts>2011-03-17 20:32:32 +0000</creation_ts>
          <short_desc>[LTP] clock_nanosleep01 fails on qemux86-64</short_desc>
          <delta_ts>2011-09-25 19:39:26 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>6</classification_id>
          <classification>Yocto Project Subprojects</classification>
          <product>Kernel</product>
          <component>kernel-tooling</component>
          <version>unspecified</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>VERIFIED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard>Patch submitted to list (24-Aug-2011)</status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>1.1</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jiajun Xu">jiajun.xu</reporter>
          <assigned_to name="Liming Wang">liming.wang</assigned_to>
          <cc>dvhart</cc>
    
    <cc>kevin.tian</cc>
    
    <cc>richard.purdie</cc>
    
    <cc>sgw</cc>
    
    <cc>xudong.hao</cc>
    
    <cc>yp.kernel.watcher</cc>
    
    <cc>yp.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>---</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>12789</commentid>
    <comment_count>0</comment_count>
    <who name="Jiajun Xu">jiajun.xu</who>
    <bug_when>2011-03-17 20:32:32 +0000</bug_when>
    <thetext>Image location: http://autobuilder03.jf.intel.com/nightly/20110305-3/machines/qemu/qemux86_64/
Tree/Branch: Distro/Bernard
Commit: c192fefd868be53c20dfd8bc44e3e815cf53a10a

The case did not fail in v1.0 M2 testing. With v1.0 M4 RC1 and RC2, it always get failure on both sato-sdk and lsb-sdk image. The error log is as below:

#########
tag=clock_nanosleep01 stime=1299827524
cmdline=&quot;clock_nanosleep01&quot;
contacts=&quot;&quot;
analysis=exit
&lt;&lt;&lt;test_output&gt;&gt;&gt;
EXPECT: return value(ret)=0 errno=0 (Success)
RESULT: return value(ret)=0 errno=0 (Success)
EXPECT: return value(ret)=0 errno=0 (Success)
RESULT: return value(ret)=0 errno=0 (Success)
EXPECT: return value(ret)=22 errno=0 (Success)
RESULT: return value(ret)=22 errno=0 (Success)
EXPECT: return value(ret)=22 errno=0 (Success)
RESULT: return value(ret)=22 errno=0 (Success)
EXPECT: return value(ret)=4 errno=0 (Success)
RESULT: return value(ret)=4 errno=0 (Success)
clock_nanosleep01    0  TINFO  :  (case00) START
clock_nanosleep01    0  TINFO  :  check sleep time: (min:480) &lt; 501 &lt; (max:520) (msec)
clock_nanosleep01    0  TINFO  :  remain time: 0 0
clock_nanosleep01    0  TINFO  :  (case00) END =&gt; OK
clock_nanosleep01    0  TINFO  :  (case01) START
clock_nanosleep01    0  TINFO  :  check sleep time: (min:480) &lt; 500 &lt; (max:520) (msec)
clock_nanosleep01    0  TINFO  :  remain time: 0 0
clock_nanosleep01    0  TINFO  :  (case01) END =&gt; OK
clock_nanosleep01    0  TINFO  :  (case02) START
clock_nanosleep01    0  TINFO  :  remain time: 0 0
clock_nanosleep01    0  TINFO  :  (case02) END =&gt; OK
clock_nanosleep01    0  TINFO  :  (case03) START
clock_nanosleep01    0  TINFO  :  remain time: 0 0
clock_nanosleep01    0  TINFO  :  (case03) END =&gt; OK
clock_nanosleep01    0  TINFO  :  (case04) START
clock_nanosleep01    1  TFAIL  :  iclock_gettime failed: TEST_ERRNO=EINVAL(22): Invalid argument
clock_nanosleep01    0  TINFO  :  (case04) END =&gt; NG
clock_nanosleep01    0  TINFO  :  (case05) START
clock_nanosleep01    0  TINFO  :  remain time: 9 494470608
clock_nanosleep01    0  TINFO  :  (case05) END =&gt; OK
clock_nanosleep01    2  TFAIL  :  clock_nanosleep failed
clock_nanosleep01    0  TINFO  :  NG
&lt;&lt;&lt;execution_status&gt;&gt;&gt;
initiation_status=&quot;ok&quot;
duration=2 termination_type=exited termination_id=1 corefile=no
cutime=4 cstime=4
#########</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12790</commentid>
    <comment_count>1</comment_count>
      <attachid>119</attachid>
    <who name="Jiajun Xu">jiajun.xu</who>
    <bug_when>2011-03-17 20:33:10 +0000</bug_when>
    <thetext>Created attachment 119
the source file of clock_nanosleep01</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12877</commentid>
    <comment_count>2</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2011-03-21 13:15:40 +0000</bug_when>
    <thetext>There&apos;s no real changes outside of the stable update to the 
kernel in this timeframe. I&apos;m not seeing anything that would
trigger this.

Do the h/w targets exhibit this same failure ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12929</commentid>
    <comment_count>3</comment_count>
    <who name="Jiajun Xu">jiajun.xu</who>
    <bug_when>2011-03-23 07:31:19 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; There&apos;s no real changes outside of the stable update to the 
&gt; kernel in this timeframe. I&apos;m not seeing anything that would
&gt; trigger this.
&gt; Do the h/w targets exhibit this same failure ?

Yes, the case also fails on real hardware -- jasperforest and sugarbay, which use x86_64 kernel.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12939</commentid>
    <comment_count>4</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2011-03-23 12:10:43 +0000</bug_when>
    <thetext>ok. thanks for the clarification. This means more people can
debug/look into this when it bubbles up the list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14167</commentid>
    <comment_count>5</comment_count>
    <who name="Jiajun Xu">jiajun.xu</who>
    <bug_when>2011-06-06 06:41:24 +0000</bug_when>
    <thetext>The issue still exists on Yocto 1.1 M1 testing on real hardware, like sugarbay.
Tree/Branch: Poky/1.1_M1
Poky Commit: 4ff7af11ef69849ef9c16f585eae58ac920b222b
Meta Branch: 1.1_M1
Meta Commit: fc719f0cd6530ce15148b4aa274f1644b461b298</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15646</commentid>
    <comment_count>6</comment_count>
    <who name="Bruce Ashfield">bruce.ashfield</who>
    <bug_when>2011-08-22 20:08:03 +0000</bug_when>
    <thetext>sending to Liming for a 2nd level triage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15747</commentid>
    <comment_count>7</comment_count>
    <who name="Darren Hart">dvhart</who>
    <bug_when>2011-08-24 23:54:07 +0000</bug_when>
    <thetext>http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=f5cddf955d7f8a2bf3a3fadf26219a4ddcdf6279</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16462</commentid>
    <comment_count>8</comment_count>
    <who name="Jiajun Xu">jiajun.xu</who>
    <bug_when>2011-09-25 19:39:26 +0000</bug_when>
    <thetext>Verify the bug as fixed with 1.1 M4 branch.

tree/branch: poky/1.1_M4
commit: 6462c158fc482e495c1171ffc7747e2ad650a292</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>119</attachid>
            <date>2011-03-17 20:33:10 +0000</date>
            <delta_ts>2011-03-17 20:33:10 +0000</delta_ts>
            <desc>the source file of clock_nanosleep01</desc>
            <filename>clock_nanosleep01.c</filename>
            <type>text/plain</type>
            <size>16773</size>
            <attacher name="Jiajun Xu">jiajun.xu</attacher>
            
              <data encoding="base64">LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKi8KLyogQ29weXJpZ2h0IChjKSBDcmFja2VyamFjayBQcm9q
ZWN0LiwgMjAwNy0yMDA4ICxIaXRhY2hpLCBMdGQgICAgICAgICAgICAgICAgKi8KLyogICAgICAg
ICAgQXV0aG9yKHMpOiBUYWthaGlybyBZYXN1aSA8dGFrYWhpcm8ueWFzdWkubXBAaGl0YWNoaS5j
b20+LAkgICAgICAqLwovKgkJICAgICAgIFl1bWlrbyBTdWdpdGEgPHl1bWlrby5zdWdpdGEueWZA
aGl0YWNoaS5jb20+LCAJICAgICAgKi8KLyoJCSAgICAgICBTYXRvc2hpIEZ1aml3YXJhIDxzYS1m
dWppQHNkbC5oaXRhY2hpLmNvLmpwPgkgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAkgICAgICAqLwovKiBU
aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vciBtb2RpZnkgICAgICAqLwovKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSAgICAgICAqLwovKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAg
ICAgICAgICAqLwovKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LwovKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwgICAgICAgICAgICAqLwovKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7ICB3
aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgICAgICAgICAqLwovKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgICAg
ICAgICAgICAgICAgICAqLwovKiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4gICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAqLwovKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSAgICAgICAgICAqLwovKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh
bTsgIGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgICAgICAgICAgICAgICAqLwov
KiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBN
QSAwMjExMS0xMzA3IFVTQSAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwovKiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAqLwovKiBGaWxlOiAgICAgICAgY2xvY2tfbmFub3NsZWVwMDEuYyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBE
ZXNjcmlwdGlvbjogVGhpcyB0ZXN0cyB0aGUgY2xvY2tfbmFub3NsZWVwKCkgc3lzY2FsbCAgICAg
ICAgICAgICAgICAgICAgICAqLwovKgkJCQkJCQkJCSAgICAgICovCi8qIAkJCQkJCQkJCSAgICAg
ICovCi8qCQkJCQkJCQkJICAgICAgKi8KLyoJCQkJCQkJCQkgICAgICAqLwovKgkJCQkJCQkJCSAg
ICAgICovCi8qICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIFVzYWdlOiAgPGZvciBjb21tYW5kLWxp
bmU+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8q
IGNsb2NrX25hbm9zbGVlcDAxIFstYyBuXSBbLWVdWy1pIG5dIFstSSB4XSBbLXAgeF0gWy10XSAg
ICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgd2hlcmUsICAtYyBuIDogUnVuIG4gY29waWVz
IGNvbmN1cnJlbnRseS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAg
ICAgICAtZSAgIDogVHVybiBvbiBlcnJubyBsb2dnaW5nLiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICovCi8qICAgICAgICAgICAgICAtaSBuIDogRXhlY3V0ZSB0ZXN0IG4gdGltZXMu
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAtSSB4
IDogRXhlY3V0ZSB0ZXN0IGZvciB4IHNlY29uZHMuICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICovCi8qICAgICAgICAgICAgICAtUCB4IDogUGF1c2UgZm9yIHggc2Vjb25kcyBiZXR3ZWVuIGl0
ZXJhdGlvbnMuICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAgICAtdCAgIDogVHVybiBv
biBzeXNjYWxsIHRpbWluZy4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICovCi8qIFRvdGFsIFRlc3RzOiAxICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICovCi8qIFRlc3QgTmFtZTogICBjbG9ja19uYW5vc2xlZXAwMSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICovCi8qIEhpc3Rvcnk6ICAgICBQb3J0aW5n
IGZyb20gQ3JhY2tlcmphY2sgdG8gTFRQIGlzIGRvbmUgYnkgICAgICAgICAgICAgICAgICAgICov
Ci8qICAgICAgICAgICAgICBNYW5hcyBLdW1hciBOYXlhayBtYWtuYXlha0Bpbi5pYm0uY29tPiAg
ICAgICAgICAgICAgICAgICAgICAgICovCi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiNpbmNsdWRl
IDxzeXMvc3lzY2FsbC5oPgojaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxnZXRvcHQu
aD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxlcnJu
by5oPgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPHRpbWUuaD4KI2luY2x1ZGUgPHNpZ25h
bC5oPgojaW5jbHVkZSAiLi4vdXRpbHMvY29tbW9uX2pfaC5jIgojaW5jbHVkZSAiLi4vdXRpbHMv
aW5jbHVkZV9qX2guaCIKCi8qIEhhcm5lc3MgU3BlY2lmaWMgSW5jbHVkZSBGaWxlcy4gKi8KI2lu
Y2x1ZGUgInRlc3QuaCIKI2luY2x1ZGUgInVzY3Rlc3QuaCIKI2luY2x1ZGUgImxpbnV4X3N5c2Nh
bGxfbnVtYmVycy5oIgoKLyogRXh0ZXJuIEdsb2JhbCBWYXJpYWJsZXMgKi8KZXh0ZXJuIGludCBU
c3RfY291bnQ7ICAgICAgICAgICAvKiBjb3VudGVyIGZvciB0c3RfeHh4IHJvdXRpbmVzLiAgICAg
ICAgICovCmV4dGVybiBjaGFyICpURVNURElSOyAgICAgICAgICAgLyogdGVtcG9yYXJ5IGRpciBj
cmVhdGVkIGJ5IHRzdF90bXBkaXIoKSAqLwoKLyogR2xvYmFsIFZhcmlhYmxlcyAqLwpjaGFyICpU
Q0lEID0gImNsb2NrX25hbm9zbGVlcDAxIjsgIC8qIFRlc3QgcHJvZ3JhbSBpZGVudGlmaWVyLiov
CmludCAgdGVzdG5vOwppbnQgIFRTVF9UT1RBTCA9IDE7ICAgICAgICAgICAgICAgICAgIC8qIHRv
dGFsIG51bWJlciBvZiB0ZXN0cyBpbiB0aGlzIGZpbGUuICAgKi8Kc3RydWN0IHNpZ2FjdGlvbiBh
Y3Q7CgovKgogKiBzaWdoYW5kbGVyKCkKICovCnZvaWQgc2lnaGFuZGxlcihpbnQgc2lnKQp7CiAg
ICAgICAgaWYgKHNpZyA9PSBTSUdJTlQpCiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
Ly8gTk9UUkVBQ0hFRAogICAgICAgIHJldHVybjsKfQoKLyogRXh0ZXJuIEdsb2JhbCBGdW5jdGlv
bnMgKi8KLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyog
RnVuY3Rpb246ICAgIGNsZWFudXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogRGVzY3JpcHRp
b246IFBlcmZvcm1zIGFsbCBvbmUgdGltZSBjbGVhbiB1cCBmb3IgdGhpcyB0ZXN0IG9uIHN1Y2Nl
c3NmdWwgICAgKi8KLyogICAgICAgICAgICAgIGNvbXBsZXRpb24sICBwcmVtYXR1cmUgZXhpdCBv
ciAgZmFpbHVyZS4gQ2xvc2VzIGFsbCB0ZW1wb3JhcnkgKi8KLyogICAgICAgICAgICAgIGZpbGVz
LCByZW1vdmVzIGFsbCB0ZW1wb3JhcnkgZGlyZWN0b3JpZXMgZXhpdHMgdGhlIHRlc3Qgd2l0aCAg
Ki8KLyogICAgICAgICAgICAgIGFwcHJvcHJpYXRlIHJldHVybiBjb2RlIGJ5IGNhbGxpbmcgdHN0
X2V4aXQoKSBmdW5jdGlvbi4gICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogSW5w
dXQ6ICAgICAgIE5vbmUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogT3V0cHV0OiAgICAg
IE5vbmUuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyogUmV0dXJuOiAgICAgIE9uIGZhaWx1
cmUgLSBFeGl0cyBjYWxsaW5nIHRzdF9leGl0KCkuIE5vbiAnMCcgcmV0dXJuIGNvZGUuICAgKi8K
LyogICAgICAgICAgICAgIE9uIHN1Y2Nlc3MgLSBFeGl0cyBjYWxsaW5nIHRzdF9leGl0KCkuIFdp
dGggJzAnIHJldHVybiBjb2RlLiAgKi8KLyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKi8KLyoqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKi8KZXh0ZXJuIHZvaWQgY2xlYW51cCgpIHsKICAgICAgICAvKiBSZW1vdmUg
dG1wIGRpciBhbmQgYWxsIGZpbGVzIGluIGl0ICovCiAgICAgICAgVEVTVF9DTEVBTlVQOwogICAg
ICAgIHRzdF9ybWRpcigpOwoKICAgICAgICAvKiBFeGl0IHdpdGggYXBwcm9wcmlhdGUgcmV0dXJu
IGNvZGUuICovCiAgICAgICAgdHN0X2V4aXQoKTsKfQoKLyogTG9jYWwgIEZ1bmN0aW9ucyAqLwov
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBGdW5jdGlv
bjogICAgc2V0dXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBEZXNjcmlwdGlvbjogUGVy
Zm9ybXMgYWxsIG9uZSB0aW1lIHNldHVwIGZvciB0aGlzIHRlc3QuIFRoaXMgZnVuY3Rpb24gaXMg
ICAqLwovKiAgICAgICAgICAgICAgdHlwaWNhbGx5IHVzZWQgdG8gY2FwdHVyZSBzaWduYWxzLCBj
cmVhdGUgdGVtcG9yYXJ5IGRpcnMgICAgICAqLwovKiAgICAgICAgICAgICAgYW5kIHRlbXBvcmFy
eSBmaWxlcyB0aGF0IG1heSBiZSB1c2VkIGluIHRoZSBjb3Vyc2Ugb2YgdGhpcyAgICAqLwovKiAg
ICAgICAgICAgICAgdGVzdC4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBJbnB1dDogICAg
ICAgTm9uZS4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBPdXRwdXQ6ICAgICAgTm9uZS4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq
LwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAqLwovKiBSZXR1cm46ICAgICAgT24gZmFpbHVyZSAtIEV4
aXRzIGJ5IGNhbGxpbmcgY2xlYW51cCgpLiAgICAgICAgICAgICAgICAgICAgICAqLwovKiAgICAg
ICAgICAgICAgT24gc3VjY2VzcyAtIHJldHVybnMgMC4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAqLwovKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLwovKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqLwp2b2lkIHNldHVwKCkgewogICAgICAgIC8qIENhcHR1cmUgc2lnbmFscyBpZiBhbnkg
Ki8KCWFjdC5zYV9oYW5kbGVyID0gc2lnaGFuZGxlcjsKCXNpZ2ZpbGxzZXQoJmFjdC5zYV9tYXNr
KTsKCXNpZ2FjdGlvbihTSUdJTlQsICZhY3QsIE5VTEwpOwoKICAgICAgICAvKiBDcmVhdGUgdGVt
cG9yYXJ5IGRpcmVjdG9yaWVzICovCiAgICAgICAgVEVTVF9QQVVTRTsKICAgICAgICB0c3RfdG1w
ZGlyKCk7Cn0KCgovKgogKiBNYWNyb3MKICovCiNkZWZpbmUgU1lTQ0FMTF9OQU1FICAgICJjbG9j
a19uYW5vc2xlZXAiCgoKLyoKICogR2xvYmFsIHZhcmlhYmxlcwogKi8Kc3RhdGljIGludCBvcHRf
ZGVidWc7CnN0YXRpYyBjaGFyICpwcm9nbmFtZTsKCmVudW0gdGVzdF90eXBlIHsKCQlOT1JNQUws
CgkJTlVMTF9QT0lOVEVSLAoJCVNFTkRfU0lHSU5ULAp9OwoKCi8qCiAqIERhdGEgU3RydWN0dXJl
CiAqLwpzdHJ1Y3QgdGVzdF9jYXNlIHsKCWNsb2NraWRfdCBjbGtfaWQ7CglpbnQgdHR5cGU7CiAg
ICAgICAgaW50IGZsYWdzOwogICAgICAgIHRpbWVfdCBzZWM7CiAgICAgICAgbG9uZyBuc2VjOwoJ
aW50IHJldDsKICAgICAgICBpbnQgZXJyOwp9OwoKCi8qIFRlc3QgY2FzZXMKICoKICogICB0ZXN0
IHN0YXR1cyBvZiBlcnJvcnMgb24gbWFuIHBhZ2UKICoKICogICBFSU5UUiAgICAgICAgICAgICAg
diAoZnVuY3Rpb24gd2FzIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsKQogKiAgIEVJTlZBTCAgICAg
ICAgICAgICB2IChpbnZhbGlkIHR2X25zZWMsIGV0Yy4pCiAqICAgRU5PVFNVUCAgICAgICAgICAg
IGNhbid0IGNoZWNrIGJlY2F1c2Ugbm90IHN1cHBvcnRlZCBjbGtfaWQgZ2VuZXJhdGVzCiAqICAg
ICAgICAgICAgICAgICAgICAgIEVJTlZBTAogKi8KCgpzdGF0aWMgc3RydWN0IHRlc3RfY2FzZSB0
Y2FzZVtdID0gewogICAgICAgIHsgLy8gY2FzZTAwCiAgICAgICAgICAgICAgICAuY2xrX2lkICAg
ICAgICAgPSBDTE9DS19SRUFMVElNRSwKICAgICAgICAgICAgICAgIC50dHlwZSAgICAgICAgICA9
IE5PUk1BTCwKCQkuZmxhZ3MgICAgICAgICAgPSAwLAogICAgICAgICAgICAgICAgLnNlYyAgICAg
ICAgICAgID0gMCwKICAgICAgICAgICAgICAgIC5uc2VjICAgICAgICAgICA9IDUwMDAwMDAwMCwg
Ly8gNTAwbXNlYwogICAgICAgICAgICAgICAgLnJldCAgICAgICAgICAgID0gMCwKICAgICAgICAg
ICAgICAgIC5lcnIgICAgICAgICAgICA9IDAsCiAgICAgICAgfSwKICAgICAgICB7IC8vIGNhc2Uw
MQogICAgICAgICAgICAgICAgLmNsa19pZCAgICAgICAgID0gQ0xPQ0tfTU9OT1RPTklDLAogICAg
ICAgICAgICAgICAgLnR0eXBlICAgICAgICAgID0gTk9STUFMLAoJCS5mbGFncyAgICAgICAgICA9
IDAsCiAgICAgICAgICAgICAgICAuc2VjICAgICAgICAgICAgPSAwLAogICAgICAgICAgICAgICAg
Lm5zZWMgICAgICAgICAgID0gNTAwMDAwMDAwLCAvLyA1MDBtc2VjCiAgICAgICAgICAgICAgICAu
cmV0ICAgICAgICAgICAgPSAwLAogICAgICAgICAgICAgICAgLmVyciAgICAgICAgICAgID0gMCwK
ICAgICAgICB9LAoJeyAvLyBjYXNlMDIKICAgICAgICAgICAgICAgIC50dHlwZSAgICAgICAgICA9
IE5PUk1BTCwKICAgICAgICAgICAgICAgIC5jbGtfaWQgICAgICAgICA9IENMT0NLX1JFQUxUSU1F
LAogICAgICAgICAgICAgICAgLmZsYWdzICAgICAgICAgID0gMCwKICAgICAgICAgICAgICAgIC5z
ZWMgICAgICAgICAgICA9IDAsCiAgICAgICAgICAgICAgICAubnNlYyAgICAgICAgICAgPSAtMSwg
ICAvLyBpbnZhbGlkCiAgICAgICAgICAgICAgICAucmV0ICAgICAgICAgICAgPSBFSU5WQUwsCiAg
ICAgICAgICAgICAgICAuZXJyICAgICAgICAgICAgPSAwLAogICAgICAgIH0sCiAgICAgICAgeyAv
LyBjYXNlMDMKICAgICAgICAgICAgICAgIC50dHlwZSAgICAgICAgICA9IE5PUk1BTCwKICAgICAg
ICAgICAgICAgIC5jbGtfaWQgICAgICAgICA9IENMT0NLX1JFQUxUSU1FLAogICAgICAgICAgICAg
ICAgLmZsYWdzICAgICAgICAgID0gMCwKICAgICAgICAgICAgICAgIC5zZWMgICAgICAgICAgICA9
IDAsCiAgICAgICAgICAgICAgICAubnNlYyAgICAgICAgICAgPSAxMDAwMDAwMDAwLCAgIC8vIGlu
dmFsaWQKICAgICAgICAgICAgICAgIC5yZXQgICAgICAgICAgICA9IEVJTlZBTCwKICAgICAgICAg
ICAgICAgIC5lcnIgICAgICAgICAgICA9IDAsCiAgICAgICAgfSwKICAgICAgICB7IC8vIGNhc2Uw
NAogICAgICAgICAgICAgICAgLnR0eXBlICAgICAgICAgID0gTk9STUFMLAogICAgICAgICAgICAg
ICAgLmNsa19pZCAgICAgICAgID0gQ0xPQ0tfVEhSRUFEX0NQVVRJTUVfSUQsIC8vIG5vdCBzdXBw
b3J0ZWQKICAgICAgICAgICAgICAgIC5mbGFncyAgICAgICAgICA9IDAsCiAgICAgICAgICAgICAg
ICAuc2VjICAgICAgICAgICAgPSAwLAogICAgICAgICAgICAgICAgLm5zZWMgICAgICAgICAgID0g
NTAwMDAwMDAwLCAvLyA1MDBtc2VjCiAgICAgICAgICAgICAgICAucmV0ICAgICAgICAgICAgPSBF
SU5WQUwsIC8vIFJIRUw0VTEgKyAyLjYuMTggcmV0dXJucyBFSU5WQUwKICAgICAgICAgICAgICAg
IC5lcnIgICAgICAgICAgICA9IDAsCiAgICAgICAgfSwKICAgICAgICB7IC8vIGNhc2UwNQogICAg
ICAgICAgICAgICAgLnR0eXBlICAgICAgICAgID0gU0VORF9TSUdJTlQsCiAgICAgICAgICAgICAg
ICAuY2xrX2lkICAgICAgICAgPSBDTE9DS19SRUFMVElNRSwKICAgICAgICAgICAgICAgIC5mbGFn
cyAgICAgICAgICA9IDAsCiAgICAgICAgICAgICAgICAuc2VjICAgICAgICAgICAgPSAxMCwKICAg
ICAgICAgICAgICAgIC5uc2VjICAgICAgICAgICA9IDAsCiAgICAgICAgICAgICAgICAucmV0ICAg
ICAgICAgICAgPSBFSU5UUiwKICAgICAgICAgICAgICAgIC5lcnIgICAgICAgICAgICA9IDAsCiAg
ICAgICAgfSwKI2lmIDAgICAvLyBnbGliYyBnZW5lcmF0ZXMgU0VHViBlcnJvciAoUkhFTDRVMSAr
IDIuNi4xOCkKICAgICAgICB7IC8vIGNhc2VYWAogICAgICAgICAgICAgICAgLnR0eXBlICAgICAg
ICAgID0gTlVMTF9QT0lOVEVSLAogICAgICAgICAgICAgICAgLmNsa19pZCAgICAgICAgID0gQ0xP
Q0tfUkVBTFRJTUUsCiAgICAgICAgICAgICAgICAuZmxhZ3MgICAgICAgICAgPSAwLAogICAgICAg
ICAgICAgICAgLnNlYyAgICAgICAgICAgID0gMCwKICAgICAgICAgICAgICAgIC5uc2VjICAgICAg
ICAgICA9IDUwMDAwMDAwMCwgLy8gNTAwbXNlYwogICAgICAgICAgICAgICAgLnJldCAgICAgICAg
ICAgID0gRUZBVUxULAogICAgICAgICAgICAgICAgLmVyciAgICAgICAgICAgID0gMCwKICAgICAg
ICB9LAojZW5kaWYKfTsKCgovKgogKiBjaGtfZGlmZnRpbWUoKQogKiAgIFJldHVybiA6IE9LKDAp
LCBORygtMSkKICovCiNkZWZpbmUgTUFYX01TRUNfRElGRiAgIDIwCgpzdGF0aWMgaW50IGNoa19k
aWZmdGltZShzdHJ1Y3QgdGltZXNwZWMgKmJlZiwgc3RydWN0IHRpbWVzcGVjICphZnQsCiAgICAg
ICAgICAgICAgICAgICAgICAgIHRpbWVfdCBzZWMsIGxvbmcgbnNlYykKewogICAgICAgIHN0cnVj
dCB0aW1lc3BlYyB0OwogICAgICAgIHRpbWVfdCBleHBlY3Q7CiAgICAgICAgdGltZV90IHJlc3Vs
dDsKCiAgICAgICAgdC50dl9zZWMgPSBhZnQtPnR2X3NlYyAtIGJlZi0+dHZfc2VjOwogICAgICAg
IHQudHZfbnNlYyA9IGFmdC0+dHZfbnNlYyAtIGJlZi0+dHZfbnNlYzsKICAgICAgICBpZiAodC50
dl9uc2VjIDwgMCkgewogICAgICAgICAgICAgICAgdC50dl9zZWMgLT0gMTsKICAgICAgICAgICAg
ICAgIHQudHZfbnNlYyArPSAxMDAwMDAwMDAwOwogICAgICAgIH0KICAgICAgICBleHBlY3QgPSAo
c2VjICogMTAwMCkgKyAobnNlYyAvIDEwMDAwMDApOwogICAgICAgIHJlc3VsdCA9ICh0LnR2X3Nl
YyAqIDEwMDApICsgKHQudHZfbnNlYyAvIDEwMDAwMDApOwogICAgICAgIHRzdF9yZXNtKFRJTkZP
LCJjaGVjayBzbGVlcCB0aW1lOiAobWluOiVsZCkgPCAlbGQgPCAobWF4OiVsZCkgKG1zZWMpIixl
eHBlY3QgLSBNQVhfTVNFQ19ESUZGLCByZXN1bHQsIGV4cGVjdCArIE1BWF9NU0VDX0RJRkYpOwog
ICAgICAgIGlmIChyZXN1bHQgPCBleHBlY3QgLSBNQVhfTVNFQ19ESUZGIHx8IHJlc3VsdCA+IGV4
cGVjdCArIE1BWF9NU0VDX0RJRkYpCiAgICAgICAgICAgICAgICByZXR1cm4gLTE7CglyZXR1cm4g
MDsKfQoKCi8qCiAqIGRvX3Rlc3QoKQogKgogKiAgIElucHV0ICA6IFRlc3RDYXNlIERhdGEKICog
ICBSZXR1cm4gOiBSRVNVTFRfT0soMCksIFJFU1VMVF9ORygxKQogKgogKi8Kc3RhdGljIGludCBk
b190ZXN0KHN0cnVjdCB0ZXN0X2Nhc2UgKnRjKQp7CiAgICAgICAgaW50IHN5c19yZXQ7CiAgICAg
ICAgaW50IHN5c19lcnJubzsKICAgICAgICBpbnQgcmVzdWx0ID0gUkVTVUxUX09LOwogICAgICAg
IHN0cnVjdCB0aW1lc3BlYyBiZWZ0cCwgYWZ0dHAsIHJxLCBybTsKICAgICAgICBpbnQgcmMsIHJh
bmdlX29rID0gMSwgcmVtYWluX29rID0gMTsKICAgICAgICBwaWRfdCBwaWQgPSAwOwoKCSAvKgog
ICAgICAgICAqIENoZWNrIGJlZm9yZSBzbGVlcCB0aW1lCiAgICAgICAgICovCiAgICAgICAgaWYg
KHRjLT50dHlwZSA9PSBTRU5EX1NJR0lOVCkgewogICAgICAgICAgICAgICAgcGlkID0gY3JlYXRl
X3NpZ19wcm9jKDUwMDAwMCwgU0lHSU5ULCBVSU5UX01BWCk7CiAgICAgICAgICAgICAgICBpZiAo
cGlkIDwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgfQoKICAg
ICAgICAvKgogICAgICAgICAqIENoZWNrIGJlZm9yZSBzbGVlcCB0aW1lCiAgICAgICAgICovCiAg
ICAgICAgVEVTVChyYyA9IGNsb2NrX2dldHRpbWUodGMtPmNsa19pZCwgJmJlZnRwKSk7CiAgICAg
ICAgaWYgKHJjIDwgMCkgewogICAgICAgICAgICAgICAgdHN0X3Jlc20oVEZBSUx8VFRFUlJOTywg
ImljbG9ja19nZXR0aW1lIGZhaWxlZCIpOwogICAgICAgICAgICAgICAgcmVzdWx0ID0gMTsKICAg
ICAgICAgICAgICAgIGdvdG8gRVhJVDsKICAgICAgICB9CgkgLyoKICAgICAgICAgKiBFeGVjdXRl
IHN5c3RlbSBjYWxsCiAgICAgICAgICovCiAgICAgICAgcnEudHZfc2VjID0gdGMtPnNlYzsKICAg
ICAgICBycS50dl9uc2VjID0gdGMtPm5zZWM7CiAgICAgICAgLy8gISEhQ0FVVElPTjogJ2Nsb2Nr
X2dldHRpbWUnIHJldHVybnMgZXJybm8gaXRzZWxmCiAgICAgICAgZXJybm8gPSAwOwogICAgICAg
IGlmICh0Yy0+dHR5cGUgPT0gTlVMTF9QT0lOVEVSKQogICAgICAgICAgICAgICAgVEVTVChzeXNf
cmV0ID0gY2xvY2tfbmFub3NsZWVwKHRjLT5jbGtfaWQsIHRjLT5mbGFncywgTlVMTCwgJnJtKSk7
CiAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgVEVTVChzeXNfcmV0ID0gY2xvY2tfbmFub3Ns
ZWVwKHRjLT5jbGtfaWQsIHRjLT5mbGFncywgJnJxLCAmcm0pKTsKICAgICAgICBzeXNfZXJybm8g
PSBlcnJubzsKICAgICAgICBpZiAoc3lzX3JldCAhPSAwKQogICAgICAgICAgICAgICAgZ290byBU
RVNUX0VORDsKCQoJIC8qCiAgICAgICAgICogQ2hlY2sgYWZ0ZXIgc2xlZXAgdGltZQogICAgICAg
ICAqLwogICAgICAgIFRFU1QocmMgPSBjbG9ja19nZXR0aW1lKHRjLT5jbGtfaWQsICZhZnR0cCkp
OwogICAgICAgIGlmIChURVNUX1JFVFVSTiA8IDApIHsKICAgICAgICAgICAgICAgIEVQUklOVEYo
ImNsb2NrX2dldHRpbWUgZmFpbGVkLlxuIik7CiAgICAgICAgICAgICAgICByZXN1bHQgPSAxOwog
ICAgICAgICAgICAgICAgZ290byBFWElUOwogICAgICAgIH0KCXJhbmdlX29rID0gY2hrX2RpZmZ0
aW1lKCZiZWZ0cCwgJmFmdHRwLCB0Yy0+c2VjLCB0Yy0+bnNlYykgPT0gMDsKCS8qCiAgICAgICAg
ICogQ2hlY2sgcmVtYWluaW5nIHRpbWUKICAgICAgICAgKi8KVEVTVF9FTkQ6CiAgICAgICAgaWYg
KHRjLT50dHlwZSA9PSBOT1JNQUwgfHwgdGMtPnR0eXBlID09IFNFTkRfU0lHSU5UKSB7CiAgICAg
ICAgICAgICAgICB0c3RfcmVzbShUSU5GTywicmVtYWluIHRpbWU6ICVsZCAlbGQiLCBybS50dl9z
ZWMsIHJtLnR2X25zZWMpOwogICAgICAgICAgICAgICAgaWYgKHRjLT50dHlwZSA9PSBOT1JNQUwp
CiAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbl9vayA9IDE7CiAgICAgICAgICAgICAgICBl
bHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbl9vayA9IHJtLnR2X3NlYyAhPSAwIHx8
IHJtLnR2X25zZWMgIT0gMDsKICAgICAgICB9CgoJLyoKICAgICAgICAgKiBDaGVjayByZXN1bHRz
CiAgICAgICAgICovCiAgICAgICAgcmVzdWx0IHw9IChzeXNfcmV0ICE9IHRjLT5yZXQpIHx8ICFy
YW5nZV9vayB8fCAhcmVtYWluX29rOwogICAgICAgIGlmICghcmFuZ2Vfb2spCiAgICAgICAgICAg
ICAgICBQUklOVF9SRVNVTFRfRVhUUkEoMCwgdGMtPnJldCwgdGMtPmVyciwgc3lzX3JldCwgc3lz
X2Vycm5vLCJ0aW1lIHJhbmdlIGNoZWNrIiwgcmFuZ2Vfb2spOwogICAgICAgIGVsc2UKICAgICAg
ICAgICAgICAgIFBSSU5UX1JFU1VMVF9FWFRSQSgwLCB0Yy0+cmV0LCB0Yy0+ZXJyLCBzeXNfcmV0
LCBzeXNfZXJybm8sInJlbWFpbiB0aW1lIGNoZWNrIiwgcmVtYWluX29rKTsKRVhJVDoKICAgICAg
ICBpZiAocGlkID4gMCkgewogICAgICAgICAgICAgICAgaW50IHN0OwogICAgICAgICAgICAgICAg
VEVTVChraWxsKHBpZCwgU0lHVEVSTSkpOwogICAgICAgICAgICAgICAgVEVTVCh3YWl0KCZzdCkp
OwogICAgICAgIH0KICAgICAgICByZXR1cm4gcmVzdWx0Owp9CgoKLyoKICogdXNhZ2UoKQogKi8K
CnN0YXRpYyB2b2lkIHVzYWdlKGNvbnN0IGNoYXIgKnByb2duYW1lKQp7CiAgICAgICAgdHN0X3Jl
c20oVElORk8sInVzYWdlOiAlcyBbb3B0aW9uc10iLCBwcm9nbmFtZSk7CiAgICAgICAgdHN0X3Jl
c20oVElORk8sIlRoaXMgaXMgYSByZWdyZXNzaW9uIHRlc3QgcHJvZ3JhbSBvZiAlcyBzeXN0ZW0g
Y2FsbC4iLFNZU0NBTExfTkFNRSk7CiAgICAgICAgdHN0X3Jlc20oVElORk8sIm9wdGlvbnM6Iik7
CiAgICAgICAgdHN0X3Jlc20oVElORk8sIiAgICAtZCAtLWRlYnVnICAgICAgICAgICBTaG93IGRl
YnVnIG1lc3NhZ2VzIik7CiAgICAgICAgdHN0X3Jlc20oVElORk8sIiAgICAtaCAtLWhlbHAgICAg
ICAgICAgICBTaG93IHRoaXMgbWVzc2FnZSIpOwogICAgICAgIHRzdF9yZXNtKFRJTkZPLCJORyIp
OwogICAgICAgIGV4aXQoMSk7Cn0KCgovKgogKiBtYWluKCkKICovCgoKCmludCBtYWluKGludCBh
YywgY2hhciAqKmF2KSB7CglpbnQgcmVzdWx0ID0gUkVTVUxUX09LOwogICAgICAgIGludCBjOwog
ICAgICAgIGludCBpOwogICAgICAgIGludCBsYzsgICAgICAgICAgICAgICAgIC8qIGxvb3AgY291
bnRlciAqLwogICAgICAgIGNoYXIgKm1zZzsgICAgICAgICAgICAgIC8qIG1lc3NhZ2UgcmV0dXJu
ZWQgZnJvbSBwYXJzZV9vcHRzICovCgoJc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsK
ICAgICAgICAgICAgICAgIHsgImRlYnVnIiwgbm9fYXJndW1lbnQsIDAsICdkJyB9LAogICAgICAg
ICAgICAgICAgeyAiaGVscCIsICBub19hcmd1bWVudCwgMCwgJ2gnIH0sCiAgICAgICAgICAgICAg
ICB7IE5VTEwsIDAsIE5VTEwsIDAgfQogICAgICAgIH07CgoJcHJvZ25hbWUgPSBzdHJjaHIoYXZb
MF0sICcvJyk7CiAgICAgICAgcHJvZ25hbWUgPSBwcm9nbmFtZSA/IHByb2duYW1lICsgMSA6IGF2
WzBdOwkKCQogICAgICAgIC8qIHBhcnNlIHN0YW5kYXJkIG9wdGlvbnMgKi8KICAgICAgICBpZiAo
KG1zZyA9IHBhcnNlX29wdHMoYWMsIGF2LCAob3B0aW9uX3QgKilOVUxMLCBOVUxMKSkgIT0gKGNo
YXIgKilOVUxMKXsKICAgICAgICAgICAgIHRzdF9icmttKFRCUk9LLCBjbGVhbnVwLCAiT1BUSU9O
IFBBUlNJTkcgRVJST1IgLSAlcyIsIG1zZyk7CiAgICAgICAgICAgICB0c3RfZXhpdCgpOwogICAg
ICAgICAgIH0KCiAgICAgICAgc2V0dXAoKTsKCiAgICAgICAgLyogQ2hlY2sgbG9vcGluZyBzdGF0
ZSBpZiAtaSBvcHRpb24gZ2l2ZW4gKi8KICAgICAgICBmb3IgKGxjID0gMDsgVEVTVF9MT09QSU5H
KGxjKTsgKytsYykgewogICAgICAgICAgICAgICAgVHN0X2NvdW50ID0gMDsKICAgICAgICAgICAg
ICAgIGZvciAodGVzdG5vID0gMDsgdGVzdG5vIDwgVFNUX1RPVEFMOyArK3Rlc3RubykgewoJCQkg
VEVTVChjID0gZ2V0b3B0X2xvbmcoYWMsIGF2LCAiZGgiLCBsb25nX29wdGlvbnMsIE5VTEwpKTsK
CQkJIHdoaWxlKFRFU1RfUkVUVVJOICE9IC0xKSB7CgkJICAgICAgICAgICAgICAgIHN3aXRjaCAo
YykgewogICAgICAgICAgICAgICAgCQljYXNlICdkJzoKCQkgICAgICAgICAgICAgICAgICAgICAg
ICBvcHRfZGVidWcgPSAxOwogICAgICAgICAgICAgICAgCQkgICAgICAgIGJyZWFrOwoJCSAgICAg
ICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgCQkgICAgICAgIHVzYWdlKHByb2du
YW1lKTsKICAgICAgICAgICAgICAgICAgICAgICAgCQkvLyBOT1RSRUFDSEVECiAgICAgICAgICAg
ICAgICAJCX0KCQkgICAgICAgIH0KCgoJCWlmIChhYyAhPSBvcHRpbmQpIHsKICAgICAgICAJICAg
ICAgICB0c3RfcmVzbShUSU5GTywiT3B0aW9ucyBhcmUgbm90IG1hdGNoLiIpOwogICAgICAgICAg
ICAgICAgCXVzYWdlKHByb2duYW1lKTsKICAgICAgICAgICAgICAgIAkvLyBOT1RSRUFDSEVECgkg
ICAgICAgIH0KCgkJLyoKCQkqIEV4ZWN1dGUgdGVzdAogICAgICAgICAJKi8KCSAgICAgICAgZm9y
IChpID0gMDsgaSA8IChpbnQpKHNpemVvZih0Y2FzZSkgLyBzaXplb2YodGNhc2VbMF0pKTsgaSsr
KSB7CiAgICAgICAgCSAgICAgICAgaW50IHJldDsKCSAgICAgICAgICAgICAgICB0c3RfcmVzbShU
SU5GTywiKGNhc2UlMDJkKSBTVEFSVCIsIGkpOwoJICAgICAgICAgICAgICAgIHJldCA9IGRvX3Rl
c3QoJnRjYXNlW2ldKTsKCSAgICAgICAgICAgICAgICB0c3RfcmVzbShUSU5GTywiKGNhc2UlMDJk
KSBFTkQgPT4gJXMiLCBpLCAocmV0ID09IDApID8gIk9LIiA6ICJORyIpOwoJICAgICAgICAgICAg
ICAgIHJlc3VsdCB8PSByZXQ7CiAgICAgICAgCX0KCQkKCQkvKgogICAgICAgIAkgKiBDaGVjayBy
ZXN1bHRzCiAgICAgICAgIAkqLwogICAgICAgIAlzd2l0Y2gocmVzdWx0KSB7CgkgICAgICAgIGNh
c2UgUkVTVUxUX09LOgogICAgICAgIAkJCXRzdF9yZXNtKFRQQVNTLCAiY2xvY2tfbmFub3NsZWVw
IGNhbGwgc3VjY2VlZGVkIik7CgkJICAgICAgICAgICAgICAgIGJyZWFrOwoKCSAgICAgICAgZGVm
YXVsdDoKICAgICAgICAgICAgICAgICAJICAgCXRzdF9yZXNtKFRGQUlMLCAiY2xvY2tfbmFub3Ns
ZWVwIGZhaWxlZCIpOwogICAgICAgIAkJICAgICAgICB0c3RfcmVzbShUSU5GTywiTkciKTsKCQkJ
CWNsZWFudXAoKTsKCQkJCXRzdF9leGl0KCk7CgkJICAgICAgICAgICAgICAgIGJyZWFrOwogICAg
ICAgIAl9CgogICAgICAgICAgICAgICAgfQogICAgICAgIH0JCiAgICAgICAgY2xlYW51cCgpOwoJ
dHN0X2V4aXQoKTsKfQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>