<?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>111145</bug_id>
          
          <creation_ts>2013-02-28 23:36:03 -0800</creation_ts>
          <short_desc>Don&apos;t return statistics in PerfTest.run</short_desc>
          <delta_ts>2013-03-01 12:06:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</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>
          <dependson>110842</dependson>
          <blocked>111148</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>benjamin</cc>
    
    <cc>dpranke</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>844855</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-28 23:36:03 -0800</bug_when>
    <thetext>Now that we don&apos;t include statistics such as mean, stdev, etc... in our output JSON files, there is no point in returning them from PerfTest.run.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844862</commentid>
    <comment_count>1</comment_count>
      <attachid>190893</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-28 23:45:54 -0800</bug_when>
    <thetext>Created attachment 190893
Cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844876</commentid>
    <comment_count>2</comment_count>
      <attachid>190898</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-01 00:12:26 -0800</bug_when>
    <thetext>Created attachment 190898
Cleaned up more</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845377</commentid>
    <comment_count>3</comment_count>
      <attachid>190898</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2013-03-01 11:56:33 -0800</bug_when>
    <thetext>Comment on attachment 190898
Cleaned up more

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

&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:259
&gt; +            if not isinstance(iteration_values, list):  # We can&apos;t reports results without indivisual measurements.

nit: &quot;individual&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845381</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-03-01 12:06:01 -0800</bug_when>
    <thetext>Committed r144478: &lt;http://trac.webkit.org/changeset/144478&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190893</attachid>
            <date>2013-02-28 23:45:54 -0800</date>
            <delta_ts>2013-03-01 00:12:23 -0800</delta_ts>
            <desc>Cleanup</desc>
            <filename>bug-111145-20130228234205.patch</filename>
            <type>text/plain</type>
            <size>17811</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE0NDQyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ3IEBACisyMDEzLTAyLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIERvbid0IHJldHVybiBzdGF0aXN0aWNzIGluIFBlcmZUZXN0LnJ1bgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGx5IHJldHVybiBh
