<?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>96453</bug_id>
          
          <creation_ts>2012-09-11 17:55:20 -0700</creation_ts>
          <short_desc>run-perf-tests output cryptic error when the config file is missing.</short_desc>
          <delta_ts>2012-09-13 20:35:48 -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>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>
          
          <blocked>77037</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Stephanie Lewis">slewis</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>dpranke</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>717777</commentid>
    <comment_count>0</comment_count>
    <who name="Stephanie Lewis">slewis</who>
    <bug_when>2012-09-11 17:55:20 -0700</bug_when>
    <thetext>The error occurred after all the test finished running and it was:

Failed to merge source JSON file ../../perf-test-config.json: [Errno 2] No such file or directory: &apos;../../perf-test-config.json&apos;

which  most people took to mean the tests were failing to run correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719949</commentid>
    <comment_count>1</comment_count>
      <attachid>163966</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-09-13 14:29:45 -0700</bug_when>
    <thetext>Created attachment 163966
Improve error and help messages for source JSON files</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719956</commentid>
    <comment_count>2</comment_count>
      <attachid>163968</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-09-13 14:32:51 -0700</bug_when>
    <thetext>Created attachment 163968
Fixed one typo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719968</commentid>
    <comment_count>3</comment_count>
      <attachid>163968</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-13 14:46:13 -0700</bug_when>
    <thetext>Comment on attachment 163968
Fixed one typo

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

&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:224
&gt; +            slave_config_json = self._host.filesystem.open_text_file_for_reading(slave_config_json_path)

Nit: Should we move this line out of the try block now?

&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:226
&gt; +            return dict(slave_config.items() + output.items())

Nit: I would probably also move this line out of the try as well and make the Exception clear that it&apos;s a JSON error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719972</commentid>
    <comment_count>4</comment_count>
      <attachid>163968</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-09-13 14:50:04 -0700</bug_when>
    <thetext>Comment on attachment 163968
Fixed one typo

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

&gt;&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:224
&gt;&gt; +            slave_config_json = self._host.filesystem.open_text_file_for_reading(slave_config_json_path)
&gt; 
&gt; Nit: Should we move this line out of the try block now?

I think codecs.open can still throw exceptions. e.g. slave_config_json_path can be a file that&apos;s not readable by the current user.

&gt;&gt; Tools/Scripts/webkitpy/performance_tests/perftestsrunner.py:226
&gt;&gt; +            return dict(slave_config.items() + output.items())
&gt; 
&gt; Nit: I would probably also move this line out of the try as well and make the Exception clear that it&apos;s a JSON error.

No. One of the errors that could happen is that slave_config is an array, string, etc...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>719976</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-09-13 14:51:26 -0700</bug_when>
    <thetext>Committed r128511: &lt;http://trac.webkit.org/changeset/128511&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>720019</commentid>
    <comment_count>6</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-09-13 15:22:31 -0700</bug_when>
    <thetext>In general, we should strive to scope try/except blocks as tightly as possible to help identify errors.  E.g., if you had a separate try/except for each line, it would be clear what failed (bad file permissions, bad json file (does this even raise?), or bad slave config format).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163966</attachid>
            <date>2012-09-13 14:29:45 -0700</date>
            <delta_ts>2012-09-13 14:32:49 -0700</delta_ts>
            <desc>Improve error and help messages for source JSON files</desc>
            <filename>bug-96453-20120913142918.patch</filename>
            <type>text/plain</type>
            <size>11499</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEyODUwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMwIEBACisyMDEyLTA5LTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIHJ1bi1wZXJmLXRlc3RzIG91dHB1dCBjcnlwdGljIGVycm9yIHdoZW4gdGhlIGNv
bmZpZyBmaWxlIGlzIG1pc3NpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjQ1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIHNwZWNpYWwgZXJyb3IgbWVzc2FnZSB3aGVuIGEgY29uZmlndXJh
dGlvbiBmaWxlIGlzIG1pc3NpbmcuCisKKyAgICAgICAgQWxzbyB1cGRhdGUgdGhlIGhlbHAgbWVz
c2FnZSBvZiAtLXNvdXJjZS1qc29uLXBhdGggdG8gc2lnbmlmeSB0aGUgZmFjdCBpdCBzcGVjaWZp
ZXMKKyAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBvbiBwZXJmb3JtYW5jZSB0ZXN0cyBi
b3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHk6CisgICAgICAgIChQZXJmVGVzdHNSdW5uZXIuX3BhcnNlX2FyZ3MpOgor
ICAgICAgICAoUGVyZlRlc3RzUnVubmVyLl9nZW5lcmF0ZV9hbmRfc2hvd19yZXN1bHRzKToKKyAg
ICAgICAgKFBlcmZUZXN0c1J1bm5lci5fbWVyZ2Vfc2xhdmVfY29uZmlnX2pzb24pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQpOiBNYWtlIHVw
bG9hZCB0byBmYWlsIGJ5IGRlZmF1bHQgYW5kIGFzc2VydCB0aGUgcmVzdWx0CisgICAgICAgIGlu
IHRoZSBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiByZXR1cm4gbG9ncyBpbnN0ZWFkLgorICAgICAg
ICAoX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQubW9ja191cGxvYWRfanNvbik6CisgICAgICAg
ICh0ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KToKKyAgICAgICAgKHRlc3RfcnVuX3dpdGhfZGVz
Y3JpcHRpb24pOgorICAgICAgICAodGVzdF9ydW5fcmVzcGVjdHNfbm9fcmVzdWx0cyk6CisgICAg
ICAgICh0ZXN0X3J1bl93aXRoX3NsYXZlX2NvbmZpZ19qc29uKToKKyAgICAgICAgKHRlc3RfcnVu
X3dpdGhfYmFkX3NsYXZlX2NvbmZpZ19qc29uKToKKyAgICAgICAgKHRlc3RfcnVuX3dpdGhfbXVs
dGlwbGVfcmVwb3NpdG9yaWVzKToKKwogMjAxMi0wOS0xMyAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXZhc19PYmplY3QqIGlzIGEg
cmVmJ2VkIHN0cnVjdHVyZSwgc28gdHJlYWQgaXQgYXMgc3VjaApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNy
dW5uZXIucHkJKHJldmlzaW9uIDEyODQ5OCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMDAs
OCArMTAwLDggQEAgY2xhc3MgUGVyZlRlc3RzUnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICAg
ICAgaGVscD0iRG8gbm8gZ2VuZXJhdGUgcmVzdWx0cyBKU09OIGFuZCByZXN1bHRzIHBhZ2UuIiks
CiAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1vdXRwdXQtanNvbi1wYXRoIiwK
ICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGdlbmVyYXRlIGEgSlNPTiBmaWxlIGF0OyBt
YXkgY29udGFpbiBwcmV2aW91cyByZXN1bHRzIGlmIGl0IGFscmVhZHkgZXhpc3RzLiIpLAotICAg
ICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc291cmNlLWpzb24tcGF0aCIsCi0gICAg
ICAgICAgICAgICAgaGVscD0iT25seSB1c2VkIG9uIGJvdHMuIFBhdGggdG8gYSBKU09OIGZpbGUg
dG8gYmUgbWVyZ2VkIGludG8gdGhlIEpTT04gZmlsZSB3aGVuIC0tb3V0cHV0LWpzb24tcGF0aCBp
cyBwcmVzZW50LiIpLAorICAgICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc291cmNl
LWpzb24tcGF0aCIsICAjIEZJWE1FOiBSZW5hbWUgaXQgdG8gc2lnbmlmeSB0aGUgZmFjdCBpdCdz
IGEgc2xhdmUgY29uZmlndXJhdGlvbi4KKyAgICAgICAgICAgICAgICBoZWxwPSJPbmx5IHVzZWQg
b24gYm90cy4gUGF0aCB0byBhIHNsYXZlIGNvbmZpZ3VyYXRpb24gZmlsZS4iKSwKICAgICAgICAg
ICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWRlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAg
ICBoZWxwPSJBZGQgYSBkZXNjcmlwdGlvbiB0byB0aGUgb3V0cHV0IEpTT04gZmlsZSBpZiBvbmUg
aXMgZ2VuZXJhdGVkIiksCiAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1uby1z
aG93LXJlc3VsdHMiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVmYXVsdD1UcnVlLCBkZXN0PSJz
aG93X3Jlc3VsdHMiLApAQCAtMTgwLDcgKzE4MCw3IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihv
YmplY3QpOgogICAgICAgICBvdXRwdXQgPSBzZWxmLl9nZW5lcmF0ZV9yZXN1bHRzX2RpY3Qoc2Vs
Zi5fdGltZXN0YW1wLCBvcHRpb25zLmRlc2NyaXB0aW9uLCBvcHRpb25zLnBsYXRmb3JtLCBvcHRp
b25zLmJ1aWxkZXJfbmFtZSwgb3B0aW9ucy5idWlsZF9udW1iZXIpCiAKICAgICAgICAgaWYgb3B0
aW9ucy5zb3VyY2VfanNvbl9wYXRoOgotICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fbWVyZ2Vf
c291cmNlX2pzb24ob3B0aW9ucy5zb3VyY2VfanNvbl9wYXRoLCBvdXRwdXQpCisgICAgICAgICAg
ICBvdXRwdXQgPSBzZWxmLl9tZXJnZV9zbGF2ZV9jb25maWdfanNvbihvcHRpb25zLnNvdXJjZV9q
c29uX3BhdGgsIG91dHB1dCkKICAgICAgICAgICAgIGlmIG5vdCBvdXRwdXQ6CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuRVhJVF9DT0RFX0JBRF9TT1VSQ0VfSlNPTgogCkBAIC0yMTUsMTMg
KzIxNSwxNyBAQCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKIAogICAgICAgICByZXR1
cm4gY29udGVudHMKIAotICAgIGRlZiBfbWVyZ2Vfc291cmNlX2pzb24oc2VsZiwgc291cmNlX2pz
b25fcGF0aCwgb3V0cHV0KToKKyAgICBkZWYgX21lcmdlX3NsYXZlX2NvbmZpZ19qc29uKHNlbGYs
IHNsYXZlX2NvbmZpZ19qc29uX3BhdGgsIG91dHB1dCk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9o
b3N0LmZpbGVzeXN0ZW0uaXNmaWxlKHNsYXZlX2NvbmZpZ19qc29uX3BhdGgpOgorICAgICAgICAg
ICAgX2xvZy5lcnJvcigiTWlzc2luZyBzbGF2ZSBjb25maWd1cmF0aW9uIEpTT04gZmlsZTogJXMi
ICUgc2xhdmVfY29uZmlnX2pzb25fcGF0aCkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgc291cmNlX2pzb25fZmlsZSA9IHNlbGYuX2hvc3QuZmls
ZXN5c3RlbS5vcGVuX3RleHRfZmlsZV9mb3JfcmVhZGluZyhzb3VyY2VfanNvbl9wYXRoKQotICAg
ICAgICAgICAgc291cmNlX2pzb24gPSBqc29uLmxvYWQoc291cmNlX2pzb25fZmlsZSkKLSAgICAg
ICAgICAgIHJldHVybiBkaWN0KHNvdXJjZV9qc29uLml0ZW1zKCkgKyBvdXRwdXQuaXRlbXMoKSkK
KyAgICAgICAgICAgIHNsYXZlX2NvbmZpZ19qc29uID0gc2VsZi5faG9zdC5maWxlc3lzdGVtLm9w
ZW5fdGV4dF9maWxlX2Zvcl9yZWFkaW5nKHNsYXZlX2NvbmZpZ19qc29uX3BhdGgpCisgICAgICAg
ICAgICBzbGF2ZV9jb25maWcgPSBqc29uLmxvYWQoc2xhdmVfY29uZmlnX2pzb24pCisgICAgICAg
ICAgICByZXR1cm4gZGljdChzbGF2ZV9jb25maWcuaXRlbXMoKSArIG91dHB1dC5pdGVtcygpKQog
ICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlcnJvcjoKLSAgICAgICAgICAgIF9sb2cuZXJyb3Io
IkZhaWxlZCB0byBtZXJnZSBzb3VyY2UgSlNPTiBmaWxlICVzOiAlcyIgJSAoc291cmNlX2pzb25f
cGF0aCwgZXJyb3IpKQorICAgICAgICAgICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIG1lcmdlIHNv
dXJjZSBKU09OIGZpbGUgJXM6ICVzIiAlIChzbGF2ZV9jb25maWdfanNvbl9wYXRoLCBlcnJvcikp
CiAgICAgICAgIHJldHVybiBOb25lCiAKICAgICBkZWYgX21lcmdlX291dHB1dHMoc2VsZiwgb3V0
cHV0X2pzb25fcGF0aCwgb3V0cHV0KToKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVy
X3VuaXR0ZXN0LnB5CShyZXZpc2lvbiAxMjg0OTgpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weQkod29ya2luZyBj
b3B5KQpAQCAtMjgyLDcgKzI4Miw3IEBAIG1heCA1NDgwMDAgYnl0ZXMKICAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChyZXN1bHRzWydQYXJzZXIvbWVtb3J5LXRlc3Q6SlNIZWFwJ10sIHsnbWluJzog
ODExMDAwLjAsICdtYXgnOiA4NDgwMDAuMCwgJ21lZGlhbic6IDgyOTAwMC4wLCAnc3RkZXYnOiAx
NTAwMC4wLCAnYXZnJzogODMyMDAwLjAsICd1bml0JzogJ2J5dGVzJ30pCiAgICAgICAgIHNlbGYu
YXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21lbW9yeS10ZXN0Ok1hbGxvYyddLCB7J21pbic6
IDUxMTAwMC4wLCAnbWF4JzogNTQ4MDAwLjAsICdtZWRpYW4nOiA1MjkwMDAuMCwgJ3N0ZGV2Jzog
MTMwMDAuMCwgJ2F2Zyc6IDUzMjAwMC4wLCAndW5pdCc6ICdieXRlcyd9KQogCi0gICAgZGVmIF90
ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHNlbGYsIHJ1bm5lciwgZmlsZXN5c3RlbSwgdXBsb2Fk
X3N1Y2VlZHM9VHJ1ZSwgZXhwZWN0ZWRfZXhpdF9jb2RlPTApOgorICAgIGRlZiBfdGVzdF9ydW5f
d2l0aF9qc29uX291dHB1dChzZWxmLCBydW5uZXIsIGZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRz
PUZhbHNlLCBleHBlY3RlZF9leGl0X2NvZGU9MCk6CiAgICAgICAgIGZpbGVzeXN0ZW0ud3JpdGVf
dGV4dF9maWxlKHJ1bm5lci5fYmFzZV9wYXRoICsgJy9pbnNwZWN0b3IvcGFzcy5odG1sJywgJ3Nv
bWUgY29udGVudCcpCiAgICAgICAgIGZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKHJ1bm5lci5f
YmFzZV9wYXRoICsgJy9CaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlci5odG1sJywgJ3NvbWUg
Y29udGVudCcpCiAKQEAgLTI5MSw3ICsyOTEsNyBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAgICAgICAg
IGRlZiBtb2NrX3VwbG9hZF9qc29uKGhvc3RuYW1lLCBqc29uX3BhdGgpOgogICAgICAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChob3N0bmFtZSwgJ3NvbWUuaG9zdCcpCiAgICAgICAgICAgICBzZWxm
LmFzc2VydEVxdWFsKGpzb25fcGF0aCwgJy9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJykKLSAg
ICAgICAgICAgIHVwbG9hZGVkWzBdID0gVHJ1ZQorICAgICAgICAgICAgdXBsb2FkZWRbMF0gPSB1
cGxvYWRfc3VjZWVkcwogICAgICAgICAgICAgcmV0dXJuIHVwbG9hZF9zdWNlZWRzCiAKICAgICAg
ICAgcnVubmVyLl91cGxvYWRfanNvbiA9IG1vY2tfdXBsb2FkX2pzb24KQEAgLTMxNSw3ICszMTUs
OSBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAgICAgICAgICAgICAgICAgJycsCiAgICAgICAgICAgICAg
ICAgJyddKSkKIAotICAgICAgICByZXR1cm4gdXBsb2FkZWRbMF0KKyAgICAgICAgc2VsZi5hc3Nl
cnRFcXVhbCh1cGxvYWRlZFswXSwgdXBsb2FkX3N1Y2VlZHMpCisKKyAgICAgICAgcmV0dXJuIGxv
Z3MKIAogICAgIF9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3VsdHMgPSB7
CiAgICAgICAgICJCaW5kaW5ncy9ldmVudC10YXJnZXQtd3JhcHBlciI6IHsibWF4IjogMTUxMCwg
ImF2ZyI6IDE0ODkuMDUsICJtZWRpYW4iOiAxNDg3LCAibWluIjogMTQ3MSwgInN0ZGV2IjogMTQu
NDYsICJ1bml0IjogIm1zIn0sCkBAIC0zMjQsNyArMzI2LDcgQEAgbWF4IDU0ODAwMCBieXRlcwog
ICAgIGRlZiB0ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHNlbGYpOgogICAgICAgICBydW5uZXIs
IHBvcnQgPSBzZWxmLmNyZWF0ZV9ydW5uZXIoYXJncz1bJy0tb3V0cHV0LWpzb24tcGF0aD0vbW9j
ay1jaGVja291dC9vdXRwdXQuanNvbicsCiAgICAgICAgICAgICAnLS10ZXN0LXJlc3VsdHMtc2Vy
dmVyPXNvbWUuaG9zdCddKQotICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0
KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0pCisgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dp
dGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwgdXBsb2FkX3N1Y2Vl
ZHM9VHJ1ZSkKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNv
bigpLCB7CiAgICAgICAgICAgICAidGltZXN0YW1wIjogMTIzNDU2Nzg5LCAicmVzdWx0cyI6IHNl
bGYuX2V2ZW50X3RhcmdldF93cmFwcGVyX2FuZF9pbnNwZWN0b3JfcmVzdWx0cywKICAgICAgICAg
ICAgICJ3ZWJraXQtcmV2aXNpb24iOiAiNTY3OCIsICJicmFuY2giOiAid2Via2l0LXRydW5rIn0p
CkBAIC0zMzIsNyArMzM0LDcgQEAgbWF4IDU0ODAwMCBieXRlcwogICAgIGRlZiB0ZXN0X3J1bl93
aXRoX2Rlc2NyaXB0aW9uKHNlbGYpOgogICAgICAgICBydW5uZXIsIHBvcnQgPSBzZWxmLmNyZWF0
ZV9ydW5uZXIoYXJncz1bJy0tb3V0cHV0LWpzb24tcGF0aD0vbW9jay1jaGVja291dC9vdXRwdXQu
anNvbicsCiAgICAgICAgICAgICAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9zdCcsICct
LWRlc2NyaXB0aW9uJywgJ3NvbWUgZGVzY3JpcHRpb24nXSkKLSAgICAgICAgc2VsZi5fdGVzdF9y
dW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQorICAgICAg
ICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVz
eXN0ZW0sIHVwbG9hZF9zdWNlZWRzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVu
bmVyLmxvYWRfb3V0cHV0X2pzb24oKSwgewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1
Njc4OSwgImRlc2NyaXB0aW9uIjogInNvbWUgZGVzY3JpcHRpb24iLAogICAgICAgICAgICAgInJl
c3VsdHMiOiBzZWxmLl9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3VsdHMs
CkBAIC0zNTAsNyArMzUyLDcgQEAgbWF4IDU0ODAwMCBieXRlcwogICAgIGRlZiB0ZXN0X3J1bl9y
ZXNwZWN0c19ub19yZXN1bHRzKHNlbGYpOgogICAgICAgICBydW5uZXIsIHBvcnQgPSBzZWxmLmNy
ZWF0ZV9ydW5uZXIoYXJncz1bJy0tb3V0cHV0LWpzb24tcGF0aD0vbW9jay1jaGVja291dC9vdXRw
dXQuanNvbicsCiAgICAgICAgICAgICAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9zdCcs
ICctLW5vLXJlc3VsdHMnXSkKLSAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzZWxmLl90ZXN0X3J1
bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0pKQorICAgICAg
ICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVz
eXN0ZW0sIHVwbG9hZF9zdWNlZWRzPUZhbHNlKQogICAgICAgICBzZWxmLmFzc2VydEZhbHNlKHBv
cnQuaG9zdC5maWxlc3lzdGVtLmlzZmlsZSgnL21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nKSkK
IAogICAgIGRlZiB0ZXN0X3J1bl9nZW5lcmF0ZXNfanNvbl9ieV9kZWZhdWx0KHNlbGYpOgpAQCAt
NDE5LDI5ICs0MjEsMzAgQEAgbWF4IDU0ODAwMCBieXRlcwogICAgICAgICBwb3J0Lmhvc3QuZmls
ZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJywgJ3si
YW5vdGhlciBiYWQganNvbiI6ICIxIn0nKQogICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pz
b25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0sIGV4cGVjdGVkX2V4aXRfY29k
ZT1QZXJmVGVzdHNSdW5uZXIuRVhJVF9DT0RFX0JBRF9NRVJHRSkKIAotICAgIGRlZiB0ZXN0X3J1
bl93aXRoX2pzb25fc291cmNlKHNlbGYpOgorICAgIGRlZiB0ZXN0X3J1bl93aXRoX3NsYXZlX2Nv
bmZpZ19qc29uKHNlbGYpOgogICAgICAgICBydW5uZXIsIHBvcnQgPSBzZWxmLmNyZWF0ZV9ydW5u
ZXIoYXJncz1bJy0tb3V0cHV0LWpzb24tcGF0aD0vbW9jay1jaGVja291dC9vdXRwdXQuanNvbics
Ci0gICAgICAgICAgICAnLS1zb3VyY2UtanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L3NvdXJjZS5q
c29uJywgJy0tdGVzdC1yZXN1bHRzLXNlcnZlcj1zb21lLmhvc3QnXSkKLSAgICAgICAgcG9ydC5o
b3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9zb3VyY2UuanNv
bicsICd7ImtleSI6ICJ2YWx1ZSJ9JykKLSAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29u
X291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQorICAgICAgICAgICAgJy0tc291
cmNlLWpzb24tcGF0aD0vbW9jay1jaGVja291dC9zbGF2ZS1jb25maWcuanNvbicsICctLXRlc3Qt
cmVzdWx0cy1zZXJ2ZXI9c29tZS5ob3N0J10pCisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hlY2tvdXQvc2xhdmUtY29uZmlnLmpzb24nLCAneyJr
ZXkiOiAidmFsdWUifScpCisgICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQo
cnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwgdXBsb2FkX3N1Y2VlZHM9VHJ1ZSkKICAgICAg
ICAgc2VsZi5hc3NlcnRFcXVhbChydW5uZXIubG9hZF9vdXRwdXRfanNvbigpLCB7CiAgICAgICAg
ICAgICAidGltZXN0YW1wIjogMTIzNDU2Nzg5LCAicmVzdWx0cyI6IHNlbGYuX2V2ZW50X3Rhcmdl
dF93cmFwcGVyX2FuZF9pbnNwZWN0b3JfcmVzdWx0cywKICAgICAgICAgICAgICJ3ZWJraXQtcmV2
aXNpb24iOiAiNTY3OCIsICJicmFuY2giOiAid2Via2l0LXRydW5rIiwgImtleSI6ICJ2YWx1ZSJ9
KQogCi0gICAgZGVmIHRlc3RfcnVuX3dpdGhfYmFkX2pzb25fc291cmNlKHNlbGYpOgorICAgIGRl
ZiB0ZXN0X3J1bl93aXRoX2JhZF9zbGF2ZV9jb25maWdfanNvbihzZWxmKToKICAgICAgICAgcnVu
bmVyLCBwb3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyKGFyZ3M9WyctLW91dHB1dC1qc29uLXBhdGg9
L21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nLAotICAgICAgICAgICAgJy0tc291cmNlLWpzb24t
cGF0aD0vbW9jay1jaGVja291dC9zb3VyY2UuanNvbicsICctLXRlc3QtcmVzdWx0cy1zZXJ2ZXI9
c29tZS5ob3N0J10pCi0gICAgICAgIHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVu
bmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwgZXhwZWN0ZWRfZXhpdF9jb2RlPVBlcmZUZXN0c1J1
bm5lci5FWElUX0NPREVfQkFEX1NPVVJDRV9KU09OKQotICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5
c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L3NvdXJjZS5qc29uJywgJ2JhZCBq
c29uJykKKyAgICAgICAgICAgICctLXNvdXJjZS1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQvc2xh
dmUtY29uZmlnLmpzb24nLCAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9zdCddKQorICAg
ICAgICBsb2dzID0gc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQu
aG9zdC5maWxlc3lzdGVtLCBleHBlY3RlZF9leGl0X2NvZGU9UGVyZlRlc3RzUnVubmVyLkVYSVRf
Q09ERV9CQURfU09VUkNFX0pTT04pCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZSgnTWlzc2luZyBz
bGF2ZSBjb25maWd1cmF0aW9uIEpTT04gZmlsZTogL21vY2stY2hlY2tvdXQvc2xhdmUtY29uZmln
Lmpzb24nIGluIGxvZ3MpCisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRf
ZmlsZSgnL21vY2stY2hlY2tvdXQvc2xhdmUtY29uZmlnLmpzb24nLCAnYmFkIGpzb24nKQogICAg
ICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZp
bGVzeXN0ZW0sIGV4cGVjdGVkX2V4aXRfY29kZT1QZXJmVGVzdHNSdW5uZXIuRVhJVF9DT0RFX0JB
RF9TT1VSQ0VfSlNPTikKLSAgICAgICAgcG9ydC5ob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9m
aWxlKCcvbW9jay1jaGVja291dC9zb3VyY2UuanNvbicsICdbImFub3RoZXIgYmFkIGpzb24iXScp
CisgICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hl
Y2tvdXQvc2xhdmUtY29uZmlnLmpzb24nLCAnWyJhbm90aGVyIGJhZCBqc29uIl0nKQogICAgICAg
ICBzZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVz
eXN0ZW0sIGV4cGVjdGVkX2V4aXRfY29kZT1QZXJmVGVzdHNSdW5uZXIuRVhJVF9DT0RFX0JBRF9T
T1VSQ0VfSlNPTikKIAogICAgIGRlZiB0ZXN0X3J1bl93aXRoX211bHRpcGxlX3JlcG9zaXRvcmll
cyhzZWxmKToKICAgICAgICAgcnVubmVyLCBwb3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyKGFyZ3M9
WyctLW91dHB1dC1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nLAogICAgICAg
ICAgICAgJy0tdGVzdC1yZXN1bHRzLXNlcnZlcj1zb21lLmhvc3QnXSkKICAgICAgICAgcG9ydC5y
ZXBvc2l0b3J5X3BhdGhzID0gbGFtYmRhOiBbKCd3ZWJraXQnLCAnL21vY2stY2hlY2tvdXQnKSwg
KCdzb21lJywgJy9tb2NrLWNoZWNrb3V0L3NvbWUnKV0KLSAgICAgICAgc2VsZi5fdGVzdF9ydW5f
d2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQorICAgICAgICBz
ZWxmLl90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0
ZW0sIHVwbG9hZF9zdWNlZWRzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVy
LmxvYWRfb3V0cHV0X2pzb24oKSwgewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4
OSwgInJlc3VsdHMiOiBzZWxmLl9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jl
c3VsdHMsCiAgICAgICAgICAgICAid2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAic29tZS1yZXZp
c2lvbiI6ICI1Njc4IiwgImJyYW5jaCI6ICJ3ZWJraXQtdHJ1bmsifSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>163968</attachid>
            <date>2012-09-13 14:32:51 -0700</date>
            <delta_ts>2012-09-13 14:50:04 -0700</delta_ts>
            <desc>Fixed one typo</desc>
            <filename>bug-96453-20120913143223.patch</filename>
            <type>text/plain</type>
            <size>11512</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEyODUwOSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDMwIEBACisyMDEyLTA5LTEzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIHJ1bi1wZXJmLXRlc3RzIG91dHB1dCBjcnlwdGljIGVycm9yIHdoZW4gdGhlIGNv