IGxpc3Qgb2YgdmFsdWVzIG9idGFpbmVkIGluIGVhY2ggaXRlcmF0aW9uIGZyb20gUGVyZlRlc3Qu
cnVuLgorICAgICAgICBBbHNvIHNpbXBsaWZ5IHZhcmlvdXMgbWV0aG9kcyBhcyBuZWVkZWQuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5
OgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMuX19pbml0X18pOiBNb3ZlZCB0aGUgY29kZSB0byBj
b252ZXJ0ICdUaW1lJyBtZXRyaWMgdG8gJ0ZyYW1lUmF0ZScgYW5kICdSdW5zJworICAgICAgICBh
cyBuZWVkZWQgZnJvbSBQZXJmVGVzdHNSdW5uZXIuX2dlbmVyYXRlX3Jlc3VsdHNfZGljdC4KKwor
ICAgICAgICAoUGVyZlRlc3RNZXRyaWMubGVnYWN5X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rl
c3RfbmFtZSk6IEFsd2F5cyBhcHBlbmQgdGhlIG1ldHJpYyBuYW1lIG5vdworICAgICAgICB0aGF0
IHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkg
aGVyZS4KKworICAgICAgICAoUGVyZlRlc3RNZXRyaWMuaXRlcmF0aW9uX3ZhbHVlcyk6IEFkZGVk
LgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMuc3RhdGlzdGljcyk6IEFkZGVkLgorICAgICAgICAo
UGVyZlRlc3RNZXRyaWMudW5pdCk6IEFkZGVkLgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMubWV0
cmljX3RvX3VuaXQpOgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMudGltZV91bml0X3RvX21ldHJp
Yyk6IEV4dHJhY3RlZCBmcm9tIFBlcmZUZXN0c1J1bm5lci5fZ2VuZXJhdGVfcmVzdWx0c19kaWN0
LgorCisgICAgICAgIChQZXJmVGVzdE1ldHJpYy5jb21wdXRlX3N0YXRpc3RpY3MpOiBGaXhlZCBj
YW1lbENhc2UuIEFsc28gdXNlICdtZWFuJyBpbnN0ZWFkIG9mICdhdmcnLgorICAgICAgICAoUGVy
ZlRlc3QucnVuKTogTWVyZ2VkIG91dHB1dF9zdGF0aXN0aWNzLgorCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdF91bml0dGVzdC5weToKKyAgICAg
ICAgKFRlc3RQZXJmVGVzdE1ldHJpYy50ZXN0X2luaXRfc2V0X21pc3NpbmdfdW5pdCk6CisgICAg
ICAgIChUZXN0UGVyZlRlc3RNZXRyaWMudGVzdF9pbml0X3NldF90aW1lX21ldHJpYyk6IEFkZGVk
LgorICAgICAgICAoVGVzdFBlcmZUZXN0TWV0cmljLnRlc3RfbGVnYWN5X2Nocm9taXVtX2JvdF9j
b21wYXRpYmxlX3Rlc3RfbmFtZSk6CisgICAgICAgIChUZXN0UGVyZlRlc3RNZXRyaWMudGVzdF9h
cHBlbmQpOgorICAgICAgICAoVGVzdFBlcmZUZXN0TWV0cmljLnRlc3RfY29tcHV0ZV9zdGF0aXN0
aWNzKToKKyAgICAgICAgKFRlc3RQZXJmVGVzdC5fYXNzZXJ0X3Jlc3VsdHNfYXJlX2NvcnJlY3Qp
OgorICAgICAgICAoVGVzdFJlcGxheVBlcmZUZXN0LnRlc3RfcnVuX3dpdGhfZHJpdmVyX2FjY3Vt
dWxhdGVzX3Jlc3VsdHMpOgorICAgICAgICAoVGVzdFJlcGxheVBlcmZUZXN0LnRlc3RfcnVuX3dp
dGhfZHJpdmVyX2FjY3VtdWxhdGVzX21lbW9yeV9yZXN1bHRzKToKKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5OgorICAgICAg
ICAoUGVyZlRlc3RzUnVubmVyLl9nZW5lcmF0ZV9yZXN1bHRzX2RpY3QpOgorCisgICAgICAgICog
U2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfaW50ZWdy
YXRpb250ZXN0LnB5OgorICAgICAgICAoRXZlbnRUYXJnZXRXcmFwcGVyVGVzdERhdGEpOiBUaGUg
bWV0cmljIG5hbWUgc2hvd3MgdXAgYXQgdGhlIGVuZCBvZiB0aGUgdGVzdCBuYW1lIGFzIGV4cGVj
dGVkLgorICAgICAgICAoU29tZVBhcnNlclRlc3REYXRhKTogRGl0dG8uCisgICAgICAgIChNZW1v
cnlUZXN0RGF0YSk6IERpdHRvLgorCiAyMDEzLTAyLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgogCiAgICAgICAgIE1lcmdlIFBlcmZUZXN0UnVubmVyLl9ydW5fc2luZ2xlX3Rl
c3QgaW50byBQZXJmVGVzdFJ1bm5lci5fcnVuX3Rlc3RzX3NldApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdC5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5CShyZXZp
c2lvbiAxNDQ0MTYpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3Rz
L3BlcmZ0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC01NCw5ICs1NCwxMCBAQCBfbG9nID0gbG9n
Z2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiAKIGNsYXNzIFBlcmZUZXN0TWV0cmljKG9iamVjdCk6
CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIG1ldHJpYywgdW5pdD1Ob25lLCBpdGVyYXRpb25zPU5v
bmUpOgotICAgICAgICBzZWxmLl9tZXRyaWMgPSBtZXRyaWMKKyAgICAgICAgIyBGSVhNRTogRml4
IHJ1bm5lci5qcyB0byByZXBvcnQgY29ycmVjdCBtZXRyaWMgbmFtZXMKICAgICAgICAgc2VsZi5f
aXRlcmF0aW9ucyA9IGl0ZXJhdGlvbnMgb3IgW10KICAgICAgICAgc2VsZi5fdW5pdCA9IHVuaXQg
b3Igc2VsZi5tZXRyaWNfdG9fdW5pdChtZXRyaWMpCisgICAgICAgIHNlbGYuX21ldHJpYyA9IHNl
bGYudGltZV91bml0X3RvX21ldHJpYyhzZWxmLl91bml0KSBpZiBtZXRyaWMgPT0gJ1RpbWUnIGVs
c2UgbWV0cmljCiAKICAgICBkZWYgbWV0cmljKHNlbGYpOgogICAgICAgICByZXR1cm4gc2VsZi5f
bWV0cmljCkBAIC02Nyw0MyArNjgsNDkgQEAgY2xhc3MgUGVyZlRlc3RNZXRyaWMob2JqZWN0KToK
ICAgICAjIEZJWE1FOiBXZSBkb24ndCBuZWVkIHRvIHN1cHBvcnQgdGhpcyBhbnltb3JlLiBNYWtl
IG91dHB1dHMgbW9yZSBodW1hbiBmcmllbmRseS4KICAgICBkZWYgbGVnYWN5X2Nocm9taXVtX2Jv
dF9jb21wYXRpYmxlX3Rlc3RfbmFtZShzZWxmLCB0ZXN0X25hbWVfd2l0aF9leHRlbnNpb24pOgog
ICAgICAgICB0ZXN0X25hbWUgPSByZS5zdWIocidcLlx3KyQnLCAnJywgdGVzdF9uYW1lX3dpdGhf
ZXh0ZW5zaW9uKQotICAgICAgICByZXR1cm4gdGVzdF9uYW1lIGlmIHNlbGYuX21ldHJpYyA9PSAn
VGltZScgZWxzZSB0ZXN0X25hbWUgKyAnOicgKyBzZWxmLl9tZXRyaWMKKyAgICAgICAgcmV0dXJu
IHRlc3RfbmFtZSArICc6JyArIHNlbGYuX21ldHJpYwogCiAgICAgZGVmIGFwcGVuZChzZWxmLCB2
YWx1ZSk6CiAgICAgICAgIHNlbGYuX2l0ZXJhdGlvbnMuYXBwZW5kKHZhbHVlKQogCi0gICAgZGVm
IHRvX2RpY3Qoc2VsZik6CisgICAgZGVmIGl0ZXJhdGlvbl92YWx1ZXMoc2VsZik6CisgICAgICAg
IHJldHVybiBzZWxmLl9pdGVyYXRpb25zCisKKyAgICBkZWYgc3RhdGlzdGljcyhzZWxmKToKICAg
ICAgICAgYXNzZXJ0IHNlbGYuaGFzX3ZhbHVlcygpCi0gICAgICAgIHN0YXRpc3RpY3MgPSBzZWxm
LmNvbXB1dGVfc3RhdGlzdGljcyhzZWxmLl9pdGVyYXRpb25zKQotICAgICAgICBzdGF0aXN0aWNz
Wyd1bml0J10gPSBzZWxmLl91bml0Ci0gICAgICAgIHN0YXRpc3RpY3NbJ3ZhbHVlcyddID0gc2Vs
Zi5faXRlcmF0aW9ucwotICAgICAgICByZXR1cm4gc3RhdGlzdGljcworICAgICAgICByZXR1cm4g
c2VsZi5jb21wdXRlX3N0YXRpc3RpY3Moc2VsZi5faXRlcmF0aW9ucykKIAotICAgIEBjbGFzc21l
dGhvZAotICAgIGRlZiBtZXRyaWNfdG9fdW5pdChjbHMsIG1ldHJpYyk6CisgICAgZGVmIHVuaXQo
c2VsZik6CisgICAgICAgIHJldHVybiBzZWxmLl91bml0CisKKyAgICBAc3RhdGljbWV0aG9kCisg
ICAgZGVmIG1ldHJpY190b191bml0KG1ldHJpYyk6CiAgICAgICAgIGFzc2VydCBtZXRyaWMgaW4g
KCdUaW1lJywgJ01hbGxvYycsICdKU0hlYXAnKQogICAgICAgICByZXR1cm4gJ21zJyBpZiBtZXRy
aWMgPT0gJ1RpbWUnIGVsc2UgJ2J5dGVzJwogCiAgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiB0
aW1lX3VuaXRfdG9fbWV0cmljKHVuaXQpOgorICAgICAgICByZXR1cm4geydmcHMnOiAnRnJhbWVS
YXRlJywgJ3J1bnMvcyc6ICdSdW5zJywgJ21zJzogJ1RpbWUnfVt1bml0XQorCisgICAgQHN0YXRp
Y21ldGhvZAogICAgIGRlZiBjb21wdXRlX3N0YXRpc3RpY3ModmFsdWVzKToKICAgICAgICAgc29y
dGVkX3ZhbHVlcyA9IHNvcnRlZCh2YWx1ZXMpCiAKICAgICAgICAgIyBDb21wdXRlIHRoZSBtZWFu
IGFuZCB2YXJpYW5jZSB1c2luZyBLbnV0aCdzIG9ubGluZSBhbGdvcml0aG0gKGhhcyBnb29kIG51
bWVyaWNhbCBzdGFiaWxpdHkpLgotICAgICAgICBzcXVhcmVTdW0gPSAwCisgICAgICAgIHNxdWFy
ZV9zdW0gPSAwCiAgICAgICAgIG1lYW4gPSAwCiAgICAgICAgIGZvciBpLCB0aW1lIGluIGVudW1l
cmF0ZShzb3J0ZWRfdmFsdWVzKToKICAgICAgICAgICAgIGRlbHRhID0gdGltZSAtIG1lYW4KICAg
ICAgICAgICAgIHN3ZWVwID0gaSArIDEuMAogICAgICAgICAgICAgbWVhbiArPSBkZWx0YSAvIHN3
ZWVwCi0gICAgICAgICAgICBzcXVhcmVTdW0gKz0gZGVsdGEgKiAodGltZSAtIG1lYW4pCisgICAg
ICAgICAgICBzcXVhcmVfc3VtICs9IGRlbHRhICogKHRpbWUgLSBtZWFuKQogCiAgICAgICAgIG1p
ZGRsZSA9IGludChsZW4oc29ydGVkX3ZhbHVlcykgLyAyKQotICAgICAgICByZXN1bHQgPSB7J2F2
Zyc6IHN1bShzb3J0ZWRfdmFsdWVzKSAvIGxlbih2YWx1ZXMpLAorICAgICAgICByZXR1cm4geydt
ZWFuJzogc3VtKHNvcnRlZF92YWx1ZXMpIC8gbGVuKHZhbHVlcyksCiAgICAgICAgICAgICAnbWlu
Jzogc29ydGVkX3ZhbHVlc1swXSwKICAgICAgICAgICAgICdtYXgnOiBzb3J0ZWRfdmFsdWVzWy0x
XSwKICAgICAgICAgICAgICdtZWRpYW4nOiBzb3J0ZWRfdmFsdWVzW21pZGRsZV0gaWYgbGVuKHNv
cnRlZF92YWx1ZXMpICUgMiBlbHNlIChzb3J0ZWRfdmFsdWVzW21pZGRsZSAtIDFdICsgc29ydGVk
X3ZhbHVlc1ttaWRkbGVdKSAvIDIsCi0gICAgICAgICAgICAnc3RkZXYnOiBtYXRoLnNxcnQoc3F1
YXJlU3VtIC8gKGxlbihzb3J0ZWRfdmFsdWVzKSAtIDEpKSBpZiBsZW4oc29ydGVkX3ZhbHVlcykg
PiAxIGVsc2UgMH0KLSAgICAgICAgcmV0dXJuIHJlc3VsdAorICAgICAgICAgICAgJ3N0ZGV2Jzog
bWF0aC5zcXJ0KHNxdWFyZV9zdW0gLyAobGVuKHNvcnRlZF92YWx1ZXMpIC0gMSkpIGlmIGxlbihz
b3J0ZWRfdmFsdWVzKSA+IDEgZWxzZSAwfQogCiAKIGNsYXNzIFBlcmZUZXN0KG9iamVjdCk6CkBA
IC0xMzgsMTYgKzE0NSwyMyBAQCBjbGFzcyBQZXJmVGVzdChvYmplY3QpOgogICAgICAgICBpZiBu
b3QgbWV0cmljczoKICAgICAgICAgICAgIHJldHVybiBtZXRyaWNzCiAKKyAgICAgICAgc2hvdWxk
X2xvZyA9IG5vdCBzZWxmLl9wb3J0LmdldF9vcHRpb24oJ3Byb2ZpbGUnKQorICAgICAgICBpZiBz
aG91bGRfbG9nIGFuZCBzZWxmLl9kZXNjcmlwdGlvbjoKKyAgICAgICAgICAgIF9sb2cuaW5mbygn
REVTQ1JJUFRJT046ICVzJyAlIHNlbGYuX2Rlc2NyaXB0aW9uKQorCiAgICAgICAgIHJlc3VsdHMg
PSB7fQogICAgICAgICBmb3IgbWV0cmljIGluIG1ldHJpY3M6CiAgICAgICAgICAgICBsZWdhY3lf
dGVzdF9uYW1lID0gbWV0cmljLmxlZ2FjeV9jaHJvbWl1bV9ib3RfY29tcGF0aWJsZV90ZXN0X25h
bWUoc2VsZi50ZXN0X25hbWUoKSkKLSAgICAgICAgICAgIHJlc3VsdHNbbGVnYWN5X3Rlc3RfbmFt
ZV0gPSBtZXRyaWMudG9fZGljdCgpCisgICAgICAgICAgICByZXN1bHRzW2xlZ2FjeV90ZXN0X25h
bWVdID0gbWV0cmljLml0ZXJhdGlvbl92YWx1ZXMoKQogCi0gICAgICAgIGlmIG5vdCBzZWxmLl9w
b3J0LmdldF9vcHRpb24oJ3Byb2ZpbGUnKToKLSAgICAgICAgICAgIGlmIHNlbGYuX2Rlc2NyaXB0
aW9uOgotICAgICAgICAgICAgICAgIF9sb2cuaW5mbygnREVTQ1JJUFRJT046ICVzJyAlIHNlbGYu
X2Rlc2NyaXB0aW9uKQotICAgICAgICAgICAgZm9yIHJlc3VsdF9uYW1lIGluIHNvcnRlZChyZXN1
bHRzLmtleXMoKSk6Ci0gICAgICAgICAgICAgICAgc2VsZi5vdXRwdXRfc3RhdGlzdGljcyhyZXN1
bHRfbmFtZSwgcmVzdWx0c1tyZXN1bHRfbmFtZV0pCisgICAgICAgICAgICBpZiBub3Qgc2hvdWxk
X2xvZzoKKyAgICAgICAgICAgICAgICBjb250aW51ZQorCisgICAgICAgICAgICBzdGF0aXN0aWNz
ID0gbWV0cmljLnN0YXRpc3RpY3MoKQorICAgICAgICAgICAgdW5pdCA9IG1ldHJpYy51bml0KCkK
KyAgICAgICAgICAgIGNocm9taXVtX3BlcmZfYm90X2NvbXBhdGlibGVfbmFtZSA9IGxlZ2FjeV90
ZXN0X25hbWUucmVwbGFjZSgnOicsICc6ICcpLnJlcGxhY2UoJy8nLCAnOiAnKQorICAgICAgICAg
ICAgX2xvZy5pbmZvKCdSRVNVTFQgJXM9ICVzICVzJyAlIChjaHJvbWl1bV9wZXJmX2JvdF9jb21w
YXRpYmxlX25hbWUsIHN0YXRpc3RpY3NbJ21lYW4nXSwgdW5pdCkpCisgICAgICAgICAgICBfbG9n
LmluZm8oJywgJy5qb2luKFsnJXM9ICVzICVzJyAlIChrZXksIHN0YXRpc3RpY3Nba2V5XSwgdW5p
dCkgZm9yIGtleSBpbiAoJ21lZGlhbicsICdzdGRldicsICdtaW4nLCAnbWF4JyldKSkKIAogICAg
ICAgICByZXR1cm4gcmVzdWx0cwogCkBAIC0yNDIsMTEgKzI1Niw2IEBAIGNsYXNzIFBlcmZUZXN0
KG9iamVjdCk6CiAgICAgICAgIGlmIG91dHB1dC50ZXh0OgogICAgICAgICAgICAgb3V0cHV0LnRl
eHQgPSAnXG4nLmpvaW4oW2xpbmUgZm9yIGxpbmUgaW4gcmUuc3BsaXQoJ1xuJywgb3V0cHV0LnRl
eHQpIGlmIG5vdCBzZWxmLl9zaG91bGRfaWdub3JlX2xpbmUoc2VsZi5fbGluZXNfdG9faWdub3Jl
X2luX3BhcnNlcl9yZXN1bHQsIGxpbmUpXSkKIAotICAgIGRlZiBvdXRwdXRfc3RhdGlzdGljcyhz
ZWxmLCB0ZXN0X25hbWUsIHJlc3VsdHMpOgotICAgICAgICB1bml0ID0gcmVzdWx0c1sndW5pdCdd
Ci0gICAgICAgIF9sb2cuaW5mbygnUkVTVUxUICVzPSAlcyAlcycgJSAodGVzdF9uYW1lLnJlcGxh
Y2UoJzonLCAnOiAnKS5yZXBsYWNlKCcvJywgJzogJyksIHJlc3VsdHNbJ2F2ZyddLCB1bml0KSkK
LSAgICAgICAgX2xvZy5pbmZvKCcsICcuam9pbihbJyVzPSAlcyAlcycgJSAoa2V5LCByZXN1bHRz
W2tleV0sIHVuaXQpIGZvciBrZXkgaW4gc2VsZi5fc3RhdGlzdGljc19rZXlzWzE6NV1dKSkKLQog
CiBjbGFzcyBDaHJvbWl1bVN0eWxlUGVyZlRlc3QoUGVyZlRlc3QpOgogICAgIF9jaHJvbWl1bV9z
dHlsZV9yZXN1bHRfcmVnZXggPSByZS5jb21waWxlKHInXlJFU1VMVFxzKyg/UDxuYW1lPltePV0r
KVxzKj1ccysoP1A8dmFsdWU+XGQrKFwuXGQrKT8pXHMqKD9QPHVuaXQ+XHcrKSQnKQpJbmRleDog
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdF91bml0dGVz
dC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rl
c3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAxNDQ0MTYpCisrKyBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTcgQEAgY2xhc3MgTW9ja1BvcnQoVGVzdFBvcnQpOgog
CiBjbGFzcyBUZXN0UGVyZlRlc3RNZXRyaWModW5pdHRlc3QuVGVzdENhc2UpOgogICAgIGRlZiB0
ZXN0X2luaXRfc2V0X21pc3NpbmdfdW5pdChzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChQZXJmVGVzdE1ldHJpYygnVGltZScsIGl0ZXJhdGlvbnM9WzEsIDIsIDMsIDQsIDVdKS50b19k
aWN0KClbJ3VuaXQnXSwgJ21zJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQZXJmVGVzdE1l
dHJpYygnTWFsbG9jJywgaXRlcmF0aW9ucz1bMSwgMiwgMywgNCwgNV0pLnRvX2RpY3QoKVsndW5p
dCddLCAnYnl0ZXMnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdK
U0hlYXAnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudG9fZGljdCgpWyd1bml0J10sICdi
eXRlcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMoJ1RpbWUnLCBp
dGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudW5pdCgpLCAnbXMnKQorICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdNYWxsb2MnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0
LCA1XSkudW5pdCgpLCAnYnl0ZXMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0
TWV0cmljKCdKU0hlYXAnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudW5pdCgpLCAnYnl0
ZXMnKQorCisgICAgZGVmIHRlc3RfaW5pdF9zZXRfdGltZV9tZXRyaWMoc2VsZik6CisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMoJ1RpbWUnLCAnbXMnKS5tZXRyaWMoKSwg
J1RpbWUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdUaW1lJywg
J2ZwcycpLm1ldHJpYygpLCAnRnJhbWVSYXRlJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQ
ZXJmVGVzdE1ldHJpYygnVGltZScsICdydW5zL3MnKS5tZXRyaWMoKSwgJ1J1bnMnKQogCiAgICAg
ZGVmIHRlc3RfbGVnYWN5X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZShzZWxmKToK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQZXJmVGVzdE1ldHJpYygnVGltZScpLmxlZ2FjeV9j
aHJvbWl1bV9ib3RfY29tcGF0aWJsZV90ZXN0X25hbWUoJ3Rlc3QnKSwgJ3Rlc3QnKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdUaW1lJykubGVnYWN5X2Nocm9taXVt
X2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZSgndGVzdCcpLCAndGVzdDpUaW1lJykKICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChQZXJmVGVzdE1ldHJpYygnTWFsbG9jJykubGVnYWN5X2Nocm9taXVt
X2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZSgndGVzdCcpLCAndGVzdDpNYWxsb2MnKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdKU0hlYXAnKS5sZWdhY3lfY2hyb21p
dW1fYm90X2NvbXBhdGlibGVfdGVzdF9uYW1lKCd0ZXN0JyksICd0ZXN0OkpTSGVhcCcpCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMoJ0ZvbnRTaXplJywgdW5pdD0nZW0n
KS5sZWdhY3lfY2hyb21pdW1fYm90X2NvbXBhdGlibGVfdGVzdF9uYW1lKCd0ZXN0JyksICd0ZXN0
OkZvbnRTaXplJykKQEAgLTczLDE0ICs3OCwxNCBAQCBjbGFzcyBUZXN0UGVyZlRlc3RNZXRyaWMo
dW5pdHRlc3QuVGVzdENhCiAgICAgICAgIG1ldHJpYy5hcHBlbmQoMSkKICAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKG1ldHJpYy5oYXNfdmFsdWVzKCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
bWV0cmljMi5oYXNfdmFsdWVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljLnRv
X2RpY3QoKVsndmFsdWVzJ10sIFsxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWMu
aXRlcmF0aW9uX3ZhbHVlcygpLCBbMV0pCiAgICAgICAgIG1ldHJpYy5hcHBlbmQoMikKLSAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWMudG9fZGljdCgpWyd2YWx1ZXMnXSwgWzEsIDJdKQor
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldHJpYy5pdGVyYXRpb25fdmFsdWVzKCksIFsxLCAy
XSkKIAogICAgICAgICBtZXRyaWMyLmFwcGVuZCgzKQogICAgICAgICBzZWxmLmFzc2VydFRydWUo
bWV0cmljMi5oYXNfdmFsdWVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljLnRv
X2RpY3QoKVsndmFsdWVzJ10sIFsxLCAyXSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRy
aWMyLnRvX2RpY3QoKVsndmFsdWVzJ10sIFszXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCht
ZXRyaWMuaXRlcmF0aW9uX3ZhbHVlcygpLCBbMSwgMl0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobWV0cmljMi5pdGVyYXRpb25fdmFsdWVzKCksIFszXSkKIAogICAgIGRlZiB0ZXN0X2NvbXB1
dGVfc3RhdGlzdGljcyhzZWxmKToKICAgICAgICAgZGVmIGNvbXB1dGVfc3RhdGlzdGljcyh2YWx1
ZXMpOgpAQCAtODgsMTQgKzkzLDE0IEBAIGNsYXNzIFRlc3RQZXJmVGVzdE1ldHJpYyh1bml0dGVz
dC5UZXN0Q2EKICAgICAgICAgICAgIHJldHVybiBqc29uLmxvYWRzKGpzb24uZHVtcHMoc3RhdGlz
dGljcykpCiAKICAgICAgICAgc3RhdGlzdGljcyA9IGNvbXB1dGVfc3RhdGlzdGljcyhbMTAsIDks
IDgsIDcsIDYsIDUsIDQsIDMsIDIsIDEsIDIwLCAxOSwgMTgsIDE3LCAxNiwgMTUsIDE0LCAxMywg
MTIsIDExXSkKLSAgICAgICAgc2VsZi5hc3NlcnRJdGVtc0VxdWFsKHN0YXRpc3RpY3Mua2V5cygp
LCBbJ2F2ZycsICdtYXgnLCAnbWVkaWFuJywgJ21pbicsICdzdGRldiddKQotICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKHN0YXRpc3RpY3NbJ2F2ZyddLCAxMC41KQorICAgICAgICBzZWxmLmFzc2Vy
dEl0ZW1zRXF1YWwoc3RhdGlzdGljcy5rZXlzKCksIFsnbWVhbicsICdtYXgnLCAnbWVkaWFuJywg
J21pbicsICdzdGRldiddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXRpc3RpY3NbJ21l
YW4nXSwgMTAuNSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0aXN0aWNzWydtaW4nXSwg
MSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzdGF0aXN0aWNzWydtYXgnXSwgMjApCiAgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGlzdGljc1snbWVkaWFuJ10sIDEwLjUpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFs4LCA5LCAxMCwgMTEsIDEyXSlb
J2F2ZyddLCAxMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21wdXRlX3N0YXRpc3RpY3Mo
WzgsIDksIDEwLCAxMSwgMTJdICogNClbJ2F2ZyddLCAxMCkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChjb21wdXRlX3N0YXRpc3RpY3MoWzEsIDIsIDMsIDQsIDUsIDYsIDcsIDgsIDksIDEwLCAx
MSwgMTIsIDEzLCAxNCwgMTUsIDE2LCAxNywgMTgsIDE5XSlbJ2F2ZyddLCAxMCkKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChjb21wdXRlX3N0YXRpc3RpY3MoWzgsIDksIDEwLCAxMSwgMTJdKVsn
bWVhbiddLCAxMCkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21wdXRlX3N0YXRpc3RpY3Mo
WzgsIDksIDEwLCAxMSwgMTJdICogNClbJ21lYW4nXSwgMTApCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwg
MTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOV0pWydtZWFuJ10sIDEwKQogICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKGNvbXB1dGVfc3RhdGlzdGljcyhbMSwgNSwgMiwgOCwgN10pWydt
ZWRpYW4nXSwgNSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChjb21wdXRlX3N0YXRpc3RpY3Mo
WzEsIDYsIDIsIDgsIDcsIDJdKVsnbWVkaWFuJ10sIDQpCiAgICAgICAgIHNlbGYuYXNzZXJ0QWxt
b3N0RXF1YWwoc3RhdGlzdGljc1snc3RkZXYnXSwgbWF0aC5zcXJ0KDM1KSkKQEAgLTEwOSwxNSAr
MTE0LDcgQEAgY2xhc3MgVGVzdFBlcmZUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICAgICAg
dGVzdC5ydW5fc2luZ2xlID0gbGFtYmRhIGRyaXZlciwgcGF0aCwgdGltZV9vdXRfbXM6IG91dHB1
dAogICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IHRlc3QuX3J1bl93aXRoX2RyaXZlcihOb25lLCBO
b25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihwYXJzZWRfcmVzdWx0cyksIDEpCi0g
ICAgICAgIHNvbWVfdGVzdF9yZXN1bHRzID0gcGFyc2VkX3Jlc3VsdHNbMF0udG9fZGljdCgpCi0g
ICAgICAgIHNlbGYuYXNzZXJ0SXRlbXNFcXVhbChzb21lX3Rlc3RfcmVzdWx0cy5rZXlzKCksIFsn
YXZnJywgJ21heCcsICdtZWRpYW4nLCAnbWluJywgJ3N0ZGV2JywgJ3VuaXQnLCAndmFsdWVzJ10p
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ3ZhbHVlcyddLCBb
MTA4MCwgMTEyMCwgMTA5NSwgMTEwMSwgMTEwNF0pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
c29tZV90ZXN0X3Jlc3VsdHNbJ21pbiddLCAxMDgwKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KHNvbWVfdGVzdF9yZXN1bHRzWydtYXgnXSwgMTEyMCkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChzb21lX3Rlc3RfcmVzdWx0c1snYXZnJ10sIDExMDApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21lZGlhbiddLCAxMTAxKQotICAgICAgICBzZWxmLmFzc2Vy
dEFsbW9zdEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydzdGRldiddLCAxNC41MDg2MiwgcGxhY2Vz
PTUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ3VuaXQnXSwg
J21zJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChwYXJzZWRfcmVzdWx0c1swXS5pdGVyYXRp
b25fdmFsdWVzKCksIFsxMDgwLCAxMTIwLCAxMDk1LCAxMTAxLCAxMTA0XSkKIAogICAgIGRlZiB0
ZXN0X3BhcnNlX291dHB1dChzZWxmKToKICAgICAgICAgb3V0cHV0ID0gRHJpdmVyT3V0cHV0KCIi
IgpAQCAtMzQxLDggKzMzOCw3IEBAIGNsYXNzIFRlc3RSZXBsYXlQZXJmVGVzdCh1bml0dGVzdC5U
ZXN0Q2EKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtZXRyaWNzKSwgMSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzBdLm1ldHJpYygpLCAnVGltZScpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS50b19kaWN0KCksIHsnbWF4JzogMjAwMDAsICdh
dmcnOiAxMTAwMC4wLCAnbWVkaWFuJzogMTEwMDAsICdzdGRldic6IDU2MjcuMzE0MzM4NzExMzc4
LCAnbWluJzogMjAwMCwgJ3VuaXQnOiAnbXMnLAotICAgICAgICAgICAgJ3ZhbHVlcyc6IFtmbG9h
dChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEpXX0pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobWV0cmljc1swXS5pdGVyYXRpb25fdmFsdWVzKCksIFtmbG9hdChpICogMTAwMCkgZm9y
IGkgaW4gcmFuZ2UoMiwgMjEpXSkKIAogICAgIGRlZiB0ZXN0X3J1bl93aXRoX2RyaXZlcl9hY2N1
bXVsYXRlc19tZW1vcnlfcmVzdWx0cyhzZWxmKToKICAgICAgICAgcG9ydCA9IE1vY2tQb3J0KCkK
QEAgLTM2OCwxNCArMzY0LDExIEBAIGNsYXNzIFRlc3RSZXBsYXlQZXJmVGVzdCh1bml0dGVzdC5U
ZXN0Q2EKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxlbihtZXRyaWNzKSwgMykKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzBdLm1ldHJpYygpLCAnVGltZScpCi0gICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS50b19kaWN0KCksIHsnbWF4JzogMjAwMDAsICdh
dmcnOiAxMTAwMC4wLCAnbWVkaWFuJzogMTEwMDAsICdzdGRldic6IDU2MjcuMzE0MzM4NzExMzc4
LCAnbWluJzogMjAwMCwgJ3VuaXQnOiAnbXMnLAotICAgICAgICAgICAgJ3ZhbHVlcyc6IFtmbG9h
dChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEpXX0pCisgICAgICAgIHNlbGYuYXNzZXJ0
RXF1YWwobWV0cmljc1swXS5pdGVyYXRpb25fdmFsdWVzKCksIFtmbG9hdChpICogMTAwMCkgZm9y
IGkgaW4gcmFuZ2UoMiwgMjEpXSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzFd
Lm1ldHJpYygpLCAnTWFsbG9jJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzFd
LnRvX2RpY3QoKSwgeydtYXgnOiAxMCwgJ2F2Zyc6IDEwLjAsICdtZWRpYW4nOiAxMCwgJ21pbic6
IDEwLCAnc3RkZXYnOiAwLjAsICd1bml0JzogJ2J5dGVzJywKLSAgICAgICAgICAgICd2YWx1ZXMn
OiBbZmxvYXQoMTApXSAqIDE5fSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzFd
Lml0ZXJhdGlvbl92YWx1ZXMoKSwgW2Zsb2F0KDEwKV0gKiAxOSkKICAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChtZXRyaWNzWzJdLm1ldHJpYygpLCAnSlNIZWFwJykKLSAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChtZXRyaWNzWzJdLnRvX2RpY3QoKSwgeydtYXgnOiA1LCAnYXZnJzogNS4wLCAnbWVk
aWFuJzogNSwgJ21pbic6IDUsICdzdGRldic6IDAuMCwgJ3VuaXQnOiAnYnl0ZXMnLAotICAgICAg
ICAgICAgJ3ZhbHVlcyc6IFtmbG9hdCg1KV0gKiAxOX0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1
YWwobWV0cmljc1syXS5pdGVyYXRpb25fdmFsdWVzKCksIFtmbG9hdCg1KV0gKiAxOSkKIAogICAg
IGRlZiB0ZXN0X3ByZXBhcmVfZmFpbHNfd2hlbl93YWl0X3VudGlsX3JlYWR5X2ZhaWxzKHNlbGYp
OgogICAgICAgICBvdXRwdXRfY2FwdHVyZSA9IE91dHB1dENhcHR1cmUoKQpJbmRleDogVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHkJKHJldmlzaW9uIDE0NDQyMSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5CSh3b3JraW5nIGNvcHkpCkBA
IC0yNTUsMTQgKzI1NSwxMiBAQCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKICAgICAg
ICAgICAgICAgICBjb250ZW50c1trZXldID0gdmFsdWUKIAogICAgICAgICAjIEZJWE1FOiBNYWtl
IHRoaXMgZnVuY3Rpb24gc2hvcnRlciBvbmNlIHdlJ3ZlIHRyYW5zaXRpb25lZCB0byB1c2UgcGVy
Zi53ZWJraXQub3JnLgotICAgICAgICBmb3IgbWV0cmljX2Z1bGxfbmFtZSwgcmVzdWx0IGluIHNl
bGYuX3Jlc3VsdHMuaXRlcml0ZW1zKCk6Ci0gICAgICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShy
ZXN1bHQsIGRpY3QpOiAgIyBXZSBjYW4ndCByZXBvcnRzIHJlc3VsdHMgd2l0aG91dCBpbmRpdmlz
dWFsIG1lYXN1cmVtZW50cy4KKyAgICAgICAgZm9yIG1ldHJpY19mdWxsX25hbWUsIGl0ZXJhdGlv
bl92YWx1ZXMgaW4gc2VsZi5fcmVzdWx0cy5pdGVyaXRlbXMoKToKKyAgICAgICAgICAgIGlmIG5v
dCBpc2luc3RhbmNlKGl0ZXJhdGlvbl92YWx1ZXMsIGxpc3QpOiAgIyBXZSBjYW4ndCByZXBvcnRz
IHJlc3VsdHMgd2l0aG91dCBpbmRpdmlzdWFsIG1lYXN1cmVtZW50cy4KICAgICAgICAgICAgICAg
ICBjb250aW51ZQogCiAgICAgICAgICAgICBhc3NlcnQgbWV0cmljX2Z1bGxfbmFtZS5jb3VudCgn
OicpIDw9IDEKICAgICAgICAgICAgIHRlc3RfZnVsbF9uYW1lLCBfLCBtZXRyaWMgPSBtZXRyaWNf
ZnVsbF9uYW1lLnBhcnRpdGlvbignOicpCi0gICAgICAgICAgICBpZiBub3QgbWV0cmljOgotICAg
ICAgICAgICAgICAgIG1ldHJpYyA9IHsnZnBzJzogJ0ZyYW1lUmF0ZScsICdydW5zL3MnOiAnUnVu
cycsICdtcyc6ICdUaW1lJ31bcmVzdWx0Wyd1bml0J11dCiAKICAgICAgICAgICAgIHRlc3RzID0g
Y29udGVudHNbJ3Rlc3RzJ10KICAgICAgICAgICAgIHBhdGggPSB0ZXN0X2Z1bGxfbmFtZS5zcGxp
dCgnLycpCkBAIC0yNzgsNyArMjc2LDcgQEAgY2xhc3MgUGVyZlRlc3RzUnVubmVyKG9iamVjdCk6
CiAgICAgICAgICAgICAgICAgaWYgaXNfbGFzdF90b2tlbjoKICAgICAgICAgICAgICAgICAgICAg
Y3VycmVudF90ZXN0LnNldGRlZmF1bHQoJ21ldHJpY3MnLCB7fSkKICAgICAgICAgICAgICAgICAg
ICAgYXNzZXJ0IG1ldHJpYyBub3QgaW4gY3VycmVudF90ZXN0WydtZXRyaWNzJ10KLSAgICAgICAg
ICAgICAgICAgICAgY3VycmVudF90ZXN0WydtZXRyaWNzJ11bbWV0cmljXSA9IHsnY3VycmVudCc6
IHJlc3VsdFsndmFsdWVzJ119CisgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfdGVzdFsnbWV0
cmljcyddW21ldHJpY10gPSB7J2N1cnJlbnQnOiBpdGVyYXRpb25fdmFsdWVzfQogICAgICAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfdGVzdC5zZXRkZWZhdWx0
KCd0ZXN0cycsIHt9KQogICAgICAgICAgICAgICAgICAgICB0ZXN0cyA9IGN1cnJlbnRfdGVzdFsn
dGVzdHMnXQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9w
ZXJmdGVzdHNydW5uZXJfaW50ZWdyYXRpb250ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX2ludGVncmF0
aW9udGVzdC5weQkocmV2aXNpb24gMTQ0NDIxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9w
ZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfaW50ZWdyYXRpb250ZXN0LnB5CSh3b3Jr
aW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBAIG1heCAxNTEwIG1zCiAiIiIKIAogICAgIG91dHB1
dCA9ICIiIlJ1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIuaHRtbCAoMSBvZiAy
KQotUkVTVUxUIEJpbmRpbmdzOiBldmVudC10YXJnZXQtd3JhcHBlcj0gMTQ5MC4wIG1zCitSRVNV
TFQgQmluZGluZ3M6IGV2ZW50LXRhcmdldC13cmFwcGVyOiBUaW1lPSAxNDkwLjAgbXMKIG1lZGlh
bj0gMTQ4OC4wIG1zLCBzdGRldj0gMTUuMTM5MzUgbXMsIG1pbj0gMTQ3MS4wIG1zLCBtYXg9IDE1
MTAuMCBtcwogRmluaXNoZWQ6IDAuMSBzCiAKQEAgLTExMCw3ICsxMTAsNyBAQCBtYXggMTEyMCBt
cwogIiIiCiAKICAgICBvdXRwdXQgPSAiIiJSdW5uaW5nIFBhcnNlci9zb21lLXBhcnNlci5odG1s
ICgyIG9mIDIpCi1SRVNVTFQgUGFyc2VyOiBzb21lLXBhcnNlcj0gMTEwMC4wIG1zCitSRVNVTFQg
UGFyc2VyOiBzb21lLXBhcnNlcjogVGltZT0gMTEwMC4wIG1zCiBtZWRpYW49IDExMDEuMCBtcywg
c3RkZXY9IDE0LjUwODYxIG1zLCBtaW49IDEwODAuMCBtcywgbWF4PSAxMTIwLjAgbXMKIEZpbmlz
aGVkOiAwLjEgcwogCkBAIC0xNDgsNyArMTQ4LDcgQEAgbWF4IDU0ODAwMCBieXRlcwogCiAgICAg
b3V0cHV0ID0gIiIiUnVubmluZyAxIHRlc3RzCiBSdW5uaW5nIFBhcnNlci9tZW1vcnktdGVzdC5o
dG1sICgxIG9mIDEpCi1SRVNVTFQgUGFyc2VyOiBtZW1vcnktdGVzdD0gMTEwMC4wIG1zCitSRVNV
TFQgUGFyc2VyOiBtZW1vcnktdGVzdDogVGltZT0gMTEwMC4wIG1zCiBtZWRpYW49IDExMDEuMCBt
cywgc3RkZXY9IDE0LjUwODYxIG1zLCBtaW49IDEwODAuMCBtcywgbWF4PSAxMTIwLjAgbXMKIFJF
U1VMVCBQYXJzZXI6IG1lbW9yeS10ZXN0OiBKU0hlYXA9IDgzMDAwMC4wIGJ5dGVzCiBtZWRpYW49
IDgyOTAwMC4wIGJ5dGVzLCBzdGRldj0gMTM3ODQuMDQ4NzUgYnl0ZXMsIG1pbj0gODExMDAwLjAg
Ynl0ZXMsIG1heD0gODQ4MDAwLjAgYnl0ZXMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190898</attachid>
            <date>2013-03-01 00:12:26 -0800</date>
            <delta_ts>2013-03-01 11:56:32 -0800</delta_ts>
            <desc>Cleaned up more</desc>
            <filename>bug-111145-20130301000837.patch</filename>
            <type>text/plain</type>
            <size>18405</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE0NDQyMikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDQ3IEBACisyMDEzLTAyLTI4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIERvbid0IHJldHVybiBzdGF0aXN0aWNzIGluIFBlcmZUZXN0LnJ1bgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMTQ1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGx5IHJldHVybiBh