bmZpZyBmaWxlIGlzIG1pc3NpbmcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjQ1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBhIHNwZWNpYWwgZXJyb3IgbWVzc2FnZSB3aGVuIGEgY29uZmlndXJh
dGlvbiBmaWxlIGlzIG1pc3NpbmcuCisKKyAgICAgICAgQWxzbyB1cGRhdGUgdGhlIGhlbHAgbWVz
c2FnZSBvZiAtLXNvdXJjZS1qc29uLXBhdGggdG8gc2lnbmlmeSB0aGUgZmFjdCBpdCBzcGVjaWZp
ZXMKKyAgICAgICAgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBvbiBwZXJmb3JtYW5jZSB0ZXN0cyBi
b3RzLgorCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJm
dGVzdHNydW5uZXIucHk6CisgICAgICAgIChQZXJmVGVzdHNSdW5uZXIuX3BhcnNlX2FyZ3MpOgor
ICAgICAgICAoUGVyZlRlc3RzUnVubmVyLl9nZW5lcmF0ZV9hbmRfc2hvd19yZXN1bHRzKToKKyAg
ICAgICAgKFBlcmZUZXN0c1J1bm5lci5fbWVyZ2Vfc2xhdmVfY29uZmlnX2pzb24pOgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cHkvcGVyZm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyX3Vu
aXR0ZXN0LnB5OgorICAgICAgICAoX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQpOiBNYWtlIHVw
bG9hZCB0byBmYWlsIGJ5IGRlZmF1bHQgYW5kIGFzc2VydCB0aGUgcmVzdWx0CisgICAgICAgIGlu
IHRoZSBmdW5jdGlvbiBzbyB0aGF0IHdlIGNhbiByZXR1cm4gbG9ncyBpbnN0ZWFkLgorICAgICAg
ICAoX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQubW9ja191cGxvYWRfanNvbik6CisgICAgICAg
ICh0ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KToKKyAgICAgICAgKHRlc3RfcnVuX3dpdGhfZGVz
Y3JpcHRpb24pOgorICAgICAgICAodGVzdF9ydW5fcmVzcGVjdHNfbm9fcmVzdWx0cyk6CisgICAg
ICAgICh0ZXN0X3J1bl93aXRoX3NsYXZlX2NvbmZpZ19qc29uKToKKyAgICAgICAgKHRlc3RfcnVu
X3dpdGhfYmFkX3NsYXZlX2NvbmZpZ19qc29uKToKKyAgICAgICAgKHRlc3RfcnVuX3dpdGhfbXVs
dGlwbGVfcmVwb3NpdG9yaWVzKToKKwogMjAxMi0wOS0xMyAgS2VubmV0aCBSb2hkZSBDaHJpc3Rp
YW5zZW4gIDxrZW5uZXRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRXZhc19PYmplY3QqIGlzIGEg
cmVmJ2VkIHN0cnVjdHVyZSwgc28gdHJlYWQgaXQgYXMgc3VjaApJbmRleDogVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXIucHkKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNy
dW5uZXIucHkJKHJldmlzaW9uIDEyODQ5OCkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcGVy
Zm9ybWFuY2VfdGVzdHMvcGVyZnRlc3RzcnVubmVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xMDAs
OCArMTAwLDggQEAgY2xhc3MgUGVyZlRlc3RzUnVubmVyKG9iamVjdCk6CiAgICAgICAgICAgICAg
ICAgaGVscD0iRG8gbm8gZ2VuZXJhdGUgcmVzdWx0cyBKU09OIGFuZCByZXN1bHRzIHBhZ2UuIiks
CiAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1vdXRwdXQtanNvbi1wYXRoIiwK
ICAgICAgICAgICAgICAgICBoZWxwPSJQYXRoIHRvIGdlbmVyYXRlIGEgSlNPTiBmaWxlIGF0OyBt
YXkgY29udGFpbiBwcmV2aW91cyByZXN1bHRzIGlmIGl0IGFscmVhZHkgZXhpc3RzLiIpLAotICAg
ICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc291cmNlLWpzb24tcGF0aCIsCi0gICAg
ICAgICAgICAgICAgaGVscD0iT25seSB1c2VkIG9uIGJvdHMuIFBhdGggdG8gYSBKU09OIGZpbGUg
dG8gYmUgbWVyZ2VkIGludG8gdGhlIEpTT04gZmlsZSB3aGVuIC0tb3V0cHV0LWpzb24tcGF0aCBp
cyBwcmVzZW50LiIpLAorICAgICAgICAgICAgb3B0cGFyc2UubWFrZV9vcHRpb24oIi0tc291cmNl
LWpzb24tcGF0aCIsICAjIEZJWE1FOiBSZW5hbWUgaXQgdG8gc2lnbmlmeSB0aGUgZmFjdCBpdCdz
IGEgc2xhdmUgY29uZmlndXJhdGlvbi4KKyAgICAgICAgICAgICAgICBoZWxwPSJPbmx5IHVzZWQg
b24gYm90cy4gUGF0aCB0byBhIHNsYXZlIGNvbmZpZ3VyYXRpb24gZmlsZS4iKSwKICAgICAgICAg
ICAgIG9wdHBhcnNlLm1ha2Vfb3B0aW9uKCItLWRlc2NyaXB0aW9uIiwKICAgICAgICAgICAgICAg
ICBoZWxwPSJBZGQgYSBkZXNjcmlwdGlvbiB0byB0aGUgb3V0cHV0IEpTT04gZmlsZSBpZiBvbmUg
aXMgZ2VuZXJhdGVkIiksCiAgICAgICAgICAgICBvcHRwYXJzZS5tYWtlX29wdGlvbigiLS1uby1z
aG93LXJlc3VsdHMiLCBhY3Rpb249InN0b3JlX2ZhbHNlIiwgZGVmYXVsdD1UcnVlLCBkZXN0PSJz
aG93X3Jlc3VsdHMiLApAQCAtMTgwLDcgKzE4MCw3IEBAIGNsYXNzIFBlcmZUZXN0c1J1bm5lcihv
YmplY3QpOgogICAgICAgICBvdXRwdXQgPSBzZWxmLl9nZW5lcmF0ZV9yZXN1bHRzX2RpY3Qoc2Vs
Zi5fdGltZXN0YW1wLCBvcHRpb25zLmRlc2NyaXB0aW9uLCBvcHRpb25zLnBsYXRmb3JtLCBvcHRp
b25zLmJ1aWxkZXJfbmFtZSwgb3B0aW9ucy5idWlsZF9udW1iZXIpCiAKICAgICAgICAgaWYgb3B0
aW9ucy5zb3VyY2VfanNvbl9wYXRoOgotICAgICAgICAgICAgb3V0cHV0ID0gc2VsZi5fbWVyZ2Vf
c291cmNlX2pzb24ob3B0aW9ucy5zb3VyY2VfanNvbl9wYXRoLCBvdXRwdXQpCisgICAgICAgICAg
ICBvdXRwdXQgPSBzZWxmLl9tZXJnZV9zbGF2ZV9jb25maWdfanNvbihvcHRpb25zLnNvdXJjZV9q
c29uX3BhdGgsIG91dHB1dCkKICAgICAgICAgICAgIGlmIG5vdCBvdXRwdXQ6CiAgICAgICAgICAg
ICAgICAgcmV0dXJuIHNlbGYuRVhJVF9DT0RFX0JBRF9TT1VSQ0VfSlNPTgogCkBAIC0yMTUsMTMg
KzIxNSwxNyBAQCBjbGFzcyBQZXJmVGVzdHNSdW5uZXIob2JqZWN0KToKIAogICAgICAgICByZXR1
cm4gY29udGVudHMKIAotICAgIGRlZiBfbWVyZ2Vfc291cmNlX2pzb24oc2VsZiwgc291cmNlX2pz
b25fcGF0aCwgb3V0cHV0KToKKyAgICBkZWYgX21lcmdlX3NsYXZlX2NvbmZpZ19qc29uKHNlbGYs
IHNsYXZlX2NvbmZpZ19qc29uX3BhdGgsIG91dHB1dCk6CisgICAgICAgIGlmIG5vdCBzZWxmLl9o
b3N0LmZpbGVzeXN0ZW0uaXNmaWxlKHNsYXZlX2NvbmZpZ19qc29uX3BhdGgpOgorICAgICAgICAg
ICAgX2xvZy5lcnJvcigiTWlzc2luZyBzbGF2ZSBjb25maWd1cmF0aW9uIEpTT04gZmlsZTogJXMi
ICUgc2xhdmVfY29uZmlnX2pzb25fcGF0aCkKKyAgICAgICAgICAgIHJldHVybiBOb25lCisKICAg
ICAgICAgdHJ5OgotICAgICAgICAgICAgc291cmNlX2pzb25fZmlsZSA9IHNlbGYuX2hvc3QuZmls
ZXN5c3RlbS5vcGVuX3RleHRfZmlsZV9mb3JfcmVhZGluZyhzb3VyY2VfanNvbl9wYXRoKQotICAg
ICAgICAgICAgc291cmNlX2pzb24gPSBqc29uLmxvYWQoc291cmNlX2pzb25fZmlsZSkKLSAgICAg
ICAgICAgIHJldHVybiBkaWN0KHNvdXJjZV9qc29uLml0ZW1zKCkgKyBvdXRwdXQuaXRlbXMoKSkK
KyAgICAgICAgICAgIHNsYXZlX2NvbmZpZ19qc29uID0gc2VsZi5faG9zdC5maWxlc3lzdGVtLm9w
ZW5fdGV4dF9maWxlX2Zvcl9yZWFkaW5nKHNsYXZlX2NvbmZpZ19qc29uX3BhdGgpCisgICAgICAg
ICAgICBzbGF2ZV9jb25maWcgPSBqc29uLmxvYWQoc2xhdmVfY29uZmlnX2pzb24pCisgICAgICAg
ICAgICByZXR1cm4gZGljdChzbGF2ZV9jb25maWcuaXRlbXMoKSArIG91dHB1dC5pdGVtcygpKQog
ICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlcnJvcjoKLSAgICAgICAgICAgIF9sb2cuZXJyb3Io
IkZhaWxlZCB0byBtZXJnZSBzb3VyY2UgSlNPTiBmaWxlICVzOiAlcyIgJSAoc291cmNlX2pzb25f
cGF0aCwgZXJyb3IpKQorICAgICAgICAgICAgX2xvZy5lcnJvcigiRmFpbGVkIHRvIG1lcmdlIHNs
YXZlIGNvbmZpZ3VyYXRpb24gSlNPTiBmaWxlICVzOiAlcyIgJSAoc2xhdmVfY29uZmlnX2pzb25f
cGF0aCwgZXJyb3IpKQogICAgICAgICByZXR1cm4gTm9uZQogCiAgICAgZGVmIF9tZXJnZV9vdXRw
dXRzKHNlbGYsIG91dHB1dF9qc29uX3BhdGgsIG91dHB1dCk6CkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3BlcmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BlcmZvcm1hbmNlX3Rlc3RzL3Bl
cmZ0ZXN0c3J1bm5lcl91bml0dGVzdC5weQkocmV2aXNpb24gMTI4NDk4KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wZXJmb3JtYW5jZV90ZXN0cy9wZXJmdGVzdHNydW5uZXJfdW5pdHRlc3Qu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTI4Miw3ICsyODIsNyBAQCBtYXggNTQ4MDAwIGJ5dGVzCiAg
ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocmVzdWx0c1snUGFyc2VyL21lbW9yeS10ZXN0OkpTSGVh
cCddLCB7J21pbic6IDgxMTAwMC4wLCAnbWF4JzogODQ4MDAwLjAsICdtZWRpYW4nOiA4MjkwMDAu
MCwgJ3N0ZGV2JzogMTUwMDAuMCwgJ2F2Zyc6IDgzMjAwMC4wLCAndW5pdCc6ICdieXRlcyd9KQog
ICAgICAgICBzZWxmLmFzc2VydEVxdWFsKHJlc3VsdHNbJ1BhcnNlci9tZW1vcnktdGVzdDpNYWxs
b2MnXSwgeydtaW4nOiA1MTEwMDAuMCwgJ21heCc6IDU0ODAwMC4wLCAnbWVkaWFuJzogNTI5MDAw
LjAsICdzdGRldic6IDEzMDAwLjAsICdhdmcnOiA1MzIwMDAuMCwgJ3VuaXQnOiAnYnl0ZXMnfSkK
IAotICAgIGRlZiBfdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChzZWxmLCBydW5uZXIsIGZpbGVz
eXN0ZW0sIHVwbG9hZF9zdWNlZWRzPVRydWUsIGV4cGVjdGVkX2V4aXRfY29kZT0wKToKKyAgICBk
ZWYgX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQoc2VsZiwgcnVubmVyLCBmaWxlc3lzdGVtLCB1
cGxvYWRfc3VjZWVkcz1GYWxzZSwgZXhwZWN0ZWRfZXhpdF9jb2RlPTApOgogICAgICAgICBmaWxl
c3lzdGVtLndyaXRlX3RleHRfZmlsZShydW5uZXIuX2Jhc2VfcGF0aCArICcvaW5zcGVjdG9yL3Bh
c3MuaHRtbCcsICdzb21lIGNvbnRlbnQnKQogICAgICAgICBmaWxlc3lzdGVtLndyaXRlX3RleHRf
ZmlsZShydW5uZXIuX2Jhc2VfcGF0aCArICcvQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIu
aHRtbCcsICdzb21lIGNvbnRlbnQnKQogCkBAIC0yOTEsNyArMjkxLDcgQEAgbWF4IDU0ODAwMCBi
eXRlcwogICAgICAgICBkZWYgbW9ja191cGxvYWRfanNvbihob3N0bmFtZSwganNvbl9wYXRoKToK
ICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoaG9zdG5hbWUsICdzb21lLmhvc3QnKQogICAg
ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChqc29uX3BhdGgsICcvbW9jay1jaGVja291dC9vdXRw
dXQuanNvbicpCi0gICAgICAgICAgICB1cGxvYWRlZFswXSA9IFRydWUKKyAgICAgICAgICAgIHVw
bG9hZGVkWzBdID0gdXBsb2FkX3N1Y2VlZHMKICAgICAgICAgICAgIHJldHVybiB1cGxvYWRfc3Vj
ZWVkcwogCiAgICAgICAgIHJ1bm5lci5fdXBsb2FkX2pzb24gPSBtb2NrX3VwbG9hZF9qc29uCkBA
IC0zMTUsNyArMzE1LDkgQEAgbWF4IDU0ODAwMCBieXRlcwogICAgICAgICAgICAgICAgICcnLAog
ICAgICAgICAgICAgICAgICcnXSkpCiAKLSAgICAgICAgcmV0dXJuIHVwbG9hZGVkWzBdCisgICAg
ICAgIHNlbGYuYXNzZXJ0RXF1YWwodXBsb2FkZWRbMF0sIHVwbG9hZF9zdWNlZWRzKQorCisgICAg
ICAgIHJldHVybiBsb2dzCiAKICAgICBfZXZlbnRfdGFyZ2V0X3dyYXBwZXJfYW5kX2luc3BlY3Rv
cl9yZXN1bHRzID0gewogICAgICAgICAiQmluZGluZ3MvZXZlbnQtdGFyZ2V0LXdyYXBwZXIiOiB7
Im1heCI6IDE1MTAsICJhdmciOiAxNDg5LjA1LCAibWVkaWFuIjogMTQ4NywgIm1pbiI6IDE0NzEs
ICJzdGRldiI6IDE0LjQ2LCAidW5pdCI6ICJtcyJ9LApAQCAtMzI0LDcgKzMyNiw3IEBAIG1heCA1
NDgwMDAgYnl0ZXMKICAgICBkZWYgdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChzZWxmKToKICAg
ICAgICAgcnVubmVyLCBwb3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyKGFyZ3M9WyctLW91dHB1dC1q
c29uLXBhdGg9L21vY2stY2hlY2tvdXQvb3V0cHV0Lmpzb24nLAogICAgICAgICAgICAgJy0tdGVz
dC1yZXN1bHRzLXNlcnZlcj1zb21lLmhvc3QnXSkKLSAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0
aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtKQorICAgICAgICBzZWxm
Ll90ZXN0X3J1bl93aXRoX2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0s
IHVwbG9hZF9zdWNlZWRzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLmxv
YWRfb3V0cHV0X2pzb24oKSwgewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4OSwg
InJlc3VsdHMiOiBzZWxmLl9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3Vs
dHMsCiAgICAgICAgICAgICAid2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAiYnJhbmNoIjogIndl
YmtpdC10cnVuayJ9KQpAQCAtMzMyLDcgKzMzNCw3IEBAIG1heCA1NDgwMDAgYnl0ZXMKICAgICBk
ZWYgdGVzdF9ydW5fd2l0aF9kZXNjcmlwdGlvbihzZWxmKToKICAgICAgICAgcnVubmVyLCBwb3J0
ID0gc2VsZi5jcmVhdGVfcnVubmVyKGFyZ3M9WyctLW91dHB1dC1qc29uLXBhdGg9L21vY2stY2hl
Y2tvdXQvb3V0cHV0Lmpzb24nLAogICAgICAgICAgICAgJy0tdGVzdC1yZXN1bHRzLXNlcnZlcj1z
b21lLmhvc3QnLCAnLS1kZXNjcmlwdGlvbicsICdzb21lIGRlc2NyaXB0aW9uJ10pCi0gICAgICAg
IHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5
c3RlbSkKKyAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBv
cnQuaG9zdC5maWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1UcnVlKQogICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIHsKICAgICAgICAgICAgICJ0aW1l
c3RhbXAiOiAxMjM0NTY3ODksICJkZXNjcmlwdGlvbiI6ICJzb21lIGRlc2NyaXB0aW9uIiwKICAg
ICAgICAgICAgICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dyYXBwZXJfYW5kX2luc3Bl
Y3Rvcl9yZXN1bHRzLApAQCAtMzUwLDcgKzM1Miw3IEBAIG1heCA1NDgwMDAgYnl0ZXMKICAgICBk
ZWYgdGVzdF9ydW5fcmVzcGVjdHNfbm9fcmVzdWx0cyhzZWxmKToKICAgICAgICAgcnVubmVyLCBw
b3J0ID0gc2VsZi5jcmVhdGVfcnVubmVyKGFyZ3M9WyctLW91dHB1dC1qc29uLXBhdGg9L21vY2st
Y2hlY2tvdXQvb3V0cHV0Lmpzb24nLAogICAgICAgICAgICAgJy0tdGVzdC1yZXN1bHRzLXNlcnZl
cj1zb21lLmhvc3QnLCAnLS1uby1yZXN1bHRzJ10pCi0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uo
c2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lz
dGVtKSkKKyAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBv
cnQuaG9zdC5maWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1GYWxzZSkKICAgICAgICAgc2VsZi5h
c3NlcnRGYWxzZShwb3J0Lmhvc3QuZmlsZXN5c3RlbS5pc2ZpbGUoJy9tb2NrLWNoZWNrb3V0L291
dHB1dC5qc29uJykpCiAKICAgICBkZWYgdGVzdF9ydW5fZ2VuZXJhdGVzX2pzb25fYnlfZGVmYXVs
dChzZWxmKToKQEAgLTQxOSwyOSArNDIxLDMwIEBAIG1heCA1NDgwMDAgYnl0ZXMKICAgICAgICAg
cG9ydC5ob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9vdXRw
dXQuanNvbicsICd7ImFub3RoZXIgYmFkIGpzb24iOiAiMSJ9JykKICAgICAgICAgc2VsZi5fdGVz
dF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQuaG9zdC5maWxlc3lzdGVtLCBleHBl
Y3RlZF9leGl0X2NvZGU9UGVyZlRlc3RzUnVubmVyLkVYSVRfQ09ERV9CQURfTUVSR0UpCiAKLSAg
ICBkZWYgdGVzdF9ydW5fd2l0aF9qc29uX3NvdXJjZShzZWxmKToKKyAgICBkZWYgdGVzdF9ydW5f
d2l0aF9zbGF2ZV9jb25maWdfanNvbihzZWxmKToKICAgICAgICAgcnVubmVyLCBwb3J0ID0gc2Vs
Zi5jcmVhdGVfcnVubmVyKGFyZ3M9WyctLW91dHB1dC1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQv
b3V0cHV0Lmpzb24nLAotICAgICAgICAgICAgJy0tc291cmNlLWpzb24tcGF0aD0vbW9jay1jaGVj
a291dC9zb3VyY2UuanNvbicsICctLXRlc3QtcmVzdWx0cy1zZXJ2ZXI9c29tZS5ob3N0J10pCi0g
ICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVtLndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hlY2tv
dXQvc291cmNlLmpzb24nLCAneyJrZXkiOiAidmFsdWUifScpCi0gICAgICAgIHNlbGYuX3Rlc3Rf
cnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSkKKyAgICAg
ICAgICAgICctLXNvdXJjZS1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQvc2xhdmUtY29uZmlnLmpz
b24nLCAnLS10ZXN0LXJlc3VsdHMtc2VydmVyPXNvbWUuaG9zdCddKQorICAgICAgICBwb3J0Lmhv
c3QuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L3NsYXZlLWNvbmZp
Zy5qc29uJywgJ3sia2V5IjogInZhbHVlIn0nKQorICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRo
X2pzb25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0sIHVwbG9hZF9zdWNlZWRz
PVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwocnVubmVyLmxvYWRfb3V0cHV0X2pzb24o
KSwgewogICAgICAgICAgICAgInRpbWVzdGFtcCI6IDEyMzQ1Njc4OSwgInJlc3VsdHMiOiBzZWxm
Ll9ldmVudF90YXJnZXRfd3JhcHBlcl9hbmRfaW5zcGVjdG9yX3Jlc3VsdHMsCiAgICAgICAgICAg
ICAid2Via2l0LXJldmlzaW9uIjogIjU2NzgiLCAiYnJhbmNoIjogIndlYmtpdC10cnVuayIsICJr
ZXkiOiAidmFsdWUifSkKIAotICAgIGRlZiB0ZXN0X3J1bl93aXRoX2JhZF9qc29uX3NvdXJjZShz
ZWxmKToKKyAgICBkZWYgdGVzdF9ydW5fd2l0aF9iYWRfc2xhdmVfY29uZmlnX2pzb24oc2VsZik6
CiAgICAgICAgIHJ1bm5lciwgcG9ydCA9IHNlbGYuY3JlYXRlX3J1bm5lcihhcmdzPVsnLS1vdXRw
dXQtanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L291dHB1dC5qc29uJywKLSAgICAgICAgICAgICct
LXNvdXJjZS1qc29uLXBhdGg9L21vY2stY2hlY2tvdXQvc291cmNlLmpzb24nLCAnLS10ZXN0LXJl
c3VsdHMtc2VydmVyPXNvbWUuaG9zdCddKQotICAgICAgICBzZWxmLl90ZXN0X3J1bl93aXRoX2pz
b25fb3V0cHV0KHJ1bm5lciwgcG9ydC5ob3N0LmZpbGVzeXN0ZW0sIGV4cGVjdGVkX2V4aXRfY29k
ZT1QZXJmVGVzdHNSdW5uZXIuRVhJVF9DT0RFX0JBRF9TT1VSQ0VfSlNPTikKLSAgICAgICAgcG9y
dC5ob3N0LmZpbGVzeXN0ZW0ud3JpdGVfdGV4dF9maWxlKCcvbW9jay1jaGVja291dC9zb3VyY2Uu
anNvbicsICdiYWQganNvbicpCisgICAgICAgICAgICAnLS1zb3VyY2UtanNvbi1wYXRoPS9tb2Nr
LWNoZWNrb3V0L3NsYXZlLWNvbmZpZy5qc29uJywgJy0tdGVzdC1yZXN1bHRzLXNlcnZlcj1zb21l
Lmhvc3QnXSkKKyAgICAgICAgbG9ncyA9IHNlbGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQo
cnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3RlbSwgZXhwZWN0ZWRfZXhpdF9jb2RlPVBlcmZUZXN0
c1J1bm5lci5FWElUX0NPREVfQkFEX1NPVVJDRV9KU09OKQorICAgICAgICBzZWxmLmFzc2VydFRy
dWUoJ01pc3Npbmcgc2xhdmUgY29uZmlndXJhdGlvbiBKU09OIGZpbGU6IC9tb2NrLWNoZWNrb3V0
L3NsYXZlLWNvbmZpZy5qc29uJyBpbiBsb2dzKQorICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3Rl
bS53cml0ZV90ZXh0X2ZpbGUoJy9tb2NrLWNoZWNrb3V0L3NsYXZlLWNvbmZpZy5qc29uJywgJ2Jh
ZCBqc29uJykKICAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIs
IHBvcnQuaG9zdC5maWxlc3lzdGVtLCBleHBlY3RlZF9leGl0X2NvZGU9UGVyZlRlc3RzUnVubmVy
LkVYSVRfQ09ERV9CQURfU09VUkNFX0pTT04pCi0gICAgICAgIHBvcnQuaG9zdC5maWxlc3lzdGVt
LndyaXRlX3RleHRfZmlsZSgnL21vY2stY2hlY2tvdXQvc291cmNlLmpzb24nLCAnWyJhbm90aGVy
IGJhZCBqc29uIl0nKQorICAgICAgICBwb3J0Lmhvc3QuZmlsZXN5c3RlbS53cml0ZV90ZXh0X2Zp
bGUoJy9tb2NrLWNoZWNrb3V0L3NsYXZlLWNvbmZpZy5qc29uJywgJ1siYW5vdGhlciBiYWQganNv
biJdJykKICAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBv
cnQuaG9zdC5maWxlc3lzdGVtLCBleHBlY3RlZF9leGl0X2NvZGU9UGVyZlRlc3RzUnVubmVyLkVY
SVRfQ09ERV9CQURfU09VUkNFX0pTT04pCiAKICAgICBkZWYgdGVzdF9ydW5fd2l0aF9tdWx0aXBs
ZV9yZXBvc2l0b3JpZXMoc2VsZik6CiAgICAgICAgIHJ1bm5lciwgcG9ydCA9IHNlbGYuY3JlYXRl
X3J1bm5lcihhcmdzPVsnLS1vdXRwdXQtanNvbi1wYXRoPS9tb2NrLWNoZWNrb3V0L291dHB1dC5q
c29uJywKICAgICAgICAgICAgICctLXRlc3QtcmVzdWx0cy1zZXJ2ZXI9c29tZS5ob3N0J10pCiAg
ICAgICAgIHBvcnQucmVwb3NpdG9yeV9wYXRocyA9IGxhbWJkYTogWygnd2Via2l0JywgJy9tb2Nr
LWNoZWNrb3V0JyksICgnc29tZScsICcvbW9jay1jaGVja291dC9zb21lJyldCi0gICAgICAgIHNl
bGYuX3Rlc3RfcnVuX3dpdGhfanNvbl9vdXRwdXQocnVubmVyLCBwb3J0Lmhvc3QuZmlsZXN5c3Rl
bSkKKyAgICAgICAgc2VsZi5fdGVzdF9ydW5fd2l0aF9qc29uX291dHB1dChydW5uZXIsIHBvcnQu
aG9zdC5maWxlc3lzdGVtLCB1cGxvYWRfc3VjZWVkcz1UcnVlKQogICAgICAgICBzZWxmLmFzc2Vy
dEVxdWFsKHJ1bm5lci5sb2FkX291dHB1dF9qc29uKCksIHsKICAgICAgICAgICAgICJ0aW1lc3Rh
bXAiOiAxMjM0NTY3ODksICJyZXN1bHRzIjogc2VsZi5fZXZlbnRfdGFyZ2V0X3dyYXBwZXJfYW5k
X2luc3BlY3Rvcl9yZXN1bHRzLAogICAgICAgICAgICAgIndlYmtpdC1yZXZpc2lvbiI6ICI1Njc4
IiwgInNvbWUtcmV2aXNpb24iOiAiNTY3OCIsICJicmFuY2giOiAid2Via2l0LXRydW5rIn0pCg==
</data>
<flag name="review"
          id="175604"
          type_id="1"
          status="+"
          setter="tony"
    />
          </attachment>
      

    </bug>

</bugzilla>