IGxpc3Qgb2YgdmFsdWVzIG9idGFpbmVkIGluIGVhY2ggaXRlcmF0aW9uIGZyb20gUGVyZlRlc3Qu
cnVuLgorICAgICAgICBBbHNvIHNpbXBsaWZ5IHZhcmlvdXMgbWV0aG9kcyBhcyBuZWVkZWQuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5
OgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMuX19pbml0X18pOiBNb3ZlZCB0aGUgY29kZSB0byBj
b252ZXJ0ICdUaW1lJyBtZXRyaWMgdG8gJ0ZyYW1lUmF0ZScgYW5kICdSdW5zJworICAgICAgICBh
cyBuZWVkZWQgZnJvbSBQZXJmVGVzdHNSdW5uZXIuX2dlbmVyYXRlX3Jlc3VsdHNfZGljdC4KKwor
ICAgICAgICAoUGVyZlRlc3RNZXRyaWMubGVnYWN5X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rl
c3RfbmFtZSk6IEFsd2F5cyBhcHBlbmQgdGhlIG1ldHJpYyBuYW1lIG5vdworICAgICAgICB0aGF0
IHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkg
aGVyZS4KKworICAgICAgICAoUGVyZlRlc3RNZXRyaWMuaXRlcmF0aW9uX3ZhbHVlcyk6IEFkZGVk
LgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMudW5pdCk6IEFkZGVkLgorICAgICAgICAoUGVyZlRl
c3RNZXRyaWMubWV0cmljX3RvX3VuaXQpOgorICAgICAgICAoUGVyZlRlc3RNZXRyaWMudGltZV91
bml0X3RvX21ldHJpYyk6IEV4dHJhY3RlZCBmcm9tIFBlcmZUZXN0c1J1bm5lci5fZ2VuZXJhdGVf
cmVzdWx0c19kaWN0LgorCisgICAgICAgIChQZXJmVGVzdC5ydW4pOgorICAgICAgICAoUGVyZlRl
c3QubG9nX3N0YXRpc3RpY3MpOiBNZXJnZWQgY29tcHV0ZV9zdGF0aXN0aWNzIGFuZCBzZWxmLm91
dHB1dF9zdGF0aXN0aWNzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5j
ZV90ZXN0cy9wZXJmdGVzdF91bml0dGVzdC5weToKKyAgICAgICAgKFRlc3RQZXJmVGVzdE1ldHJp
Yy50ZXN0X2luaXRfc2V0X21pc3NpbmdfdW5pdCk6CisgICAgICAgIChUZXN0UGVyZlRlc3RNZXRy
aWMudGVzdF9pbml0X3NldF90aW1lX21ldHJpYyk6IEFkZGVkLgorICAgICAgICAoVGVzdFBlcmZU
ZXN0TWV0cmljLnRlc3RfbGVnYWN5X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZSk6
CisgICAgICAgIChUZXN0UGVyZlRlc3RNZXRyaWMudGVzdF9hcHBlbmQpOgorICAgICAgICAoVGVz
dFBlcmZUZXN0TWV0cmljLnRlc3RfY29tcHV0ZV9zdGF0aXN0aWNzKTogUmVtb3ZlZC4gSW50ZWdy
YXRpb24gdGVzdHMgY2hlY2sgc29tZSBvZiB0aGVzZQorICAgICAgICB0ZXN0IGNhc2VzIGFuZCBp
dCdzIG5vdCBjcml0aWNhbCB0byBrZWVwIG1hdGggcmlnaHQgYXMgdGhleSdyZSBub3QgdXNlZCBp
biBvdXRwdXQgSlNPTiBhbnltb3JlLgorICAgICAgICAoVGVzdFBlcmZUZXN0Ll9hc3NlcnRfcmVz
dWx0c19hcmVfY29ycmVjdCk6CisgICAgICAgIChUZXN0UmVwbGF5UGVyZlRlc3QudGVzdF9ydW5f
d2l0aF9kcml2ZXJfYWNjdW11bGF0ZXNfcmVzdWx0cyk6CisgICAgICAgIChUZXN0UmVwbGF5UGVy
ZlRlc3QudGVzdF9ydW5fd2l0aF9kcml2ZXJfYWNjdW11bGF0ZXNfbWVtb3J5X3Jlc3VsdHMpOgor
CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNy
dW5uZXIucHk6CisgICAgICAgIChQZXJmVGVzdHNSdW5uZXIuX2dlbmVyYXRlX3Jlc3VsdHNfZGlj
dCk6CisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0
ZXN0c3J1bm5lcl9pbnRlZ3JhdGlvbnRlc3QucHk6CisgICAgICAgIChFdmVudFRhcmdldFdyYXBw
ZXJUZXN0RGF0YSk6IFRoZSBtZXRyaWMgbmFtZSBzaG93cyB1cCBhdCB0aGUgZW5kIG9mIHRoZSB0
ZXN0IG5hbWUgYXMgZXhwZWN0ZWQuCisgICAgICAgIChTb21lUGFyc2VyVGVzdERhdGEpOiBEaXR0
by4KKyAgICAgICAgKE1lbW9yeVRlc3REYXRhKTogRGl0dG8uCisKIDIwMTMtMDItMjggIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWVyZ2UgUGVyZlRlc3RSdW5u
ZXIuX3J1bl9zaW5nbGVfdGVzdCBpbnRvIFBlcmZUZXN0UnVubmVyLl9ydW5fdGVzdHNfc2V0Cklu
ZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMv
cGVyZnRlc3QucHkJKHJldmlzaW9uIDE0NDQxNikKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
cGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTU0LDkgKzU0
LDEwIEBAIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIAogY2xhc3MgUGVyZlRl
c3RNZXRyaWMob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbWV0cmljLCB1bml0PU5v
bmUsIGl0ZXJhdGlvbnM9Tm9uZSk6Ci0gICAgICAgIHNlbGYuX21ldHJpYyA9IG1ldHJpYworICAg
ICAgICAjIEZJWE1FOiBGaXggcnVubmVyLmpzIHRvIHJlcG9ydCBjb3JyZWN0IG1ldHJpYyBuYW1l
cwogICAgICAgICBzZWxmLl9pdGVyYXRpb25zID0gaXRlcmF0aW9ucyBvciBbXQogICAgICAgICBz
ZWxmLl91bml0ID0gdW5pdCBvciBzZWxmLm1ldHJpY190b191bml0KG1ldHJpYykKKyAgICAgICAg
c2VsZi5fbWV0cmljID0gc2VsZi50aW1lX3VuaXRfdG9fbWV0cmljKHNlbGYuX3VuaXQpIGlmIG1l
dHJpYyA9PSAnVGltZScgZWxzZSBtZXRyaWMKIAogICAgIGRlZiBtZXRyaWMoc2VsZik6CiAgICAg
ICAgIHJldHVybiBzZWxmLl9tZXRyaWMKQEAgLTY3LDQzICs2OCwyNSBAQCBjbGFzcyBQZXJmVGVz
dE1ldHJpYyhvYmplY3QpOgogICAgICMgRklYTUU6IFdlIGRvbid0IG5lZWQgdG8gc3VwcG9ydCB0
aGlzIGFueW1vcmUuIE1ha2Ugb3V0cHV0cyBtb3JlIGh1bWFuIGZyaWVuZGx5LgogICAgIGRlZiBs
ZWdhY3lfY2hyb21pdW1fYm90X2NvbXBhdGlibGVfdGVzdF9uYW1lKHNlbGYsIHRlc3RfbmFtZV93
aXRoX2V4dGVuc2lvbik6CiAgICAgICAgIHRlc3RfbmFtZSA9IHJlLnN1YihyJ1wuXHcrJCcsICcn
LCB0ZXN0X25hbWVfd2l0aF9leHRlbnNpb24pCi0gICAgICAgIHJldHVybiB0ZXN0X25hbWUgaWYg
c2VsZi5fbWV0cmljID09ICdUaW1lJyBlbHNlIHRlc3RfbmFtZSArICc6JyArIHNlbGYuX21ldHJp
YworICAgICAgICByZXR1cm4gdGVzdF9uYW1lICsgJzonICsgc2VsZi5fbWV0cmljCiAKICAgICBk
ZWYgYXBwZW5kKHNlbGYsIHZhbHVlKToKICAgICAgICAgc2VsZi5faXRlcmF0aW9ucy5hcHBlbmQo
dmFsdWUpCiAKLSAgICBkZWYgdG9fZGljdChzZWxmKToKLSAgICAgICAgYXNzZXJ0IHNlbGYuaGFz
X3ZhbHVlcygpCi0gICAgICAgIHN0YXRpc3RpY3MgPSBzZWxmLmNvbXB1dGVfc3RhdGlzdGljcyhz
ZWxmLl9pdGVyYXRpb25zKQotICAgICAgICBzdGF0aXN0aWNzWyd1bml0J10gPSBzZWxmLl91bml0
Ci0gICAgICAgIHN0YXRpc3RpY3NbJ3ZhbHVlcyddID0gc2VsZi5faXRlcmF0aW9ucwotICAgICAg
ICByZXR1cm4gc3RhdGlzdGljcworICAgIGRlZiBpdGVyYXRpb25fdmFsdWVzKHNlbGYpOgorICAg
ICAgICByZXR1cm4gc2VsZi5faXRlcmF0aW9ucwogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVm
IG1ldHJpY190b191bml0KGNscywgbWV0cmljKToKKyAgICBkZWYgdW5pdChzZWxmKToKKyAgICAg
ICAgcmV0dXJuIHNlbGYuX3VuaXQKKworICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYgbWV0cmlj
X3RvX3VuaXQobWV0cmljKToKICAgICAgICAgYXNzZXJ0IG1ldHJpYyBpbiAoJ1RpbWUnLCAnTWFs
bG9jJywgJ0pTSGVhcCcpCiAgICAgICAgIHJldHVybiAnbXMnIGlmIG1ldHJpYyA9PSAnVGltZScg
ZWxzZSAnYnl0ZXMnCiAKICAgICBAc3RhdGljbWV0aG9kCi0gICAgZGVmIGNvbXB1dGVfc3RhdGlz
dGljcyh2YWx1ZXMpOgotICAgICAgICBzb3J0ZWRfdmFsdWVzID0gc29ydGVkKHZhbHVlcykKLQot
ICAgICAgICAjIENvbXB1dGUgdGhlIG1lYW4gYW5kIHZhcmlhbmNlIHVzaW5nIEtudXRoJ3Mgb25s
aW5lIGFsZ29yaXRobSAoaGFzIGdvb2QgbnVtZXJpY2FsIHN0YWJpbGl0eSkuCi0gICAgICAgIHNx
dWFyZVN1bSA9IDAKLSAgICAgICAgbWVhbiA9IDAKLSAgICAgICAgZm9yIGksIHRpbWUgaW4gZW51
bWVyYXRlKHNvcnRlZF92YWx1ZXMpOgotICAgICAgICAgICAgZGVsdGEgPSB0aW1lIC0gbWVhbgot
ICAgICAgICAgICAgc3dlZXAgPSBpICsgMS4wCi0gICAgICAgICAgICBtZWFuICs9IGRlbHRhIC8g
c3dlZXAKLSAgICAgICAgICAgIHNxdWFyZVN1bSArPSBkZWx0YSAqICh0aW1lIC0gbWVhbikKLQot
ICAgICAgICBtaWRkbGUgPSBpbnQobGVuKHNvcnRlZF92YWx1ZXMpIC8gMikKLSAgICAgICAgcmVz
dWx0ID0geydhdmcnOiBzdW0oc29ydGVkX3ZhbHVlcykgLyBsZW4odmFsdWVzKSwKLSAgICAgICAg
ICAgICdtaW4nOiBzb3J0ZWRfdmFsdWVzWzBdLAotICAgICAgICAgICAgJ21heCc6IHNvcnRlZF92
YWx1ZXNbLTFdLAotICAgICAgICAgICAgJ21lZGlhbic6IHNvcnRlZF92YWx1ZXNbbWlkZGxlXSBp
ZiBsZW4oc29ydGVkX3ZhbHVlcykgJSAyIGVsc2UgKHNvcnRlZF92YWx1ZXNbbWlkZGxlIC0gMV0g
KyBzb3J0ZWRfdmFsdWVzW21pZGRsZV0pIC8gMiwKLSAgICAgICAgICAgICdzdGRldic6IG1hdGgu
c3FydChzcXVhcmVTdW0gLyAobGVuKHNvcnRlZF92YWx1ZXMpIC0gMSkpIGlmIGxlbihzb3J0ZWRf
dmFsdWVzKSA+IDEgZWxzZSAwfQotICAgICAgICByZXR1cm4gcmVzdWx0CisgICAgZGVmIHRpbWVf
dW5pdF90b19tZXRyaWModW5pdCk6CisgICAgICAgIHJldHVybiB7J2Zwcyc6ICdGcmFtZVJhdGUn
LCAncnVucy9zJzogJ1J1bnMnLCAnbXMnOiAnVGltZSd9W3VuaXRdCiAKIAogY2xhc3MgUGVyZlRl
c3Qob2JqZWN0KToKQEAgLTEzOCwxOSArMTIxLDQyIEBAIGNsYXNzIFBlcmZUZXN0KG9iamVjdCk6
CiAgICAgICAgIGlmIG5vdCBtZXRyaWNzOgogICAgICAgICAgICAgcmV0dXJuIG1ldHJpY3MKIAor
ICAgICAgICBzaG91bGRfbG9nID0gbm90IHNlbGYuX3BvcnQuZ2V0X29wdGlvbigncHJvZmlsZScp
CisgICAgICAgIGlmIHNob3VsZF9sb2cgYW5kIHNlbGYuX2Rlc2NyaXB0aW9uOgorICAgICAgICAg
ICAgX2xvZy5pbmZvKCdERVNDUklQVElPTjogJXMnICUgc2VsZi5fZGVzY3JpcHRpb24pCisKICAg
ICAgICAgcmVzdWx0cyA9IHt9CiAgICAgICAgIGZvciBtZXRyaWMgaW4gbWV0cmljczoKICAgICAg
ICAgICAgIGxlZ2FjeV90ZXN0X25hbWUgPSBtZXRyaWMubGVnYWN5X2Nocm9taXVtX2JvdF9jb21w
YXRpYmxlX3Rlc3RfbmFtZShzZWxmLnRlc3RfbmFtZSgpKQotICAgICAgICAgICAgcmVzdWx0c1ts
ZWdhY3lfdGVzdF9uYW1lXSA9IG1ldHJpYy50b19kaWN0KCkKLQotICAgICAgICBpZiBub3Qgc2Vs
Zi5fcG9ydC5nZXRfb3B0aW9uKCdwcm9maWxlJyk6Ci0gICAgICAgICAgICBpZiBzZWxmLl9kZXNj
cmlwdGlvbjoKLSAgICAgICAgICAgICAgICBfbG9nLmluZm8oJ0RFU0NSSVBUSU9OOiAlcycgJSBz
ZWxmLl9kZXNjcmlwdGlvbikKLSAgICAgICAgICAgIGZvciByZXN1bHRfbmFtZSBpbiBzb3J0ZWQo
cmVzdWx0cy5rZXlzKCkpOgotICAgICAgICAgICAgICAgIHNlbGYub3V0cHV0X3N0YXRpc3RpY3Mo
cmVzdWx0X25hbWUsIHJlc3VsdHNbcmVzdWx0X25hbWVdKQorICAgICAgICAgICAgcmVzdWx0c1ts
ZWdhY3lfdGVzdF9uYW1lXSA9IG1ldHJpYy5pdGVyYXRpb25fdmFsdWVzKCkKKyAgICAgICAgICAg
IGlmIHNob3VsZF9sb2c6CisgICAgICAgICAgICAgICAgc2VsZi5sb2dfc3RhdGlzdGljcyhsZWdh
Y3lfdGVzdF9uYW1lLnJlcGxhY2UoJzonLCAnOiAnKS5yZXBsYWNlKCcvJywgJzogJyksCisgICAg
ICAgICAgICAgICAgICAgIG1ldHJpYy5pdGVyYXRpb25fdmFsdWVzKCksIG1ldHJpYy51bml0KCkp
CiAKICAgICAgICAgcmV0dXJuIHJlc3VsdHMKIAorICAgIEBzdGF0aWNtZXRob2QKKyAgICBkZWYg
bG9nX3N0YXRpc3RpY3ModGVzdF9uYW1lLCB2YWx1ZXMsIHVuaXQpOgorICAgICAgICBzb3J0ZWRf
dmFsdWVzID0gc29ydGVkKHZhbHVlcykKKworICAgICAgICAjIENvbXB1dGUgdGhlIG1lYW4gYW5k
IHZhcmlhbmNlIHVzaW5nIEtudXRoJ3Mgb25saW5lIGFsZ29yaXRobSAoaGFzIGdvb2QgbnVtZXJp
Y2FsIHN0YWJpbGl0eSkuCisgICAgICAgIHNxdWFyZV9zdW0gPSAwCisgICAgICAgIG1lYW4gPSAw
CisgICAgICAgIGZvciBpLCB0aW1lIGluIGVudW1lcmF0ZShzb3J0ZWRfdmFsdWVzKToKKyAgICAg
ICAgICAgIGRlbHRhID0gdGltZSAtIG1lYW4KKyAgICAgICAgICAgIHN3ZWVwID0gaSArIDEuMAor
ICAgICAgICAgICAgbWVhbiArPSBkZWx0YSAvIHN3ZWVwCisgICAgICAgICAgICBzcXVhcmVfc3Vt
ICs9IGRlbHRhICogKHRpbWUgLSBtZWFuKQorCisgICAgICAgIG1pZGRsZSA9IGludChsZW4oc29y
dGVkX3ZhbHVlcykgLyAyKQorICAgICAgICBtZWFuID0gc3VtKHNvcnRlZF92YWx1ZXMpIC8gbGVu
KHZhbHVlcykKKyAgICAgICAgbWVkaWFuID0gc29ydGVkX3ZhbHVlc1ttaWRkbGVdIGlmIGxlbihz
b3J0ZWRfdmFsdWVzKSAlIDIgZWxzZSAoc29ydGVkX3ZhbHVlc1ttaWRkbGUgLSAxXSArIHNvcnRl
ZF92YWx1ZXNbbWlkZGxlXSkgLyAyCisgICAgICAgIHN0ZGV2ID0gbWF0aC5zcXJ0KHNxdWFyZV9z
dW0gLyAobGVuKHNvcnRlZF92YWx1ZXMpIC0gMSkpIGlmIGxlbihzb3J0ZWRfdmFsdWVzKSA+IDEg
ZWxzZSAwCisKKyAgICAgICAgX2xvZy5pbmZvKCdSRVNVTFQgJXM9ICVzICVzJyAlICh0ZXN0X25h
bWUsIG1lYW4sIHVuaXQpKQorICAgICAgICBfbG9nLmluZm8oJ21lZGlhbj0gJXMgJXMsIHN0ZGV2
PSAlcyAlcywgbWluPSAlcyAlcywgbWF4PSAlcyAlcycgJQorICAgICAgICAgICAgKG1lZGlhbiwg
dW5pdCwgc3RkZXYsIHVuaXQsIHNvcnRlZF92YWx1ZXNbMF0sIHVuaXQsIHNvcnRlZF92YWx1ZXNb
LTFdLCB1bml0KSkKKwogICAgIF9kZXNjcmlwdGlvbl9yZWdleCA9IHJlLmNvbXBpbGUocideRGVz
Y3JpcHRpb246ICg/UDxkZXNjcmlwdGlvbj4uKikkJywgcmUuSUdOT1JFQ0FTRSkKICAgICBfbWV0
cmljc19yZWdleCA9IHJlLmNvbXBpbGUocideKD9QPG1ldHJpYz5UaW1lfE1hbGxvY3xKUyBIZWFw
KTonKQogICAgIF9zdGF0aXN0aWNzX2tleXMgPSBbJ2F2ZycsICdtZWRpYW4nLCAnc3RkZXYnLCAn
bWluJywgJ21heCcsICd1bml0JywgJ3ZhbHVlcyddCkBAIC0yNDIsMTEgKzI0OCw2IEBAIGNsYXNz
IFBlcmZUZXN0KG9iamVjdCk6CiAgICAgICAgIGlmIG91dHB1dC50ZXh0OgogICAgICAgICAgICAg
b3V0cHV0LnRleHQgPSAnXG4nLmpvaW4oW2xpbmUgZm9yIGxpbmUgaW4gcmUuc3BsaXQoJ1xuJywg
b3V0cHV0LnRleHQpIGlmIG5vdCBzZWxmLl9zaG91bGRfaWdub3JlX2xpbmUoc2VsZi5fbGluZXNf
dG9faWdub3JlX2luX3BhcnNlcl9yZXN1bHQsIGxpbmUpXSkKIAotICAgIGRlZiBvdXRwdXRfc3Rh
dGlzdGljcyhzZWxmLCB0ZXN0X25hbWUsIHJlc3VsdHMpOgotICAgICAgICB1bml0ID0gcmVzdWx0
c1sndW5pdCddCi0gICAgICAgIF9sb2cuaW5mbygnUkVTVUxUICVzPSAlcyAlcycgJSAodGVzdF9u
YW1lLnJlcGxhY2UoJzonLCAnOiAnKS5yZXBsYWNlKCcvJywgJzogJyksIHJlc3VsdHNbJ2F2Zydd
LCB1bml0KSkKLSAgICAgICAgX2xvZy5pbmZvKCcsICcuam9pbihbJyVzPSAlcyAlcycgJSAoa2V5
LCByZXN1bHRzW2tleV0sIHVuaXQpIGZvciBrZXkgaW4gc2VsZi5fc3RhdGlzdGljc19rZXlzWzE6
NV1dKSkKLQogCiBjbGFzcyBDaHJvbWl1bVN0eWxlUGVyZlRlc3QoUGVyZlRlc3QpOgogICAgIF9j
aHJvbWl1bV9zdHlsZV9yZXN1bHRfcmVnZXggPSByZS5jb21waWxlKHInXlJFU1VMVFxzKyg/UDxu
YW1lPltePV0rKVxzKj1ccysoP1A8dmFsdWU+XGQrKFwuXGQrKT8pXHMqKD9QPHVuaXQ+XHcrKSQn
KQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVz
dF91bml0dGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZv
cm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAxNDQ0MTYpCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0X3VuaXR0ZXN0
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC01MCwxMiArNTAsMTcgQEAgY2xhc3MgTW9ja1BvcnQoVGVz
dFBvcnQpOgogCiBjbGFzcyBUZXN0UGVyZlRlc3RNZXRyaWModW5pdHRlc3QuVGVzdENhc2UpOgog
ICAgIGRlZiB0ZXN0X2luaXRfc2V0X21pc3NpbmdfdW5pdChzZWxmKToKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChQZXJmVGVzdE1ldHJpYygnVGltZScsIGl0ZXJhdGlvbnM9WzEsIDIsIDMsIDQs
IDVdKS50b19kaWN0KClbJ3VuaXQnXSwgJ21zJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQ
ZXJmVGVzdE1ldHJpYygnTWFsbG9jJywgaXRlcmF0aW9ucz1bMSwgMiwgMywgNCwgNV0pLnRvX2Rp
Y3QoKVsndW5pdCddLCAnYnl0ZXMnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0
TWV0cmljKCdKU0hlYXAnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudG9fZGljdCgpWyd1
bml0J10sICdieXRlcycpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMo
J1RpbWUnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudW5pdCgpLCAnbXMnKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdNYWxsb2MnLCBpdGVyYXRpb25zPVsx
LCAyLCAzLCA0LCA1XSkudW5pdCgpLCAnYnl0ZXMnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KFBlcmZUZXN0TWV0cmljKCdKU0hlYXAnLCBpdGVyYXRpb25zPVsxLCAyLCAzLCA0LCA1XSkudW5p
dCgpLCAnYnl0ZXMnKQorCisgICAgZGVmIHRlc3RfaW5pdF9zZXRfdGltZV9tZXRyaWMoc2VsZik6
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMoJ1RpbWUnLCAnbXMnKS5t
ZXRyaWMoKSwgJ1RpbWUnKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmlj
KCdUaW1lJywgJ2ZwcycpLm1ldHJpYygpLCAnRnJhbWVSYXRlJykKKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbChQZXJmVGVzdE1ldHJpYygnVGltZScsICdydW5zL3MnKS5tZXRyaWMoKSwgJ1J1bnMn
KQogCiAgICAgZGVmIHRlc3RfbGVnYWN5X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFt
ZShzZWxmKToKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQZXJmVGVzdE1ldHJpYygnVGltZScp
LmxlZ2FjeV9jaHJvbWl1bV9ib3RfY29tcGF0aWJsZV90ZXN0X25hbWUoJ3Rlc3QnKSwgJ3Rlc3Qn
KQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdUaW1lJykubGVnYWN5
X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZSgndGVzdCcpLCAndGVzdDpUaW1lJykK
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChQZXJmVGVzdE1ldHJpYygnTWFsbG9jJykubGVnYWN5
X2Nocm9taXVtX2JvdF9jb21wYXRpYmxlX3Rlc3RfbmFtZSgndGVzdCcpLCAndGVzdDpNYWxsb2Mn
KQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKFBlcmZUZXN0TWV0cmljKCdKU0hlYXAnKS5sZWdh
Y3lfY2hyb21pdW1fYm90X2NvbXBhdGlibGVfdGVzdF9uYW1lKCd0ZXN0JyksICd0ZXN0OkpTSGVh
cCcpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoUGVyZlRlc3RNZXRyaWMoJ0ZvbnRTaXplJywg
dW5pdD0nZW0nKS5sZWdhY3lfY2hyb21pdW1fYm90X2NvbXBhdGlibGVfdGVzdF9uYW1lKCd0ZXN0
JyksICd0ZXN0OkZvbnRTaXplJykKQEAgLTczLDM1ICs3OCwxNCBAQCBjbGFzcyBUZXN0UGVyZlRl
c3RNZXRyaWModW5pdHRlc3QuVGVzdENhCiAgICAgICAgIG1ldHJpYy5hcHBlbmQoMSkKICAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKG1ldHJpYy5oYXNfdmFsdWVzKCkpCiAgICAgICAgIHNlbGYuYXNz
ZXJ0RmFsc2UobWV0cmljMi5oYXNfdmFsdWVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
bWV0cmljLnRvX2RpY3QoKVsndmFsdWVzJ10sIFsxXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChtZXRyaWMuaXRlcmF0aW9uX3ZhbHVlcygpLCBbMV0pCiAgICAgICAgIG1ldHJpYy5hcHBlbmQo
MikKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWMudG9fZGljdCgpWyd2YWx1ZXMnXSwg
WzEsIDJdKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldHJpYy5pdGVyYXRpb25fdmFsdWVz
KCksIFsxLCAyXSkKIAogICAgICAgICBtZXRyaWMyLmFwcGVuZCgzKQogICAgICAgICBzZWxmLmFz
c2VydFRydWUobWV0cmljMi5oYXNfdmFsdWVzKCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo
bWV0cmljLnRvX2RpY3QoKVsndmFsdWVzJ10sIFsxLCAyXSkKLSAgICAgICAgc2VsZi5hc3NlcnRF
cXVhbChtZXRyaWMyLnRvX2RpY3QoKVsndmFsdWVzJ10sIFszXSkKLQotICAgIGRlZiB0ZXN0X2Nv
bXB1dGVfc3RhdGlzdGljcyhzZWxmKToKLSAgICAgICAgZGVmIGNvbXB1dGVfc3RhdGlzdGljcyh2
YWx1ZXMpOgotICAgICAgICAgICAgc3RhdGlzdGljcyA9IFBlcmZUZXN0TWV0cmljLmNvbXB1dGVf
c3RhdGlzdGljcyhtYXAobGFtYmRhIHg6IGZsb2F0KHgpLCB2YWx1ZXMpKQotICAgICAgICAgICAg
cmV0dXJuIGpzb24ubG9hZHMoanNvbi5kdW1wcyhzdGF0aXN0aWNzKSkKLQotICAgICAgICBzdGF0
aXN0aWNzID0gY29tcHV0ZV9zdGF0aXN0aWNzKFsxMCwgOSwgOCwgNywgNiwgNSwgNCwgMywgMiwg
MSwgMjAsIDE5LCAxOCwgMTcsIDE2LCAxNSwgMTQsIDEzLCAxMiwgMTFdKQotICAgICAgICBzZWxm
LmFzc2VydEl0ZW1zRXF1YWwoc3RhdGlzdGljcy5rZXlzKCksIFsnYXZnJywgJ21heCcsICdtZWRp
YW4nLCAnbWluJywgJ3N0ZGV2J10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGlzdGlj
c1snYXZnJ10sIDEwLjUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGlzdGljc1snbWlu
J10sIDEpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc3RhdGlzdGljc1snbWF4J10sIDIwKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHN0YXRpc3RpY3NbJ21lZGlhbiddLCAxMC41KQotICAg
ICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbXB1dGVfc3RhdGlzdGljcyhbOCwgOSwgMTAsIDExLCAx
Ml0pWydhdmcnXSwgMTApCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tcHV0ZV9zdGF0aXN0
aWNzKFs4LCA5LCAxMCwgMTEsIDEyXSAqIDQpWydhdmcnXSwgMTApCi0gICAgICAgIHNlbGYuYXNz
ZXJ0RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAx
MCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNiwgMTcsIDE4LCAxOV0pWydhdmcnXSwgMTApCi0gICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29tcHV0ZV9zdGF0aXN0aWNzKFsxLCA1LCAyLCA4LCA3XSlb
J21lZGlhbiddLCA1KQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbXB1dGVfc3RhdGlzdGlj
cyhbMSwgNiwgMiwgOCwgNywgMl0pWydtZWRpYW4nXSwgNCkKLSAgICAgICAgc2VsZi5hc3NlcnRB
bG1vc3RFcXVhbChzdGF0aXN0aWNzWydzdGRldiddLCBtYXRoLnNxcnQoMzUpKQotICAgICAgICBz
ZWxmLmFzc2VydEFsbW9zdEVxdWFsKGNvbXB1dGVfc3RhdGlzdGljcyhbMV0pWydzdGRldiddLCAw
KQotICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKGNvbXB1dGVfc3RhdGlzdGljcyhbMSwg
MiwgMywgNCwgNSwgNl0pWydzdGRldiddLCBtYXRoLnNxcnQoMy41KSkKLSAgICAgICAgc2VsZi5h
c3NlcnRBbG1vc3RFcXVhbChjb21wdXRlX3N0YXRpc3RpY3MoWzQsIDIsIDUsIDgsIDZdKVsnc3Rk
ZXYnXSwgbWF0aC5zcXJ0KDUpKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG1ldHJpYy5pdGVy
YXRpb25fdmFsdWVzKCksIFsxLCAyXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWMy
Lml0ZXJhdGlvbl92YWx1ZXMoKSwgWzNdKQogCiAKIGNsYXNzIFRlc3RQZXJmVGVzdCh1bml0dGVz
dC5UZXN0Q2FzZSk6CkBAIC0xMDksMTUgKzkzLDcgQEAgY2xhc3MgVGVzdFBlcmZUZXN0KHVuaXR0
ZXN0LlRlc3RDYXNlKToKICAgICAgICAgdGVzdC5ydW5fc2luZ2xlID0gbGFtYmRhIGRyaXZlciwg
cGF0aCwgdGltZV9vdXRfbXM6IG91dHB1dAogICAgICAgICBwYXJzZWRfcmVzdWx0cyA9IHRlc3Qu
X3J1bl93aXRoX2RyaXZlcihOb25lLCBOb25lKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGxl
bihwYXJzZWRfcmVzdWx0cyksIDEpCi0gICAgICAgIHNvbWVfdGVzdF9yZXN1bHRzID0gcGFyc2Vk
X3Jlc3VsdHNbMF0udG9fZGljdCgpCi0gICAgICAgIHNlbGYuYXNzZXJ0SXRlbXNFcXVhbChzb21l
X3Rlc3RfcmVzdWx0cy5rZXlzKCksIFsnYXZnJywgJ21heCcsICdtZWRpYW4nLCAnbWluJywgJ3N0
ZGV2JywgJ3VuaXQnLCAndmFsdWVzJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90
ZXN0X3Jlc3VsdHNbJ3ZhbHVlcyddLCBbMTA4MCwgMTEyMCwgMTA5NSwgMTEwMSwgMTEwNF0pCi0g
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21pbiddLCAxMDgwKQot
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydtYXgnXSwgMTEyMCkK
LSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChzb21lX3Rlc3RfcmVzdWx0c1snYXZnJ10sIDExMDAp
Ci0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29tZV90ZXN0X3Jlc3VsdHNbJ21lZGlhbiddLCAx
MTAxKQotICAgICAgICBzZWxmLmFzc2VydEFsbW9zdEVxdWFsKHNvbWVfdGVzdF9yZXN1bHRzWydz
dGRldiddLCAxNC41MDg2MiwgcGxhY2VzPTUpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoc29t
ZV90ZXN0X3Jlc3VsdHNbJ3VuaXQnXSwgJ21zJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChw
YXJzZWRfcmVzdWx0c1swXS5pdGVyYXRpb25fdmFsdWVzKCksIFsxMDgwLCAxMTIwLCAxMDk1LCAx
MTAxLCAxMTA0XSkKIAogICAgIGRlZiB0ZXN0X3BhcnNlX291dHB1dChzZWxmKToKICAgICAgICAg
b3V0cHV0ID0gRHJpdmVyT3V0cHV0KCIiIgpAQCAtMzQxLDggKzMxNyw3IEBAIGNsYXNzIFRlc3RS
ZXBsYXlQZXJmVGVzdCh1bml0dGVzdC5UZXN0Q2EKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihtZXRyaWNzKSwgMSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzBdLm1l
dHJpYygpLCAnVGltZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS50b19k
aWN0KCksIHsnbWF4JzogMjAwMDAsICdhdmcnOiAxMTAwMC4wLCAnbWVkaWFuJzogMTEwMDAsICdz
dGRldic6IDU2MjcuMzE0MzM4NzExMzc4LCAnbWluJzogMjAwMCwgJ3VuaXQnOiAnbXMnLAotICAg
ICAgICAgICAgJ3ZhbHVlcyc6IFtmbG9hdChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEp
XX0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS5pdGVyYXRpb25fdmFsdWVz
KCksIFtmbG9hdChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEpXSkKIAogICAgIGRlZiB0
ZXN0X3J1bl93aXRoX2RyaXZlcl9hY2N1bXVsYXRlc19tZW1vcnlfcmVzdWx0cyhzZWxmKToKICAg
ICAgICAgcG9ydCA9IE1vY2tQb3J0KCkKQEAgLTM2OCwxNCArMzQzLDExIEBAIGNsYXNzIFRlc3RS
ZXBsYXlQZXJmVGVzdCh1bml0dGVzdC5UZXN0Q2EKIAogICAgICAgICBzZWxmLmFzc2VydEVxdWFs
KGxlbihtZXRyaWNzKSwgMykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzBdLm1l
dHJpYygpLCAnVGltZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS50b19k
aWN0KCksIHsnbWF4JzogMjAwMDAsICdhdmcnOiAxMTAwMC4wLCAnbWVkaWFuJzogMTEwMDAsICdz
dGRldic6IDU2MjcuMzE0MzM4NzExMzc4LCAnbWluJzogMjAwMCwgJ3VuaXQnOiAnbXMnLAotICAg
ICAgICAgICAgJ3ZhbHVlcyc6IFtmbG9hdChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEp
XX0pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1swXS5pdGVyYXRpb25fdmFsdWVz
KCksIFtmbG9hdChpICogMTAwMCkgZm9yIGkgaW4gcmFuZ2UoMiwgMjEpXSkKICAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChtZXRyaWNzWzFdLm1ldHJpYygpLCAnTWFsbG9jJykKLSAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChtZXRyaWNzWzFdLnRvX2RpY3QoKSwgeydtYXgnOiAxMCwgJ2F2Zyc6IDEw
LjAsICdtZWRpYW4nOiAxMCwgJ21pbic6IDEwLCAnc3RkZXYnOiAwLjAsICd1bml0JzogJ2J5dGVz
JywKLSAgICAgICAgICAgICd2YWx1ZXMnOiBbZmxvYXQoMTApXSAqIDE5fSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChtZXRyaWNzWzFdLml0ZXJhdGlvbl92YWx1ZXMoKSwgW2Zsb2F0KDEwKV0g
KiAxOSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzJdLm1ldHJpYygpLCAnSlNI
ZWFwJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChtZXRyaWNzWzJdLnRvX2RpY3QoKSwgeydt
YXgnOiA1LCAnYXZnJzogNS4wLCAnbWVkaWFuJzogNSwgJ21pbic6IDUsICdzdGRldic6IDAuMCwg
J3VuaXQnOiAnYnl0ZXMnLAotICAgICAgICAgICAgJ3ZhbHVlcyc6IFtmbG9hdCg1KV0gKiAxOX0p
CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobWV0cmljc1syXS5pdGVyYXRpb25fdmFsdWVzKCks
IFtmbG9hdCg1KV0gKiAxOSkKIAogICAgIGRlZiB0ZXN0X3ByZXBhcmVfZmFpbHNfd2hlbl93YWl0
X3VudGlsX3JlYWR5X2ZhaWxzKHNlbGYpOgogICAgICAgICBvdXRwdXRfY2FwdHVyZSA9IE91dHB1
dENhcHR1cmUoKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0
cy9wZXJmdGVzdHNydW5uZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkJKHJldmlzaW9uIDE0NDQyMSkK
KysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVu
bmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yNTUsMTQgKzI1NSwxMiBAQCBjbGFzcyBQZXJmVGVz
dHNSdW5uZXIob2JqZWN0KToKICAgICAgICAgICAgICAgICBjb250ZW50c1trZXldID0gdmFsdWUK
IAogICAgICAgICAjIEZJWE1FOiBNYWtlIHRoaXMgZnVuY3Rpb24gc2hvcnRlciBvbmNlIHdlJ3Zl
IHRyYW5zaXRpb25lZCB0byB1c2UgcGVyZi53ZWJraXQub3JnLgotICAgICAgICBmb3IgbWV0cmlj
X2Z1bGxfbmFtZSwgcmVzdWx0IGluIHNlbGYuX3Jlc3VsdHMuaXRlcml0ZW1zKCk6Ci0gICAgICAg
ICAgICBpZiBub3QgaXNpbnN0YW5jZShyZXN1bHQsIGRpY3QpOiAgIyBXZSBjYW4ndCByZXBvcnRz
IHJlc3VsdHMgd2l0aG91dCBpbmRpdmlzdWFsIG1lYXN1cmVtZW50cy4KKyAgICAgICAgZm9yIG1l
dHJpY19mdWxsX25hbWUsIGl0ZXJhdGlvbl92YWx1ZXMgaW4gc2VsZi5fcmVzdWx0cy5pdGVyaXRl
bXMoKToKKyAgICAgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKGl0ZXJhdGlvbl92YWx1ZXMsIGxp
c3QpOiAgIyBXZSBjYW4ndCByZXBvcnRzIHJlc3VsdHMgd2l0aG91dCBpbmRpdmlzdWFsIG1lYXN1
cmVtZW50cy4KICAgICAgICAgICAgICAgICBjb250aW51ZQogCiAgICAgICAgICAgICBhc3NlcnQg
bWV0cmljX2Z1bGxfbmFtZS5jb3VudCgnOicpIDw9IDEKICAgICAgICAgICAgIHRlc3RfZnVsbF9u
YW1lLCBfLCBtZXRyaWMgPSBtZXRyaWNfZnVsbF9uYW1lLnBhcnRpdGlvbignOicpCi0gICAgICAg
ICAgICBpZiBub3QgbWV0cmljOgotICAgICAgICAgICAgICAgIG1ldHJpYyA9IHsnZnBzJzogJ0Zy
YW1lUmF0ZScsICdydW5zL3MnOiAnUnVucycsICdtcyc6ICdUaW1lJ31bcmVzdWx0Wyd1bml0J11d
CiAKICAgICAgICAgICAgIHRlc3RzID0gY29udGVudHNbJ3Rlc3RzJ10KICAgICAgICAgICAgIHBh
dGggPSB0ZXN0X2Z1bGxfbmFtZS5zcGxpdCgnLycpCkBAIC0yNzgsNyArMjc2LDcgQEAgY2xhc3Mg
UGVyZlRlc3RzUnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgaWYgaXNfbGFzdF90b2tl
bjoKICAgICAgICAgICAgICAgICAgICAgY3VycmVudF90ZXN0LnNldGRlZmF1bHQoJ21ldHJpY3Mn
LCB7fSkKICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0IG1ldHJpYyBub3QgaW4gY3VycmVudF90
ZXN0WydtZXRyaWNzJ10KLSAgICAgICAgICAgICAgICAgICAgY3VycmVudF90ZXN0WydtZXRyaWNz
J11bbWV0cmljXSA9IHsnY3VycmVudCc6IHJlc3VsdFsndmFsdWVzJ119CisgICAgICAgICAgICAg
ICAgICAgIGN1cnJlbnRfdGVzdFsnbWV0cmljcyddW21ldHJpY10gPSB7J2N1cnJlbnQnOiBpdGVy
YXRpb25fdmFsdWVzfQogICAgICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgICAg
IGN1cnJlbnRfdGVzdC5zZXRkZWZhdWx0KCd0ZXN0cycsIHt9KQogICAgICAgICAgICAgICAgICAg
ICB0ZXN0cyA9IGN1cnJlbnRfdGVzdFsndGVzdHMnXQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfaW50ZWdyYXRpb250ZXN0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMv
cGVyZnRlc3RzcnVubmVyX2ludGVncmF0aW9udGVzdC5weQkocmV2aXNpb24gMTQ0NDIxKQorKysg
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJf
aW50ZWdyYXRpb250ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBAIG1heCAx
NTEwIG1zCiAiIiIKIAogICAgIG91dHB1dCA9ICIiIlJ1bm5pbmcgQmluZGluZ3MvZXZlbnQtdGFy
Z2V0LXdyYXBwZXIuaHRtbCAoMSBvZiAyKQotUkVTVUxUIEJpbmRpbmdzOiBldmVudC10YXJnZXQt
d3JhcHBlcj0gMTQ5MC4wIG1zCitSRVNVTFQgQmluZGluZ3M6IGV2ZW50LXRhcmdldC13cmFwcGVy
OiBUaW1lPSAxNDkwLjAgbXMKIG1lZGlhbj0gMTQ4OC4wIG1zLCBzdGRldj0gMTUuMTM5MzUgbXMs
IG1pbj0gMTQ3MS4wIG1zLCBtYXg9IDE1MTAuMCBtcwogRmluaXNoZWQ6IDAuMSBzCiAKQEAgLTEx
MCw3ICsxMTAsNyBAQCBtYXggMTEyMCBtcwogIiIiCiAKICAgICBvdXRwdXQgPSAiIiJSdW5uaW5n
IFBhcnNlci9zb21lLXBhcnNlci5odG1sICgyIG9mIDIpCi1SRVNVTFQgUGFyc2VyOiBzb21lLXBh
cnNlcj0gMTEwMC4wIG1zCitSRVNVTFQgUGFyc2VyOiBzb21lLXBhcnNlcjogVGltZT0gMTEwMC4w
IG1zCiBtZWRpYW49IDExMDEuMCBtcywgc3RkZXY9IDE0LjUwODYxIG1zLCBtaW49IDEwODAuMCBt
cywgbWF4PSAxMTIwLjAgbXMKIEZpbmlzaGVkOiAwLjEgcwogCkBAIC0xNDgsNyArMTQ4LDcgQEAg
bWF4IDU0ODAwMCBieXRlcwogCiAgICAgb3V0cHV0ID0gIiIiUnVubmluZyAxIHRlc3RzCiBSdW5u
aW5nIFBhcnNlci9tZW1vcnktdGVzdC5odG1sICgxIG9mIDEpCi1SRVNVTFQgUGFyc2VyOiBtZW1v
cnktdGVzdD0gMTEwMC4wIG1zCitSRVNVTFQgUGFyc2VyOiBtZW1vcnktdGVzdDogVGltZT0gMTEw
MC4wIG1zCiBtZWRpYW49IDExMDEuMCBtcywgc3RkZXY9IDE0LjUwODYxIG1zLCBtaW49IDEwODAu
MCBtcywgbWF4PSAxMTIwLjAgbXMKIFJFU1VMVCBQYXJzZXI6IG1lbW9yeS10ZXN0OiBKU0hlYXA9
IDgzMDAwMC4wIGJ5dGVzCiBtZWRpYW49IDgyOTAwMC4wIGJ5dGVzLCBzdGRldj0gMTM3ODQuMDQ4
NzUgYnl0ZXMsIG1pbj0gODExMDAwLjAgYnl0ZXMsIG1heD0gODQ4MDAwLjAgYnl0ZXMK
</data>
<flag name="review"
          id="211715"
          type_id="1"
          status="+"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>